我不打算去更改其中的内容,只是想把数据放在Flash中指定的位置,然后通过指针来访问。希望专家回答一下,感激不尽。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
帖子中是放在RAM当中的,我的想法是放在Flash当中。
我在CMD文件中设置了对应的长度和SECTION,然后再使用#pragma DATA_SECTION。
和您给我的参考帖子不同的是我想保存的位置是在Flash当中,然而我使用Memory map来查看对应地址 存放的值,却全都是0xFFFF
我的设置是否有问题,如下
CMD文件
//MEMORY
IAP_UPDATE_CHECK1 : origin = 0x081002, length = 0x000002
//SECTIONS
DATA_CHECK : > IAP_UPDATE_CHECK1
程序文件
#include ***
#pragma DATA_SECTION(data_check, "DATA_CHECK");
uint16_t data_check[] = {0x1234,0x5678};
嗯?我倒没注意你是要放flash里面。
但是数组、变量之类的数据不都是放在ram的吗?你要是想放在flash的话就是要动用flash API函数,把数据写在flash上了。
而且要在flash的固定位置的话这个我确实没操作过,找到一个帖子你看看是否有帮助:
感谢您的回答,我已经成功解决了,方法是将SECTIONS当中的>替换为 load = ,以及在定义的全局变量前添加const修饰。