RT1011重新分配RAM会死机

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

RT1011重新分配RAM会死机

2,020 次查看
tim-wei
Contributor I

程序需要更新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)
}

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

标签 (1)
标记 (2)
0 项奖励
回复
3 回复数

1,951 次查看
jay_heng
NXP Employee
NXP Employee

工程是XIP吗?这段重新分配FlexRAM的汇编代码执行位置在哪?

芯片锁死,需要Jlink解锁, 这个是什么现象?Jlink怎么解锁的?

0 项奖励
回复

1,951 次查看
tim-wei
Contributor I

现在虽然不死机,重启后正常运行 ,但是使用keil mdk 不能调试,想要调试就出出现

捕获.PNG

捕获2.PNG

0 项奖励
回复

1,951 次查看
jay_heng
NXP Employee
NXP Employee

我感觉是Keil MDK的下载算法需要消耗ITCM(算法就是个可执行文件,需要在下载工程前先往ITCM里load),而现在没有ITCM可用导致了无法调试

看看Keil工程选项里能不能重设下载算法的执行位置

0 项奖励
回复