日期:2014-05-16  浏览次数:20658 次

ARM9 UBOOT写不进,超级终端里无串口信息
可以识别到硬件,TCM也设置好,写入drame.bin与UBOOT.BIN时,AXD报错 Prefetch Abort 与Undefined Instruction。哪位大侠可以指教下,究竟是何原因??

是硬件问题还是UBOOT程序问题呢?

PS:其中,写入drame.bin时,PC已经修改为0x0;写入UBOOT.BIN时,PC修改为0XC0500000


------解决方案--------------------
start.S是uboot最开始运行的代码,其中涉及到的都是汇编的代码。
针对于ARM9中的代码是在cpu/arm920t/start.S

 相关程序如下:
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort
ldr pc, _data_abort
ldr pc, _not_used
ldr pc, _irq
ldr pc, _fiq

这里就是中断向量表了。可以看看ARM的中断向量。
Table 2-3. Exception Vectors
Address Exception Mode in Entry
0x00000000 Reset Supervisor
0x00000004 Undefined instruction Undefined
0x00000008 Software Interrupt Supervisor
0x0000000C Abort (prefetch) Abort
0x00000010 Abort (data) Abort
0x00000014 Reserved Reserved
0x00000018 IRQ IRQ
0x0000001C FIQ FIQ
这是我数据手册上的中断向量表。

uboot.bin是自己做的吗?还有你的地址0x0 及 0XC0500000
是否正确。