打印

boot中这句话是什么意思呢?

[复制链接]
1450|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
zhangmangui| | 2014-11-29 17:04 | 只看该作者
应该是引导或者二次引导吧

使用特权

评论回复
板凳
zhangjin_comeon| | 2014-11-29 19:55 | 只看该作者
DSP的外部引脚可以配置BOOT模式

使用特权

评论回复
地板
zhangjin_comeon| | 2014-11-29 19:58 | 只看该作者
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启动过程,原理上都是差不多的。

使用特权

评论回复
5
zhangjin_comeon| | 2014-11-29 19:58 | 只看该作者
6
zhangjin_comeon| | 2014-11-29 19:59 | 只看该作者
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4195

帖子

31

粉丝