器件是TMS570LS1227
需要了解Bootloader代码和应用程序代码中cmd文件的内容。 如何为“引导程序”和其余部分执行分区。
我的应用程序代码位置必须在0x4万位置
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件是TMS570LS1227
需要了解Bootloader代码和应用程序代码中cmd文件的内容。 如何为“引导程序”和其余部分执行分区。
我的应用程序代码位置必须在0x4万位置
如果将bootloader放置在闪存(0x0万000000)的0万的开头,则引导程序为:
引导程序 (X) :origal=0x0万 length=0x0.002万
FLASH0 (RX):Orig=0x0.002万 length=0x14万-0x20
如果应用程序位于0x4万 (不是我的引导加载程序示例中使用的应用程序状态)
矢量 (X) :origal=0x4万 length=0x0.002万
FLASH0 (RX) :原始=0x4.002万长度=0x14万-0x40020</s>4.002万
bootloader是一个简单的项目,应该没有错误,所以我想将异常表更改为0x0万。
这意味着bootloader sys_intvecs.asm中的异常表更改为:
b _c_int00
b 0x2万-0x08 ;;undefEntry
b 0x2万-0x08 ;svcEntry
b 0x2万-0x8 ;prefetchEntry
b 0x2万-0x8 ;prefetchEntry
b 0x2万-0x8 ;;_dabort
B逻辑中断
LDR PC,[PC,#-0x1b0]
LDR PC,[PC,#-0x1b0]
异常(例如数据中止)将在应用程序中处理,而不是在bootloader中处理。
内存
{
矢量(X):origal=0x2万 length=0x0.002万
FLASH0 (RX):原始=0x2.002万长度=0x0011ffe0
stacks (RW):origid=0x800万 length=0x0.15万
RAM (RW):Orig=0x800.15万 length=0x0002EB00
/*用户代码开始(2)*/
/*用户代码结束*/
}
如果我的应用程序位于0x2万位置,这对我的应用程序是否合适
内存
{
矢量(X):origal=0x2万 length=0x0.002万
FLASH0 (RX):Orig=0x2.002万 length=0x0011ffE0
stacks (RW):origid=0x800万 length=0x0.15万
RAM (RW):Orig=0x800.15万 length=0x0002EB00
/*用户代码开始(2)*/
/*用户代码结束*/
}
lauchpad将打开全时,并且程序不能像您所说的那样调试该地址。
Lokesh,您好!
只需阅读 Bootloader sys_intvecs.asm
.sect ".intvecs"
手臂
----------------------------------
;导入中断例程的引用
.ref _c_int00
.ref _dabort
.ref phantomInterrupt
.def重置启动
----------------------------------
;中断向量
重置启动
b _c_int00
未定义结束
b未定义结束
svcEntry
B服务入门
PrefetchEntry
B预胎儿心腔
b _dabort
B逻辑中断
LDR PC,[PC,#-0x1b0]
LDR PC,[PC,#-0x1b0]
bootloader是一小段代码,应进行 全面的测试,并且没有错误。 因此,我想将所有异常处理程序都放在应用程序中:
因此,我将异常向量更改为:
b _c_int00
b 0x2万-0x08 ;;undefEntry
b 0x2万-0x08 ;svcEntry
b 0x2万-0x8 ;prefetchEntry
b 0x2万-0x8 ;prefetchEntry
b 0x2万-0x8 ;;_dabort
B逻辑中断
LDR PC,[PC,#-0x1b0]
LDR PC,[PC,#-0x1b0]