hardware: imxrt1052 + is25lp064(code flash)
我现在测试romapi的使用,调用erase_sector 返回0.然后调用写入时,可能是重启了,停留到前面断点处(erase_sector ),通过多种途径查找和配置都不正常。目前不知道如何解决该问题,不确定是flash的配置问题,抑或是软件问题。测试过程中执行了附件中的flash_test这个函数。其中测试区域和测试程序运行区域均在code flash上,但不会重叠。
参考了sdk包的romapi的例程,读写都可以了。但是存在romapi init后再次init的时候就报错,也没有提供deinit的接口,感觉不太好用。打算换种方式试试
Hi @ccc_clive ,
您的问题有可能是Cache导致的,请您检查您的flash erase代码是否有disable cache操作。
请参考SDK demo “evkbimxrt1050_flexspi_nor_polling_transfer” 中flexspi_nor_flash_erase_sector 函数操作
Best Regards
MayLiu
感谢您关注恩智浦系列产品,很高兴为您服务。
在AN12564中有描述,需要将将闪存写入函数分配到其他存储器(当前正在写入的闪存除外,通常分配到内部SRAM)。
所以建议您可以参考例程“evkbimxrt1050_flexspi_nor_polling_transfer”.