28377D 二次 boot 跳转 APP异常

28377D 二次 boot 跳转 APP异常

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里面

BEGIN : origin = 0x088000, length = 0x000002

PROG : origin = 0x088002, length = 0x00FFFE

RESET : origin = 0x3FFFC0, length = 0x000002

SECTIONS{ //bl_table : > FLASHA, PAGE = 0, type = DSECT //app_table : > BEGIN, PAGE = 0

/* Allocate program areas: */ .cinit : > PROG PAGE = 0 .binit : > PROG PAGE = 0 .pinit : > PROG PAGE = 0 .text : > PROG PAGE = 0 codestart : > PROG PAGE = 0

此处如果改为 codestart : > BEGIN PAGE = 0 就会报错

"../Cmd/TMS320F28377D_cpu01.cmd", line 100: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section "codestart" size 0x2 page 0. Available memory ranges:

会不会是因为这里导致的?

烦请指导一下

相关推荐

【愉韻度曲】最擅長表現古代女性的畫家
beat365官网备用

【愉韻度曲】最擅長表現古代女性的畫家

📅 07-13 👁️ 8417
带鸡字的成语
bst365老牌体育

带鸡字的成语

📅 07-18 👁️ 3866
GALAXY(影驰)16GB显卡报价
365sport365

GALAXY(影驰)16GB显卡报价

📅 06-29 👁️ 1262