你好,使用AM4379,裸机开发,没有外挂DDR,只挂接了QSPI和SD卡,编译bootloader,生成bootloader_boot_qspi_a9host_debug_ti.bin,固化无法启动,找了很长时间没有找到原因,因为修了LDS文件,把运行地址NOR_MEM改成OCMCRAM,如下图,启动正常,不知道为什么,难道NOR_MEM是不可用的吗?
MEMORY
{
DDR0 : o = 0x80000000, l = 0x10000000 /* 256MB external DDR Bank 0 */
OCMCRAM : o = 0x402F4000, l = 0x2FC00 /* 256KB of internal RAM */
NOR_MEM : o = 0x30000000, l = 0x3FFFFFF /* 64 MB of NOR flash memory */
}
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SECTIONS
{
.startcode :
{
. = ALIGN(4);
*sbl_init.o (.text)
} >OCMCRAM
.text :
{
. = ALIGN(4);
*(.text*)
*(.rodata*)
} >OCMCRAM
.data :
{
. = ALIGN(4);
_data_start = .;
*(.data*)
_data_end = .;
} >OCMCRAM AT > OCMCRAM
.bss :
{
. = ALIGN(4);
_bss_start = .;
*(.bss*)
*(COMMON)
_bss_end = .;
} >OCMCRAM AT > OCMCRAM
.heap :
{
. = ALIGN(4);
__end__ = .;
end = __end__;
__HeapBase = __end__;
*(.heap*)
. = . + 0x800;
__HeapLimit = .;
} >OCMCRAM
.stack :
{
. = ALIGN(4);
__StackLimit = . ;
*(.stack*)
. = . + 0x10000;
__StackTop = .;
} >OCMCRAM
_stack = __StackTop;
_data_start_ldr = LOADADDR(.data);
}