本人最近写了一段6713的二级BOOT程序,发现一个问题,在二级BOOT中搬运完程序后,需要跳转到_c_int00的入口处执行,发现,当_c_int00入口为0x15e40(该地址为64字节对齐)的时候,二级BOOT是可以正常运行的,能正常搬运程序并跳转到用户程序处执行,但是当在程序中添加几句代码之后,_c_int00的入口地址变为0x1BF60(该地址为32字节对齐)时二级BOOT仍然能正常的搬移用户程序,但是在跳转到用户程序的时候却出错了,我想问一下,程序指针跳转的时候,对目标地址是否要求字节对齐呢?还有,怎样认为的确定一个_c_int00入口地址呢?
Tony Tang:
C6000一个取指包是8条指令, 一条指令是4字节,32字节对齐够了。
固定_c_int00的方法:
http://processors.wiki.ti.com/index.php/Accessing_c_int00