Size: a a a

2020 July 22

L

LexsZero in Embedded Group
whatever floats your boat
источник

L

LexsZero in Embedded Group
я вообще в виме на plantuml примерно все рисование делаю
источник

DM

Dmitry Madzhuga in Embedded Group
Всем привет. Хьюстон Гайз, ви ай хэв э проблем. Хелп плиз )

Есть некий define со значением 32бита, где старший бит 1. И когда мы его присваиваем в UINTPTR, то он конечно же делает расширение знака, т.к. система 64-х разрядная. Ну собственно чего в корне не надо. Какие идеи есть как от этого отвертеться? Компилятор GCC.
источник

L

LexsZero in Embedded Group
не использовать дефайн?
источник

DM

Dmitry Madzhuga in Embedded Group
Он генерится скриптом. И у меня это входной файл на который я опираюсь. Тут без вариантов.
источник

D

Dr Zlo in Embedded Group
Dmitry Madzhuga
Всем привет. Хьюстон Гайз, ви ай хэв э проблем. Хелп плиз )

Есть некий define со значением 32бита, где старший бит 1. И когда мы его присваиваем в UINTPTR, то он конечно же делает расширение знака, т.к. система 64-х разрядная. Ну собственно чего в корне не надо. Какие идеи есть как от этого отвертеться? Компилятор GCC.
integer-suffix добавить?
источник

DM

Dmitry Madzhuga in Embedded Group
Пробовал, не помогает.
источник

D

Dr Zlo in Embedded Group
0x123456u
источник

DM

Dmitry Madzhuga in Embedded Group
ULL и LL
источник

DM

Dmitry Madzhuga in Embedded Group
не то пальто
источник

D

Dr Zlo in Embedded Group
покажи присваивание и дефайн
источник

DM

Dmitry Madzhuga in Embedded Group
источник

DM

Dmitry Madzhuga in Embedded Group
#define DDR4_1_BASEADDR 0x80000000
UINTPTR addr = DDR4_1_BASEADDR;
источник

DM

Dmitry Madzhuga in Embedded Group
ну допустим вот
источник

DM

Dmitry Madzhuga in Embedded Group
после присваивания в addr будет 0xFFFFFFFF80000000
источник

СС

Сиие Сууие in Embedded Group
Dmitry Madzhuga
Всем привет. Хьюстон Гайз, ви ай хэв э проблем. Хелп плиз )

Есть некий define со значением 32бита, где старший бит 1. И когда мы его присваиваем в UINTPTR, то он конечно же делает расширение знака, т.к. система 64-х разрядная. Ну собственно чего в корне не надо. Какие идеи есть как от этого отвертеться? Компилятор GCC.
А (уинт32_т)ДЕФАЙН при присвоении не помогает?
источник

A

Alexander in Embedded Group
((uint32_t)0x80000000) по идее должно работать
источник

DM

Dmitry Madzhuga in Embedded Group
Неа
источник

DM

Dmitry Madzhuga in Embedded Group
Только что проверил
источник

L

LexsZero in Embedded Group
Dmitry Madzhuga
#define DDR4_1_BASEADDR 0x80000000
UINTPTR addr = DDR4_1_BASEADDR;
UINTPTR addr = (DDR4_1_BASEADDR) & 0xFFFFFFFF
don't try to be smart
источник