本帖最后由 nobodyshow2716 于 2013-6-12 23:21 编辑
我是一个新手,最近在学习TMS320C6713DSP上电自启动问题,我用的是TI公司的DSK开发板,上边有例程,例程中的boot.asm文件是bootload文件,我有一个问题,下面这个程序中是不是没办法运行到“zero a1”到“[ a1] add 4,a5,a3”这几条语句?这个程序是不是没办法实现程序的搬移?程序代码如下。盼望各位前辈可以不吝赐教!
.title "Flash bootup utility for 6713 dsk"
.option D,T
.length 102
.width 140
COPY_TABLE .equ 0x90000400
.sect ".boot_load"
.global _boot
_boot:
;****************************************************************************
;* Copy code sections
;****************************************************************************
mvkl COPY_TABLE, a3 ; load table pointer
mvkh COPY_TABLE, a3
ldw *a3++, b1 ; Load entry point
copy_section_top:
ldw *a3++, b0 ; byte count
ldw *a3++, a4 ; ram start address
nop 3
[!b0] b copy_done ; have we copied all sections?
nop 5
copy_loop:
ldb *a3++,b5
sub b0,1,b0 ; decrement counter
[ b0] b copy_loop ; setup branch if not done
[!b0] b copy_section_top
zero a1
[!b0] and 3,a3,a1
stb b5,*a4++
[!b0] and -4,a3,a5 ; round address up to next multiple of 4
[ a1] add 4,a5,a3 ; round address up to next multiple of 4
;****************************************************************************
;* Jump to entry point
;****************************************************************************
copy_done:
b .S2 b1
nop 5 |