本质上也是flash,只不过用来保存掉电数据。区间为0x00500000-5ff,1.5k。它的操作模式与代码区64k flash的操作一样,都由FMC管理控制。利用厂家提供的驱动就可以flash.h。
只不过要注意,写入的时候要先擦除然后再写入,这是flash的通行做法,原因是只能将1改为0,反向不行。
还有一个小问题,厂家带的驱动计算sz参数如果用sizeof计算的话会有问题,我用sizeof计算一个int类型的变量得出的结果是4,这本来应该是2。可能跟函数原型定义中sz为uint32_t有关。
采用polling检查完成标志的话在中断函数里执行写入也没有问题。