查看: 8044|回复: 8

[求助] rt1011修改felxram死机

[复制链接]

该用户从未签到

8

主题

30

帖子

0

中级会员

Rank: 3Rank: 3

积分
461
最后登录
2021-2-27
发表于 2020-8-6 10:04:21 | 显示全部楼层 |阅读模式
程序需要更新AN12077_Using the i.MX RT FlexRAM.pdf 修改内存,DTCM=96 OCRAM =32 ITCM = 0,
进入SystemInit之前在startup_MIMXRT1011.s中添加如下代码,程序会死机 芯片会锁死,需要使用j-link工具解锁
;remap tcm
LDR R0, =0x400AC044 ;GPR17
LDR R1, =0x0000007F ;config flexram fun 96KB DTCM 32KB OCRAM
STR R1, [R0]
LDR R0, =0x400AC040 ;GPR16
LDR R1, =0x00200007 ;enable flexram config
STR R1, [R0]
LDR R0, =0x400AC038 ;GPR14
LDR R1, =0x00880000 ;reset TCM Size
STR R1, [R0]
;end

.SCF 文件改为
RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
.ANY (+RW +ZI)
* (RamFunction)
* (NonCacheable.init)
* (NonCacheable)
}

不知哪里出了问题程序会死机,甚至锁死

回复

使用道具 举报

该用户从未签到

8

主题

30

帖子

0

中级会员

Rank: 3Rank: 3

积分
461
最后登录
2021-2-27
 楼主| 发表于 2020-8-7 09:14:36 | 显示全部楼层
哈哈 顶一顶
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24864
最后登录
2025-7-18
发表于 2020-8-7 13:50:01 | 显示全部楼层
本帖最后由 小恩GG 于 2020-8-7 13:52 编辑

楼主你好!
你使用的IDE 是MDK对吗?
关于flexRAM的修改,你参考的AN给出的是IAR的方式,这些我有试过,还有MCUXPresso的方式我也试过,没有什么问题,所以不知道你是否可以试下IAR或者MCUXpresso,看看是否能够运行通过。
https://www.nxpic.org.cn/module/forum/thread-619452-1-1.html
https://www.nxpic.org.cn/module/forum/thread-620459-1-1.html
你修改之后,MPU里面的OCRAM, ITCM, DTCM的区域也要改变下,还有你选择的RAM大小,需要是2的幂次方,不然也会有问题。
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24864
最后登录
2025-7-18
发表于 2020-8-7 13:51:35 | 显示全部楼层
关于MDK的,我看到刚刚我上面帖子里面有网友自己做了FlexRAM的重新分配:
看到网友留言,你也可以试试网友的方法:
楼主不用MDK吗?用的话,方不方便出个MDK的教程。
后记:
我自己已经搞定了,就是参考了楼主的方法。我的代码超过了128KB,无法在ITCM里面debug,所以我的目的是把ITCM修改为256KB。
1、MPU初始化的地方需要修改大小
2、分散加载文件里面的大小需要修改
3、我直接在system_init的最开始的地方,加入了楼主的那4段代码,GPR17 16 14。
4、在mdk debug initialization file里面,在LOAD %L INCREMENTAL这句执行的前面,增加了一个函数,这个函数的意义就是步骤3的内容。

如果不做步骤4,程序在DEBUG下无法调试,但是竟然可以运行,就是什么都看不到。做了步骤4后目前DEBUG一切正常
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

30

帖子

0

中级会员

Rank: 3Rank: 3

积分
461
最后登录
2021-2-27
 楼主| 发表于 2020-8-7 14:54:19 | 显示全部楼层
小恩GG 发表于 2020-8-7 13:50
楼主你好!
你使用的IDE 是MDK对吗?
关于flexRAM的修改,你参考的AN给出的是IAR的方式,这些我有试过,还 ...

我用的是KEIL 5.31
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

30

帖子

0

中级会员

Rank: 3Rank: 3

积分
461
最后登录
2021-2-27
 楼主| 发表于 2020-8-10 11:22:21 | 显示全部楼层
重新使用sdk的工程 ,修改了下,没有死机,但是不能debug了,出现下面问题,https://www.nxpic.org.cn/module/ ... amp;fromuid=3399058
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24864
最后登录
2025-7-18
发表于 2020-8-10 16:06:19 | 显示全部楼层
402227912 发表于 2020-8-10 11:22
重新使用sdk的工程 ,修改了下,没有死机,但是不能debug了,出现下面问题,https://www.nxpic.org.cn/module/f ...

不能debug之后,如果直接运行,代码功能是否能工作?
不知道你那边使用的是什么debugger,这个可能还是要查看下debugger相关的脚本。
我之前用MCUXPresso IDE,是由脚本需要修改,不过MDK的这个还需要再查看下。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

30

帖子

0

中级会员

Rank: 3Rank: 3

积分
461
最后登录
2021-2-27
 楼主| 发表于 2020-8-10 16:32:02 | 显示全部楼层
小恩GG 发表于 2020-8-10 16:06
不能debug之后,如果直接运行,代码功能是否能工作?
不知道你那边使用的是什么debugger,这个可能还是要 ...

我是直接使用KEIL debug的,一般直接点击即可,不需要修改什么东西,自从修改了 flexram就会这样,不知道需要修改哪些参数
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24864
最后登录
2025-7-18
发表于 2020-8-10 17:03:01 | 显示全部楼层
402227912 发表于 2020-8-10 16:32
我是直接使用KEIL debug的,一般直接点击即可,不需要修改什么东西,自从修改了 flexram就会这样,不知道 ...

你是什么debugger?我这边找时间试一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 08:13 , Processed in 0.096113 second(s), 27 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表