imxrt1052 flexram配置
imxrt1052的ram默认配置是256k ocram,128k DTCRAM ,128K ITCRAM
现在修改为128K OCRAM 256K DTCRAM 128K ITCRAM
1.首先修改启动文件
Reset_Handler:
cpsid i /* Mask interrupts */
//memory config 只有16种配置,不能随意配置
//IOMUX_GPR17 = 0B 0101 1010 1010 1111 1111 1010 1010 0101 0x5aaffaa5
// O O D D D D I I I I D D D D O O
// O: OCRAM D: DTCRAM I: ITCRAM
// OCRAM 432K = 128K DTCRAM 832K = 256K ICRAM 432K=128K /
LDR R0, =0x400AC044/IOMUX_GPR17/
LDR R1, =0x5AAFFAA5/CONFIG FLEXRAM/
STR R1, [R0]
//IOMUX_GPR14 |= (8<<16)|(9<<20);
//设置ram大小 ITCRAM 128K DTCRAM 256K
LDR R0, =0x400AC038/IOMUX_GPR14/
/IOMUX_GPR14 = IOMUX_GPR14 & 0X00FFFF/
LDR R2,[R0]
LDR R3, =0X00FFFF
AND R1,R2,R3
STR R1,[R0]
/* 10:512K 9: 256K 8:128K 7:64K 6:32K 5:16K 4:8K 3:4K 0:0K /
LDR R1, =0X08
MOV R2,R1,LSL#16 / 0X08 << 16 ITCRAM*/
/* 10:512K 9: 256K 8:128K 7:64K 6:32K 5:16K 4:8K 3:4K 0:0K /
LDR R1, =0X09
MOV R3,R1,LSL#20 / 0X09 << 20 DTCRAM*/
ORR R1,R2,R3
LDR R2,[R0]
ORR R1,R1,R2
STR R1, [R0]
/IOMUX_GPR16 |= 0X07/
LDR R0, =0x400AC040
LDR R1,[R0]
ORR R1,R1,#0X07 /ENABLE FLEXRAM /
STR R1, [R0]
/end memory config/
.equ VTOR, 0xE000ED08
ldr r0, =VTOR
ldr r1, =__Vectors
str r1, [r0]
ldr r2, [r1]
msr msp, r2
ldr r0,=SystemInit
blx r0
cpsie i /* Unmask interrupts */
ldr r0,=__main
bx r0
2.修改链接文件

浙公网安备 33010602011771号