DSP28377D上电过程

对于双核DSP上电后,启动运行的顺序如下所示:
①系统复位或者重新上电之后,CPU2系统一直处于复位状态。
CPU1系统会自动跳转到地址0x3FFFC0中获取复位向量,复位向量的目的就是为了使得系统自动跳转到0x3F8000地址上(一般复位向量为0x3FF16A),开始执行Boot ROM 段中存储的Boot loader代码段。对于CPU1而言,CPU1的Boot ROM段中的Boot loader程序首先会从TI-OTP内存段中获取设备的配置字,并配置好器件。

②Boot Loader开始执行DCSM和OTP JTAGLOCK流程。DCSM流程:(1)读取OTP中的Zx_poinyer;(2)解码指针值;(3)度去除TI-OTP中的SECDC;(4)读取Zx BOOT模式;(5)读取ZX DCSM模块。

③Boot Loader检测FUSEERR寄存器中是否存在错误标志位,并采取错误处理机制。之后初始化RAM和内存端的ECC/PARITY。

**④CPU1系统的Boot Loader将会根据外部的GPIO和XRST(一般链接下载器才会有)来确定程序的启动方式是从Flash启动还是RAM启动,**或者是在XRST为低的情况下,根据PIE向量表(地址为0xD00)的第一个32位的值来确定启动方式(一般是链接了下载器的情况)。确定完之后,CPU1的Boot Loader代码段会将各种信息都更新到指定的RAM段中,以便于CPU1的程序去读取这些状态字。

**⑤此时按照启动方式开始跳转程序,如果是Flash启动则将程序指针跳转到Flash的起始地址:0x80000,**如果是Ram启动则将程序指针跳转到Ram段的起始地址:0x00000,同时结束Boot Loader并进入CPU1的主程序。
如果此时的启动方式是外设启动,那么Boot Loader则会等待外部程序按照一定的格式将程序加载到Ram中,程序代码传输完成之后,跳转到运行指针开始运行程序代码段。

**⑥此时CPU1的Boot Loader完成使命,已退出,并开始执行CPU1中的用户程序。**此时的CPU2系统退出了复位状态,仍然在等待启动模式确定,需要CPU1的用户程序来引导CPU2的引导,如果是CPU2也从Flash启动,则通过IPC Command即可触发,但是如果CPU2也需要从外设启动,则需要CPU1首先设置好外设的引脚,之后再触发CPU2开始接受程序。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值