|
发表于 2012-2-12 20:49:53
|
显示全部楼层
你的连接脚本不要用MDK自带的。因为那样MDK会默认把SDRAM放在IRAM前面,而由于这个原因,系统根本启动不了。更别说运行到SDRAM的初始化程序了。。
我用的配置如下:
LR_IROM1 0x00000000 0x00080000 { ; load region size_region
ER_IROM1 0x00000000 0x00080000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x10000000 0x00010000 { ; RW data
startup_LPC177x_8x.o (STACK)
startup_LPC177x_8x.o (HEAP)
.ANY (+RW +ZI)
}
RW_IRAM2 0x20000000 0x00008000 {
.ANY (+RW +ZI)
}
RW_ESDRAM 0xA0000000 0x0200000 {
.ANY (+RW +ZI)
}
}
要注意自己写脚本的时候需要在flash区域加上 startup_LPC177x_8x.o (STACK)
startup_LPC177x_8x.o (HEAP)
这部分是表示要把这些放在前面。
用MDK自动生成的会自动加入这个,但是受动编的可没这么智能 ,此外,这个是LPC1788,2478因为架构原因,可能放的不是这两个,而是别的。 |
|