遇到两个问题请教各位大神们:
1,使用non-xip启动,程序下载到nor-flexspi flash里,链接到0x20240000 开始的OCRAM里,感觉工作不了,而且Jlink也连不上,但链接到ITCM里,就可以工作。
2,使用non-xip启动,如果程序超过ITCM的大小,那必须分段链接,但是boot_data里就只能定义一个连续的image,那我这个boot image的头部信息要怎么配置,才能让程序上电后从flash拷贝到不同的ram里。
感谢!
Solved! Go to Solution.
您好,多谢帮助,但还是有疑惑:
1,使用non-xip启动,程序下载到nor-flexspi flash里,链接到0x20240000 开始的OCRAM里,感觉工作不了,而且Jlink也连不上,但链接到ITCM里,就可以工作。
=》Answer: 你下周到flash, 然后链接到OCRAM, 你把OCRAM地址偏移个0X2000, 然后再试下。也就是放到0X20242000.
就像这个SDRAM一样:
然后你再下载,应该可以了。
2,使用non-xip启动,如果程序超过ITCM的大小,那必须分段链接,但是boot_data里就只能定义一个连续的image,那我这个boot image的头部信息要怎么配置,才能让程序上电后从flash拷贝到不同的ram里。
=》Answer: 如果你需要用较大ITCM,你完全可以重新分配flexRAM, 把ITCM搞大一点,其他OCRAM, DTCM搞小一点,这样就可以。
具体参考这个应用笔记:
https://www.nxp.com/docs/en/application-note/AN12077.pdf
=》Question: RT1176 Flexram最大只有512KB吗,ITCM,DTCM,OCRAM三个加起来只能用512KB吗?我的程序有600多K,是不是就不能通过non-xip这种方式全部放到ram里执行了。
Hi @Kris_chao ,
回答你的两个问题:
1,使用non-xip启动,程序下载到nor-flexspi flash里,链接到0x20240000 开始的OCRAM里,感觉工作不了,而且Jlink也连不上,但链接到ITCM里,就可以工作。
=》Answer: 你下周到flash, 然后链接到OCRAM, 你把OCRAM地址偏移个0X2000, 然后再试下。也就是放到0X20242000.
就像这个SDRAM一样:
然后你再下载,应该可以了。
2,使用non-xip启动,如果程序超过ITCM的大小,那必须分段链接,但是boot_data里就只能定义一个连续的image,那我这个boot image的头部信息要怎么配置,才能让程序上电后从flash拷贝到不同的ram里。
=》Answer: 如果你需要用较大ITCM,你完全可以重新分配flexRAM, 把ITCM搞大一点,其他OCRAM, DTCM搞小一点,这样就可以。
具体参考这个应用笔记:
https://www.nxp.com/docs/en/application-note/AN12077.pdf
希望能帮到你!
Best Regards,
Kerry
您好,多谢帮助,但还是有疑惑:
1,使用non-xip启动,程序下载到nor-flexspi flash里,链接到0x20240000 开始的OCRAM里,感觉工作不了,而且Jlink也连不上,但链接到ITCM里,就可以工作。
=》Answer: 你下周到flash, 然后链接到OCRAM, 你把OCRAM地址偏移个0X2000, 然后再试下。也就是放到0X20242000.
就像这个SDRAM一样:
然后你再下载,应该可以了。
2,使用non-xip启动,如果程序超过ITCM的大小,那必须分段链接,但是boot_data里就只能定义一个连续的image,那我这个boot image的头部信息要怎么配置,才能让程序上电后从flash拷贝到不同的ram里。
=》Answer: 如果你需要用较大ITCM,你完全可以重新分配flexRAM, 把ITCM搞大一点,其他OCRAM, DTCM搞小一点,这样就可以。
具体参考这个应用笔记:
https://www.nxp.com/docs/en/application-note/AN12077.pdf
=》Question: RT1176 Flexram最大只有512KB吗,ITCM,DTCM,OCRAM三个加起来只能用512KB吗?我的程序有600多K,是不是就不能通过non-xip这种方式全部放到ram里执行了。
Hi @Kris_chao
Question: RT1176 Flexram最大只有512KB吗,ITCM,DTCM,OCRAM三个加起来只能用512KB吗?我的程序有600多K,是不是就不能通过non-xip这种方式全部放到ram里执行了。
=>Answer: 用OCRAM吧, 你看下SDK和RT1170RM就明白了。
OCRAM1, OCRAM2地址连续,512K+512K, 够你用了。
你可以试试看。
Best Regards,
Kerry