打印

TI DSP启动步骤

[复制链接]
1270|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2013-12-3 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TI DSP启动步骤详解
1、系统复位
2、复位完成,跳转复位中断,开始执行复位中断指向的地址,该地址是dsp内部原厂固化初始BOOT代码,无法修改。
3、初始BOOT代码检查BOOTMODE相关的I/O输入电平,从而得知DSP BOOTLOAD方式,比如SPI,I2C,EMIF,UHPI等。并初始化相应的接口,并从该接口读取BOOTLOAD程序代码到DSP的程序空间,完成读取后,程序指针跳转到BOOTLOAD程序代码起始位置。DSP内部是没有ROM来存放代码的,所以必须使用外部扩展的ROM,现在常用的是NOR FLASH(EEPROM也有用,但因为EEPROM容量太小,无法存放所有的程序代码,所以现在已经很少在嵌入式平台使用)
4、开始执行BOOTLOAD程序,因为初始BOOT并不会初始化和BOOTMODE无关的设备,所以读取的BOOTLOAD程序代码一般都很小,这个取决于DSP的内部SRAM空间大小。而用户程序一般都很少有这么小的。当然小规模的代码如果够小,DSP本身的Sarm就足够的话,完全可以不用另外编写BOOTLOAD程序,直接让初始BOOT程序读入SRAM中执行即可。如果用户程序代码规模超过SARM的程序空间大小,就必须使用BOOTLOAD程序进行二次BOOT。在BOOTLOAD程序里要做的事情有2点,1是初始化外部扩展RAM空间的接口,比如SDRAM,DDR控制器EMIF等,然后从外部FLASH空间读取程序代码到外部扩展RAM空间。2是初始化各种外设。现在也有很多二次BOOT是通过以太网接口来获取用户程序代码,嵌入式领域的无盘工作站就是这类应用。现在的BOOTLOAD功能已经越来越丰富。
5、完成二次BOOT后,程序指针跳转到用户程序代码的起始地址,开始执行。
以上就是我理解的DSP启动流程,因为各种DSP千变万化,所以在这里就抽象的说下DSP的启动过程,不涉及跳转地址等具体参数了。另外再说下,其实DSP的BOOT启动过程也是大多数ARM的BOOT启动过程,原理上都是差不多的。
多核DSP的BOOT流程我还在看资料。以上过程仅仅是我自己的看法

相关帖子

沙发
zhangmangui| | 2013-12-3 11:50 | 只看该作者
用5509a通过外扩flash启动   一直没有实现
学习一下

使用特权

评论回复
板凳
zhangmangui| | 2013-12-3 11:51 | 只看该作者
顺便上传个资料  感觉不错
基于TMS320VC55X系列DSP的外部Flash并行二次引导加载方法研究.pdf (1.18 MB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝