CMD如下所示,原本所有段都放在DDR2中,程序能ping通且可以完成通讯。后来我把所有段都放在L2段内,编译和仿真都没有问题,就是没法ping通,找不出原因,求大伙帮助。
-stack 0x1000
-heap 0x1000
// ============================================================================
// Specify the System Memory Map
// ============================================================================
MEMORY
{
L1P: o = 0x11E00000 l = 0x00008000
L1D: o = 0x11F00000 l = 0x00008000
L2: o = 0x11800000 l = 0x00040000
DDR2: o = 0xC0000000 l = 0x08000000
}
// ============================================================================
// Specify the Sections Allocation into Memory
// ============================================================================
SECTIONS
{
.cinit > L2 // Initialization Tables
.pinit > L2 // Constructor Tables
.init_array > L2 //
.binit > L2 // Boot Tables
.const > L2 // Constant Data
.switch > L2 // Jump Tables
.text > L2 // Executable Code
.text:_c_int00: align=1024 > L2 // Entrypoint
GROUP (NEARDP_DATA) // group near data
{
.neardata
.rodata
.bss // note: removed fill = 0
} > L2
.far: fill = 0x0, load > L2 // Far Global & Static Variables
.fardata > L2 // Far RW Data
.stack > L2 // Software System Stack
.sysmem > L2 // Dynamic Memory Allocation Area
.cio > L2 // C I/O Buffer
.vecs > L2 // Interrupt Vectors
}
Shine:
请问用仿真器跟过代码吗?
小晓筱伟:
回复 Shine:
用仿真器跑过,发现中断没有被分配,GMIIEN也是Disable, 不知道原因 。。。 不明白把段放在L2会产生哪些影响