项目中从NAND flash 读出的的临时数组 数据经常变化怎么办
比如定义
NAND_ADDRESS HandAddr;//片外手动操作地址
uint8_t HandBuffer [200]; //手动操作临时数组
还有类似的别的存储,
在查询别的NANFLASH地址数据时候, 经常把
HandBuffer [200]; 里边的内容改变, 至今不知什么原因,
想了办法
把数据定义成
volatile uint8_t HandBuffer [200]; //手动操作临时数组 ,
在另外一个文件是使用HandBuffer [200];
extern volatile uint8_t HandBuffer [200]; //手动操作临时数组 ,
可是编辑出现警告什么原因
....UserEthernetInternet cp_demo.c(1192): warning: #167-D: argument of type "volatile uint8_t *" is incompatible with parameter of type "uint8_t *"
....UserEthernetInternet cp_demo.c(1205): warning: #167-D: argument of type "volatile uint8_t *" is incompatible with parameter of type "void *restrict"
谢谢你的指点。
定义了数组是200个
下角标最大是[117]个,应该不是越界,
因为在查询别的 NANDFLASH 数据 有的能改写HandBuffer [200]; 数组里的变量, 有的不能改写
愁人, 现在用最笨的方法, 用之前要进行从NANDFLASH 读一遍。
command 填的是,断点触发后,要执行的动作,保持为空即可。
ARM开发工具RealView_MDK使用入门—李宁 PDF版
下载这本书,里面 12.2.1 断点对话框,有比较详细点的描述。
没有设置成功, 只能找到相关的函数,
各位在主循环中不断的进行读操作 ,理论上是对NANDFLASH 没有伤害的, 只有擦除和写有伤害
还是对不断读取有点担心, 各位用过的大师,这样可以吗
FSMC_NAND_ReadSmallPage (RxBuffer, WriteReadAddr, 1);
FSMC_NAND_ReadSpareArea (RxBuffer1, WriteReadAddr, 1);
好像是越界了,
FSMC_NAND_ReadSmallPage (RxBuffer, WriteReadAddr, 1);
解释好像数读整个页地址, 512
FSMC_NAND_ReadSpareArea (RxBuffer1, WriteReadAddr, 1);
好像解释读固定区域的
现在只能在试一试了
一周热门 更多>