[英]Accessing typedef struct elements
我已经声明了tydef结构,如下所示。
#define START_ADDR 0xXXXXX
typedef struct{
uint32_t checksum;
uint16_t index[len];
} block;
我使用以下语句更改了块的内存分配:
block *value = (block*) START__ADDR;
我也验证了内存分配的更改,并且没有问题。 现在我正在尝试使用更新校验和的值
value->checksum=0xa5a5a5a5;
但是校验和的值为0x00000000,并且没有更新为0xa5a5a5a5 。 谁能告诉我如何更改校验和的值。
提前致谢。
关于维拜
您无法像写入RAM一样写入闪存,仅此而已。 闪存为ROM。 这就是为什么您在flash中分配的所有变量都是/必须是const
限定的,这意味着只读。
可以更换闪存,并且为此您的部件可以具有专用的数据闪存/ eeprom。 但是,写入存储器的这些部分并不是编译器为您完成的工作。 您需要自己编写一个闪存编程驱动程序。 与之类似,您必须研究手册+应用笔记中的Flash编程部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.