у меня есть полностью рабочий пример hello_world c запуском c SDRAM.
CONFIG_NXP_FLEXSPI_ROM_RAMLOADER=y
/delete-node/ &sdram0;
/ {
chosen {
zephyr,flash = &sdram_code;
zephyr,sram = &sdram_data;
};
/* Divide SDRAM into two partitions for Code and Data */
/* Micron MT48LC16M16A2B4-6AIT:G */
sdram_code: memory@80000000 {
device_type = "memory";
reg = <0x80000000 DT_SIZE_M(16)>;
};
sdram_data: memory@81000000 {
device_type = "memory";
reg = <0x81000000 DT_SIZE_M(16)>;
};
};
prj.conf
# Generate HEX file to confirm addresses written to flash
CONFIG_BUILD_OUTPUT_HEX=y
Kconfig
if NXP_FLEXSPI_ROM_RAMLOADER
# Adjust LMA when zephyr,flash is in SDRAM
FLASH_CHOSEN := zephyr,flash
FLASH_BASE := $(dt_chosen_reg_addr_hex,$(FLASH_CHOSEN))
FLEXSPI_BASE := $(dt_nodelabel_reg_addr_hex,flexspi,1)
config BUILD_OUTPUT_ADJUST_LMA
default "0x100000000 - $(FLASH_BASE) + $(FLEXSPI_BASE)"
endif # NXP_FLEXSPI_ROM_RAMLOADER
source "Kconfig.zephyr"
при этом в финальном конфиге CONFIG_XIP=y
если я собираю в своём проекте такую связку, то получаю:
zephyrproject/zephyr/build_rt1024/build_pjsip/zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
SDRAM: 0 GB 16 MB 0.00%
FLASH: 2136076 B 16 MB 12.73%
RAM: 327052 B 16 MB 1.95%
ITCM: 0 GB 64 KB 0.00%
DTCM: 106624 B 128 KB 81.35%
OCRAM: 0 GB 64 KB 0.00%
IDT_LIST: 0 GB 32 KB 0.00%
Generating files from /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/build_rt1024/build_pjsip/zephyr/zephyr.elf for board: mimxrt1024_evk
/home/vovan/ZEPHYR_RTOS/zephyrsdk/zephyr-sdk-0.16.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-objcopy: zephyr.elf: error in private header data: sorry, cannot handle this file
если включаю CONFIG_XIP=n:
[805/805] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
SDRAM: 0 GB 16 MB 0.00%
FLASH: 0 GB 16 MB 0.00%
RAM: 2416012 B 16 MB 14.40%
ITCM: 0 GB 64 KB 0.00%
DTCM: 106624 B 128 KB 81.35%
OCRAM: 0 GB 64 KB 0.00%
IDT_LIST: 0 GB 32 KB 0.00%
Generating files from /home/vovan/ZEPHYR_RTOS/zephyrproject/zephyr/build_rt1024/build_pjsip/zephyr/zephyr.elf for board: mimxrt1024_evk