Bootloader和应用程序运行正常。
引导加载程序会加载应用程序,然后跳入该应用程序。
问题:我需要使用其他链接程序脚本来使应用程序独立或与引导加载程序兼容。
我相信这是因为未正确为kseg0_program_mem,kseg0_boot_mem和kseg1_boot_mem定义内存段。
//_RESET_ADDR = 0xBFC00000; <- work without bootloader
_RESET_ADDR = 0x9D000480; <- work with bootloader
[....]
MEMORY
{
kseg0_program_mem (rx) : ORIGIN = 0x9D000000 + 0x800, LENGTH = 0x100000 - 0x800
kseg0_boot_mem : ORIGIN = 0x9D000000, LENGTH = 0x0
debug_exec_mem : ORIGIN = 0x9FC20490, LENGTH = 0x3B20
kseg0_boot_mem : ORIGIN = 0x9FC20490, LENGTH = 0x0
kseg1_boot_mem : ORIGIN = 0x9D000000, LENGTH = 0x480
kseg1_boot_mem_4B0 : ORIGIN = 0xBFC004B0, LENGTH = 0x3B00
config_BFC03FC0 : ORIGIN = 0xBFC03FC0, LENGTH = 0x4