你好,目前有个项目需要跑裸机,不能挂DDR,通过nand_flashing_tool把MLO和APP分别写入0x00000000和0x00080000到nandflash,MLO启动正常,app启动失败。
app就是starterware中的点灯例程(gpio_app_led_blink),该程序是运行在DDR,所以修改了LDS文件,映射到 >RAM,RAM的定义如下
MEMORY
{
DDR0 : o = 0x80000000, l = 0x10000000 /* 256MB external DDR Bank 0 */
RAM : o = 0x402F0000, l = 0x10000 /* 64KB of internal RAM */
}
SECTIONS
{
.startcode :
{
. = ALIGN(4);
*sbl_init.o (.text)
} >RAM
。。。。。。。。。。。。
MLO启动正常,但是那个点灯程序app没有运行起来,如果把程序加载到DDR运行就正常。请问哪里导致的,谢谢,我个人认为地址问题。
Shine:
把点灯例程映射到>RAM后,是否在加载模式之前用仿真器调通过?
jin xin:
回复 Shine:
不行,仿真器也无法下载,pdf说这块0x402f0000~0x402f4000这段无法使用,那怎么办呀,bootloader占用0x402f40000的OCMRAM,那点灯程序放在哪里。难道把ocmram分成2块吗,我也试过了,不行。
Shine:
回复 jin xin:
TRM memory map注释里只说0x402F_0000-0x402F_03FF这段不能用。
(3) Address 0x402F_0000-0x402F_03FF is not available on general purpose (GP) devices.