Other Parts Discussed in Thread:TMS320F28377D, C2000WARE
写了一个二次 bootloader,使用SCI进行在线升级,bootloader放在A–至—D扇区,
从E—F扇区(0x88000)开始放APP程序,
APP程序的CMD文件中BEGIN设置为APP的起始地址E扇区—–0x88000,PROG程序从E扇区0x88002开始
//============================================
用仿真器,烧录APP—EF扇区后,用CCS 的memory save将flash数据保存,
仿真,通过bootloader 使用SCI串口烧录APP—EF扇区后,用CCS 的memory save将flash数据保存,
比较上述两种情况烧写的flash内容,是一致的,也就是bootloader的烧写flash应该是没问题的
//============================================
使用bootloader,SCI串口烧录APP程序
1、先使用JTAG烧录bootloader程序,烧入ABCD扇区
2、使用bootloader,SCI串口烧录APP程序—-烧入-扇区E—-F
3、重新上电,不能跳转到APP,进入非法中断
使用JTAG烧录APP程序可以从bootloader跳转到APP
1、先使用JTAG烧录bootloader程序,烧入ABCD扇区
2、再使用JTAG仿真器-烧录APP程序—-烧入-扇区E—-F (不擦除bootloader的 ABCD扇区)
3、重新上电,可以从bootloader正确跳转到APP
证明跳转程序应该是没问题的
//=======================
看了网上的一些帖子,已经尝试着把APP里面ECC使能关闭了,效果还是一样
//============================
APP–CMD里面
{
//bl_table : > FLASHA, PAGE = 0, type = DSECT
//app_table : > BEGIN, PAGE = 0
.cinit : > PROG PAGE = 0
.binit : > PROG PAGE = 0
.pinit : > PROG PAGE = 0
.text : > PROG PAGE = 0
codestart : > PROG PAGE = 0
Susan Yang:
关于SCI BOOT, 我们是有相关例程供您参考的 您可以下载C2000Ware后在下面路径查找: 上位机:C:\ti\c2000\C2000Ware_3_01_00_00\utilities\flash_programmers\serial_flash_programmer\serial_flash_programmer BOOT:C:\ti\c2000\C2000Ware_3_01_00_00\device_support\f2837xd\examples\dual\F2837xD_sci_flash_kernels文件夹下的F2837xD_sci_flash_kernels工程
,
NormalOne:
例程里面是需要硬件修改GPIO72,GPIO84的电平,选择SCI BOOT MODE,
我是单独写的二次boot的bootloader,现在问题是,从bootloader 跳转 APP ,跳转不进去。
但是我用JTAG只把APP烧录进去,(boot loader区不擦除),是可以跳转的,是不是就是可以认定,跳转程序没问题,
然后用CCS 的memory save ,对比 JTAG烧写的APP FLASH区 ,和 bootloader烧写的APP FLASH区 ,两者是一样的,也就是说通过bootloader烧写flash的内容是对的
但是从bootloader烧写以后,就是不能跳转到APP
,
Susan Yang:
看您的错误提示,像是与Boot_asm文件存在冲突。请问您是否使用了TI-RTOS?
,
NormalOne:
已经可以了,是BOOTLOADER里面,最后把ECC Enable了,
现在是把bootloader完成后 和 APP 初始化的ECC 都disable了就可以了
,
Susan Yang:
谢谢您的反馈
,
user6339213:
你好,我遇到了与你相通的问题,请问ECC disable要怎么操作?
,
NormalOne:
Flash0EccRegs.ECC_ENABLE.bit.ENABLE = 0xA;
改为
Flash0EccRegs.ECC_ENABLE.bit.ENABLE = 0x0;
,
user6339213:
谢谢,按照你的这个方法以解决问题
,
Wentao Wu:
您好!我看您的bootloader程序和APP程序是分两次烧写进dsp的,请问dsp上电后怎么判断先进入哪部分程序呢,这里是怎么判断的?还有就是您的bootloader引导程序能否分享一下?万分感谢!
相关推荐
- TMS320F28377D: CLA;结构体变量;全局变量;地址分配
- TMS320F28377D: 28377D
- TMS320F28377D: 使用Sysconfig配置引脚时,怎么向图片中一样添加PowerSuite
- TMS320F28377D: 使用EMIF1与FPGA通讯,芯片异常发烫
- TMS320F28377D: 代码在RAM中没有问题,但是烧写至FLASH出现这个报错:No source available for "_system_post_cinit() at D:\DSP\28377D_LED\Release\28377D_LED.out:{3} 0x3fe493{4}" ,请问如何解决
- TMS320F28377D: 复位异常,导致烧入不了程序
- TMS320F28377D: sys/bios
- TMS320F28377D: TMS320F28377D