这个是评估板原有的CMD文件
-heap 0x800
-stack 0x1000
MEMORY
{
VECTORS: o = 0x10800000 l = 0x00000200
LL2: o = 0x10800200 l = 0x000ffe00
SL2: o = 0x0C000000 l = 0x00100000
DDR3_DATA1: o = 0x80000000 l = 0x01000000
DDR3_DATA2: o = 0x81000000 l = 0x07000000
}
SECTIONS
{
vecs > VECTORS
GROUP
{
.stack
.far
.sysmem
} > LL2
GROUP
{
.text
.switch
} > LL2
GROUP
{
.bss
.neardata
.rodata
} > LL2
GROUP
{
.fardata
.const
} > LL2
GROUP
{
.cinit
.cio
} > LL2
.ddr0 > DDR3_DATA1
.ddr1 > DDR3_DATA2
.share > SL2
}
这个是我修改的:
修改后的 printf函数打印是乱码 大神给个说法啊???
另外 看资料说这几个段“text cinit switch”应统一放在PAGE0,作为CODE段 其他统一放在PAGE1,作为DATA段 是这样吗???
-heap 0x800
-stack 0x1000
MEMORY
{
PAGE 0:
VECTORS: o = 0x10800000 l = 0x00000200
LL2_CODE: o = 0x10800200 l = 0x00015000
PAGE 1:
LL2_RW_DATA: o = 0x10815200 l = 0x000EAE00
PAGE 2:
SL2: o = 0x0C000000 l = 0x00100000
PAGE 3:
DDR3_DATA1: o = 0x80000000 l = 0x01000000
DDR3_DATA2: o = 0x81000000 l = 0x07000000
}
SECTIONS
{
vecs > VECTORS PAGE 0
.text ALIGN(32)> LL2_CODE PAGE 0
.cinit ALIGN(4) > LL2_CODE PAGE 0
.switch ALIGN(4) > LL2_CODE PAGE 0
.bss ALIGN(8) > LL2_RW_DATA PAGE 1
.cio ALIGN(4) > LL2_RW_DATA PAGE 1
.const ALIGN(8) > LL2_RW_DATA PAGE 1
.far ALIGN(8) > LL2_RW_DATA PAGE 1
.fardata ALIGN(8) > LL2_RW_DATA PAGE 1
.neardata ALIGN(8) > LL2_RW_DATA PAGE 1
.stack ALIGN(8) > LL2_RW_DATA PAGE 1
.sysmem ALIGN(8) > LL2_RW_DATA PAGE 1
.ddr0 > DDR3_DATA1 PAGE 3
.ddr1 > DDR3_DATA2 PAGE 3
.share > SL2 PAGE 2
}