3382|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

学习DSP知道要知道DSP启动流程! [复制链接]

TI支持很多种方式的boot,内部的ram(saram),flash,sci,spi等等,但无论哪种启动都遵循下面的流程。

而该流程中的reset,initboot,call selectbootmode, read i/o state, call boot loader这些步骤都是固化在芯片内的程序自己执行的,也就是说这些代码在出厂的时候已经在TI的芯片内。在28335中是一段的8k*16的read-only的memory,地址位于0x3fe000-0x3fffff,见下图:

根据上面的流程图和rom分布图,详细的解释一下流程:

1.在3f ffc0到3f ffff其实是放了中断向量表的地方:系统一开机当然是处于reset中断,因此直接跳至reset的地方执行(0x3f ffc0)。而这个地方的两个字节只是放了一条指令,就是跳至initboot函数,也就是3f f34c的地址执行boot load.

2.在3f f34c的bootloader操作中会去检测外部GPIO口的状态,从而判断是哪种方式的启动:

3. 然后根据相依的启动方式跳至相应的入口地址:比如FLASH启动就是0x33fff6, 内部SARAM启动就是0x0.



4. 而这里的入口地址就是cmd文件中定义的begin段。因此对于flash启动和ram启动,begin的定义是不同的,在flash启动时begin就是 0x33fff6 ,而ram启动begin就是0x0. 这个2个字的区间也就是放了我们程序最初执行的第一条指令(通常是code_start).因为CSM_PWL的存放位置是在0x33fff8,因此只有2words空间来存放跳转指令。而一条长跳转指令LB刚好占两个字节(这摆明着是ti精心设计的)

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表