工具/软件:Code Composer Studio
现在、我正在尝试在 tms570HDK 上实现引导加载程序和应用程序项目、引导加载程序和应用程序都使用 uCOS-II 和 tftp (lwip)。
您谈到的大多数情形如下所示:
_c_int00 ;0x00 引导加载程序复位
b #0x7ff8 ;0x04 undefined_instruction,分支到应用程序
b #0x7ff8 ;0x08 software_interrupt、分支到应用程序
b #0x7ff8 ;0x0C prefet_abort、分支至应用程序
b #0x7ff8 ;0x10 DATA_ABORT、分支到应用程序
b #0x7ff8;保留、分支至应用程序
LDR PC、[PC、#-0x1b0] ;0x18
LDR PC、[PC、#-0x1b0] ;0x1C
地址0x8000处的应用程序矢量表应如下所示。
b _c_int00 ;0x00 应用程序复位
b _undef_ISR; 0x04未定义_指令
b _swi_isr ;0x08 software_interrupt
b _prefet_abort_isr ;0x0C prefetch_abort
b _data_abort_isr ;0x10 data_abort
b _reserved_isr;保留
LDR PC、[PC、#-0x1b0] ;0x18
LDR PC、[PC、#-0x1b0] ;0x1C
在所有这些情况下,使用矢量模式的 IRQ,在引导程序中,udef,abort,swi 没有 ISR,它们只是跳转到应用程序的‘s ISR。
spna236也是如此、
但是对于 uCOS 项目,IRQ 必须使用索引模式(传统 ARM7模式),,并且所有异常必须在引导加载程序中关闭。
你能给我一些建议吗?
或者,如果 spna236中描述的 SRAM 方法中的共享矢量起作用,您能给我一些 有关如何在应用程序中执行的具体建议吗?
我在这里待了一个月,真的需要你的帮助!
谢谢!