有谁知道,TM4C1294NCPDT可供用户自行存储数据的地址操作范围吗? 谢谢啊!
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.
我用的是 FlashProgram()函数, 地址选择 0xefff0 , 存储不同的数值 返回的值有时候1,有时候0,不知道是不是超出了可以使用的范围了。
我用的是 FlashProgram()函数,地址为0xefff0时 ,写不同的值进去有时候返回的值为-1,有时候返回0正常,不知道为什么有时候写不进去
#define FLASH_STORE_START_ADDR 0x20000
#define FLASH_STORE_END_ADDR 0x40000
以TM4C123x为例,这是flash的起始地址,你的那个地址明显偏大了,应该是从0x20000开始的。
现在有个现象,就是我试了小到大的地址,都有个共同点,第一次都可以写进去,查看地址对应的值也是我存的,然后第二次再写进去的时候,FlashErase和FlashProgram返回的值都是0,然后查看地址对应的值却不是我写的,而是之前的值(非0xff),然后重新烧写程序,芯片还没有启动的时候,查看地址对应的值变成了我之前想要写的值了,这是怎么回事呢?
应该是你某一步的操作不对吧,对于flash中的值,你可以试试写完后,断电重启,再次进去的时候读取写入的值,然后串口打印看看。怀疑是你debug模式引起的。
厉害,一眼就看出来了,我用的是IAR,确实写进去了,只是在IAR上面看地址对应的值没有更新,其实已经写进去了,打印出来正是我写进去的。