为ATSAME54 MCU在C中的特定内存位置创建数据结构



我正在开发一个ATSAME54 Xplained Pro板,该板具有SmartEEPROM,SEEPROM_ADDR=(0x44000000(和USER_PAGE_ADD=000804000。

电表连接到一个核心,GSM连接到另一个核心。我想把从电表接收到的所有类型的数据值写入这个内存地址,这样其他核心就可以读取它

有人能帮我想办法吗?如何在特定地址创建指向结构的指针?

以下内容仅用于写入int值,但我想为所有类型的数据创建结构,并将地址分配给结构。

uint32_t *SmartEEPROM32     = (uint32_t *)SEEPROM_ADDR;

以下是的操作方法

typedef struct object{ int obj1; float obj2; char obj3[10];} foo;
foo* SmartEEPROM32     = (foo *)SEEPROM_ADDR;
SmartEEPROM32->obj2 = 2.5;

请注意,typedef不是必需的,但可以保存两次键入struct object

这是否意味着结构地址从SEEPROM_ADDR=(0x44000000(开始。?我试过了,但数据没有保存在那个位置。

最新更新