CONFIG_NXP_FLEXSPI_ROM_RAMLOADER=y
3. Added boards/mimxrt1064_evk.overlay.
/ {
chosen {
zephyr,flash = &sdram_code;
zephyr,sram = &sdram_data;
};
};
&sdram0 {
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
/* Divide SDRAM into two partitions for Code and Data */
sdram_code: memory@0 {
device_type = "memory";
reg = <0x00000000 DT_SIZE_M(16)>;
};
sdram_data: memory@1000000 {
device_type = "memory";
reg = <0x01000000 DT_SIZE_M(16)>;
};
};
Memory region Used Size Region Size %age Used
SDRAM: 0 GB 32 MB 0.00%
FLASH: 32822 B 32 MB 0.10%
RAM: 4288 B 16 MB 0.03%
<Text start region>
text 0x00000000000022c0 0x3648
0x00000000000022c0 __text_region_start = .
<Text end region>
0x0000000000005908 . = ALIGN (0x4)
0x0000000000005908 __text_region_end = .
<Data start region>
datas 0x0000000001000000 0x1c load address 0x0000000080008000
0x0000000001000000 __data_region_start = .
0x0000000001000000 __data_start = .
<Data end region>
0x0000000001000032 _net_buf_pool_list_end = .
0x0000000001000032 __data_region_end = .
Solved! Go to Solution.
@mastergbc Can you try adding address translation for the child nodes?
I believe that the address translation was either performed automatically or the child nodes were indexing into the parent node in a previous version of zephyr.
&sdram0 {
ranges = <0x00000000 0x80000000 DT_SIZE_M(32) >;
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
/*Divide SDRAM into two partitions for Code and Data */
sdram_code: memory@0 {
device_type = "memory";
reg = <0x00000000 DT_SIZE_M(16)>;
};
sdram_data: memory@1000000 {
device_type = "memory";
reg = <0x01000000 DT_SIZE_M(16)>;
};
};
The ranges property will translate the base address in SDRAM to the CPU address.
@mastergbc Can you try adding address translation for the child nodes?
I believe that the address translation was either performed automatically or the child nodes were indexing into the parent node in a previous version of zephyr.
&sdram0 {
ranges = <0x00000000 0x80000000 DT_SIZE_M(32) >;
#address-cells = < 0x1 >;
#size-cells = < 0x1 >;
/*Divide SDRAM into two partitions for Code and Data */
sdram_code: memory@0 {
device_type = "memory";
reg = <0x00000000 DT_SIZE_M(16)>;
};
sdram_data: memory@1000000 {
device_type = "memory";
reg = <0x01000000 DT_SIZE_M(16)>;
};
};
The ranges property will translate the base address in SDRAM to the CPU address.
Hi @mastergbc ,
Thanks for your interest in NXP MIMXRT series!
I followed the Chapter 3.3.2 and had the same issue. I am asking for expert help to confirm this issue, please wait for my news. Thanks!
Best regards,
Gavin