gpt4 book ai didi

c - 访问 typedef 结构元素

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:42 25 4
gpt4 key购买 nike

我已经声明了一个 tydef 结构,如下所示。

#define START_ADDR 0xXXXXX
typedef struct{
uint32_t checksum;
uint16_t index[len];
} block;

我使用以下语句更改了 block 的内存分配:

block *value = (block*) START__ADDR;

我也验证了内存分配的变化,没有问题。现在我正在尝试使用

更新校验和的值
value->checksum=0xa5a5a5a5;

但是校验和的值为 0x00000000 并且没有更新为 0xa5a5a5a5。谁能告诉我如何更改校验和的值。

提前致谢。

问候维巴夫

最佳答案

您不能像写入 RAM 一样写入闪存,仅此而已。闪存是ROM。这就是为什么在闪存中分配的所有变量是/必须是 const 限定的,这意味着只读。

可以更改闪存,您的部件可以为此目的配备专用的数据闪存/eeprom。但是写入内存的这些部分并不是编译器会为您做的事情。你需要自己写一个flash编程驱动。同样,您必须研究手册 + 应用说明中的闪存编程部分。

关于c - 访问 typedef 结构元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com