完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在使用DSP6713板卡做开发,开发工程通过添加二次启动程序 编译为.out文件后 通过hex6x.exe文件转换为.hex文件 通过烧写工程写入flash中。
目前遇到的问题是,烧写好flash后无法正常启动。通过加载编译工程,使用单步调试后发现,二次启动程序可以正确的将.text段拷贝到ram中,然后在执行copydone时 跳转的c_int00的地址和编译的c_int00地址不一致。 其中,copydone程序如下: copy_done: mvkl .S2 _c_int00, B0 mvkh .S2 _c_int00, B0 b .S2 B0 nop 5 c_int00在.map中定位为ENTRY POINT SYMBOL: "_c_int00" address: 000130a0 实际单步调试时,跳转的地址是0x00013e60 |
|
相关推荐
7 个讨论
|
|
lifei639156 发表于 2020-5-22 15:47 你好,我目前的情况是工程在ram中运行正常,通过添加boot_c671x.s62;c6713_emif.s62 ;boot_c671x.h62 这三个文件 然后修改link2.cmd文件,其中link2.cmd文件采用如下情况: MEMORY [ BOOTRAM: o = 00000000h l = 00000400h IRAM: o = 00000400h l = 00020000h FLASH_BOOT: o = 0x90000000 l = 00000400h FLASH_REST: o = 0x90000400 l = 0001fc00h DRAM1: o = 00A00000h l = 00100000h DRAM2: o = 00B00000h l = 000FFFFEh ] SECTIONS [ .boot_load : load = FLASH_BOOT, run = BOOTRAM /* Initialized User Code Section */ .text : load = FLASH_REST, run = IRAM LOAD_START(_text_ld_start), RUN_START(_text_rn_start), SIZE(_text_size) /* This is also a special initialized data section, which could stay in ROM, however probably not desirable, due to Slow ROM access times. const values never change, by definition. */ .cinit > FLASH_REST .const > IRAM .stack > IRAM .bss > IRAM .data > IRAM .far > IRAM .switch > IRAM .sysmem > IRAM .cio > IRAM .csldata > IRAM .tables > IRAM .dcb_cmd_strt_addr > DRAM1 .dcb_reply_strt_addr > DRAM2 ] 第二个问题 c_int00应该是直接取得全局lable的值 通过.ref c_int00导入boot_c671x.s62中使用 |
|
|
|
|
|
side82 发表于 2020-5-22 15:55 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
lifei639156 发表于 2020-5-22 16:01 您好,这几个文件是采用BlinkDSK6713例程中的文件,是Creating a Second-Level Bootloader for FLASH Bootloading on C6000 (Rev. A).zip的附件中的文件 |
|
|
|
|
|
side82 发表于 2020-5-22 16:06 确认一下没有把_c_int00与c_int00搞混吧。 按说汇编的二级boot代码与你的C工程是在同一个工程,.ref _c_int00就是RTS库的C入口函数。而且这个值在编译链接时就确认了,怎么会出错呢? http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
lifei639156 发表于 2020-5-22 16:26 确实是_c_int00, 没有和c_int00搞混。汇编的二级boot代码与我的C工程在同一工程,编译环境是CCS5.5,目前我想到的解决方案是在汇编二级boot代码中,直接跳转到程序的_c_int00的具体地址,暂时能用... 不过问题还是没有找出来 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
309 浏览 1 评论
513 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
754 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
641 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1113 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
226浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
181浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
46浏览 13评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
149浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
158浏览 12评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 14:54 , Processed in 1.169547 second(s), Total 81, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号