在线时间2262 小时
UID3253523
注册时间2016-3-21
NXP金币603
该用户从未签到
超级版主
 
- 积分
- 27244
- 最后登录
- 2026-3-31
|
发表于 2019-1-7 11:12:09
|
显示全部楼层
楼主你好,感谢你对NXP I.MX RT产品的关于与支持,下面由我为你提供技术解答。
1. 是否可以外部QSPI Flash存放图片数据?
可以在外部的QSPI NOR flash里面存放图片数据。
2. 这颗存放代码的QSPI FLASH必须是8MByte?看到keil工程里的烧录算法都是8MByte
如果你使用的是官方的MIMXRT1052-EVKB开发板,那么只能8MByte,原因是该开发板板载的QSPI flash型号是ISSI IS25WP064AJBLE,这颗芯片的内存是64Mbit/8Mbyte。
而你看到的keil工程的烧录算法也是8Mbyte,因为是和该开发板的板载QSPI FLASH配套的。
不过,你完全不需要担心的这个问题,而且实际上从RT1052参考手册上,你可以看到,支持的代码大小远远不止8MByte。
在RT1052可支持的502MB范围内,实际具体大小,由你外的QSPI flash的大小决定,所以如果你想使用大于8MBbyte,你可以选择大一些的FLASH,比如ISSI 的IS25WP128, 16MB,或者更大。
关于算法,我这里推荐一个MDK 的QSPI 算法代码,附件源码:
链接: https://pan.baidu.com/s/15LYeUSMYgduJf2l6EPC_7Q 密码: h84q
来自我们的FAE的经验,你可以参考下,你可以修改里面FlashDev.c的大小,并且根据你用的QSPI手册注意下FlashPrg.c Init函数。
下面是关于这个算法的使用方法:
首先将附件中的工程解压到C:\Keil_v5\ARM\Flash\路径下,打开Flash\MIMXRT_v1.1目录下面的工程(刚打开后会提示找不到型号,默认选择ARM Cortex-M0内核,这个不需要修改,因为M0的指令集是M7的子集,而涉及到
Flash烧写的指令都是M0指令集就可以cover的),里面我默认创建了三个工程选项即EVK板载的HyperFlash算法,GD 3.3v QSPI Flash和WinbondQSPI Flash,打开FlashPrg.c找到如下红色标注的地方,这里面我列出了根据QE
位所在位置分类的配置,即如果是GD 3.3v QSPI Flash的话,如上面第2点我说的首先它所在的位置为状态寄存器的第1位上,另外这个位还需要单独的0x31命令去访问,所以相应的option0.U所在位需要改成4,同理如果是
Winbond QSPI Flash则需要改成2,具体见如下截图后者直接参考附件源码,最后编译整个工程即可在C:\Keil_v5\ARM\Flash\目录下找到生成好的.FLM文件了。
修改后MDK算法生成.flm之后,还需要修改你app XIP下面的flexspi_nor_config.c 的qspiflash_config, 里面相关flash size也改成你对应的大小。
3. 大家都是通过什么方式把图片数据烧录到FLASH里的
可以在工程里面把图片数据放到具体的QSPI FLASH对应的地址,这样下载代码的时候可以一并下载进QSPI FLASH中,也可以参考2楼的建议,批量用外部的烧录器烧录到QSPI FLash。
|
|