Цитата(ViKo @ Jun 18 2018, 15:28)

Я описываю структуры typedef-ми. Их точно никто никуда не кладет.
Во времена поголовно-си++ компиляторов typedef в этом случае - анахронизм. Ну если так больше нравится, то без разницы, можно и с typedef.
Цитата(ViKo @ Jun 18 2018, 15:28)

Адрес как берете? Макрос покажите. Как взять адрес того, что нигде не лежит?
Вроде всё очевидно.....
Код
struct DFLASH {
u8 firmware[8];
u8 fifoJournal1[6];
u8 fifoJournal2[12];
u8 fifoJournal3[7];
};
#define DFLASHoffset(member) ((size_t)&((DFLASH *)NULL)->member)
#define DFLASHsize(member) sizeof(((DFLASH *)NULL)->member)
#define DFLASHoffsetSize(member) DFLASHoffset(member), DFLASHsize(member)
в коде:
Код
//Чтение len байт данных в *data из DFLASH начиная с адреса addr
void DflashRead(u32 addr, u32 len, void *data)
{
...
}
читаем первую страницу образа прошивки:
Код
DflashRead(DFLASHoffset(firmware), DFLASHsize(firmware[0]), buf);