Hi @jeremyzhou
我想把RT1064的OCRAM调整至1MB(之前默认的配置是768KB, 128KB, 128KB),参考了相关的文档及帖子后调整步骤如下:
1、RsetISR中对FlexRAM调整
2、XIP文件中做出相应修改
3、IDE中做出调整
4、MPU中做出调整
这一步我取消了ITCM与DTCM,所以在MPU中取消了这两部分,并且后面的序号顺延,这部分的修改是否会有问题?
5、编译并且调试
最终调整后可以正常编译,并且Jlink可以正常连接,但是每次运行到FreeRTOS创建任务时就飞掉,而用之前默认的内存映射就可以正常运行,可以帮助我分析一下吗?谢谢!
Hi,
非常感谢使用NXP产品,很高兴为你提供技术支持!
建议参考此篇经验分享来完成FlexRAM重新配置:
https://www.nxpic.org.cn/module/forum/thread-619452-1-1.html
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
我看了下链接,有两个疑问:
1,RT1050_connect_128Kocram_128Kitcm_256Kdtcm.scp
我看文章里用的linkserver来debug的,这个文件对于Jlink来说也是一样需要的吗?
2,如果我想把ITCM跟DTCM调整为0,MPU该如何调整?这两段直接去掉吗?别的段需不需要跟着调整?
Hi,
感谢回复。
1) 我看文章里用的linkserver来debug的,这个文件对于Jlink来说也是一样需要的吗?
-- 是的。
2 )如果我想把ITCM跟DTCM调整为0,MPU该如何调整?这两段直接去掉吗?别的段需不需要跟着调整?
-- ITCM和DTCM就无需调整,OCRAM部分还是还是要调整的,多问一句,你为什么要把ITCM跟DTCM调整为0,因为其他客户往往是要增大它们的空间。
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
1、脚本文件错误
设置Jlink的脚本文件是按如下的方式吗?
我把参考文档中的的脚本文件直接放了进入,但是Jlink连接的时候似乎报语法错误,根本无法解析?
2、内存不够
我现在移植一个C++项目,目前内存比较紧张,FreeRTOS需要使用大量的Heap,又不太希望扩展SDRAM,所以希望把ITCM与DTCM都并到OCRAM来当普通内存使用。
Hi,
感谢回复!
我这边对evkmimxrt1064_freertos_generic工程进行了跟你一样的FlexRAM配置,基本流程就是https://www.nxpic.org.cn/module/forum/thread-619452-1-1.html
给出的,debug工程没啥问题,退出debug后,工程启动运行也是正常的。
我建议重新按照流程检查一下。
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
你的这个RT1064_connect_new.scp是改的链接里的scp的吗?我试了好多次一直这样,一直都不认这个脚本,而且我发现你的配置界面跟我的有些区别?
我现在已经可以正确的把OCRAM调整至1MB了,但是我发现把TCM设置成0后Jlink调试时只能下载一次代码,后面再也无法下载代码,也不能擦除,必须切换到Serial download 模式擦除后再切回来,然后再下一次代码,每次都需在两个模式切换,似乎jlink的下载算法里有使用到TCM?跟如下的问题一样:
https://www.nxpic.org.cn/module/forum/thread-620523-1-1.html
那个scp脚本是为了解决这个问题的吗?
我发现把TCM设置成0后,Jlink调试时只能下载一次代码,后面再也无法下载代码,也不能擦除,必须切换到Serial download 模式擦除后再切回来,然后再下一次代码,每次都需在两个模式切换。似乎jlink的下载算法里就是通过scp配置了RAM Code加载到ITCM中,而因为我把TCM禁掉了,所以没有办法加载RAM Code,导致无法擦除及编程?
关键是我试了好多次,jlink感觉连脚本的语法都检测不过,邪门了。
烧写时,烧写算法占用ram空间为0x2000000地址,但是你在启动后将0x20000000 DTCM段设置为0,就会出现这种问题,无法在启动后再次烧写,根据我的经验可以通过下面的方式解决
切换非flash启动方式后,重新上电,让flash中设置flexram配置代码不运行,然后在执行烧写操作;
Hi,
感谢回复!
我上传了我测试过的工程和对应Scp文件,你可以参考一下。
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------