2358|0

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TMS320F28335如何实现软复位? [复制链接]

需求是这样的:
早期软件复位向量在0x33FFF6,FLASHA,由于使用仿真器升级软件不方便,因此做了一个bootloader,占用FLASHA,上电以后,bootloader先运行,接管DSP,根据外部条件判断是否运行用户代码,用户代码位于FLASH B C D E F G H,任意一块,用户程序在编写的时候避开FLASHA,同时把复位向量放到FLASHA之外的地方,比如FLASHC中,复位向量放到0x328000,用户程序和bootloader不公用任何资源和代码,都会分别初始化硬件。


现在的问题是:
我从bootloader跳转到用户代码,该如何操作?直接用LB指令跳转到用户程序的复位向量就可以吗? 上电时DSP处于复位状态,各个寄存器,内存内容都是确定的,但是我从bootloader跳转到用户代码,寄存器,内存都是跳转之前bootloader中的内容,直接跳转到用户代码会不会有问题?虽然用户软件会重新初始化硬件,但是实际中发现一些用户代码运行不正常。两种操作唯一的差别就是不使用bootloader的时候,用户软件时从DSP复位以后开始执行的,而使用bootloader以后,用户软件从bootloader开始运行,如果能实现软复位,将寄存器和内存复位到上电前的状态,就没有问题了。


请大家不吝赐教,这种情况怎么操作比较好?谢谢

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表