加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

2812从内部flash启动的过程

发布时间:2020-12-15 06:57:38 所属栏目:百科 来源:网络整理
导读:??????? ?a)程序硬件复位或者软件复位 ???????? b)判断mp/mc是否为0,微计算机模式(为1,当为微处理器模式时,2812内部的bootrom被禁止,通过zone7从外部调引导程序启动。) ?????????c)为0则从boot rom启动,否则从外部启动(0x3F FC00) ?????????d)到boot

??????? ?a)程序硬件复位或者软件复位
???????? b)判断mp/mc是否为0,微计算机模式(为1,当为微处理器模式时,2812内部的bootrom被禁止,通过zone7从外部调引导程序启动。)

?????????c)为0则从boot rom启动,否则从外部启动(0x3F FC00)
?????????d)到boot rom的0x3F FC00处取出复位向量,跳到boot函数:2812有一块flash地址从0x3F F000-0x3F FFFF在出厂时ti已经固化好了引导程序iniboot:Iniboot函数判断几个GPIO引脚来判断使用哪一种引导模式,比如flash boot模式,检测SPICLKA,SCITXA,GPIO34的电平,当都为高电平时表明是片内flash boot模式,那么initboot执行完后跳转到0x3F 7FF6处)
???????? e)采集io管脚状态,确定启动模式。2812提供几种启动模式:
????????????????SCITXDA(GPIOF4)?MDXA(GPIOF12)?SPISTEA(GPIOF3)?SPICLK(GPIOF2)
??????????????????????????1???????????????????????? x???????????????????????? x?????????????????????????? x??????FLASH启动?
??????????????????????????0??????????????????????? 1????????????????????????? x?????????????????????????? x??????SPI启动?
??????????????????????????0??????????????????????? 0??????????????????????????1????????????????????????? 1?????? SCI启动
??????????????????????????0????????????????????????0????????????????????????? 0????????????????????????? 0?????? PARALLEL启动

?????????f)根据io状态选择boot方式
?????????g)如果是flash,程序退出boot函数,跳转到0x3F 7FF6(codestart)
???????? h)取出跳转指令,跳转到自己的指定地址或者C初始化的入口_C_INT00(0x3F6000)处(DSP281x_CodeStartBranch.asm中)
?????????i)在C初始化的入口_C_INT00对一些变量,堆栈和寄存器进行必要的设置,该函数在c的库函数内(RTS Library)
???????? j)进入main函数(0x3F658E)
?
注:1》根据INTER NET上别人的资料,以及针对程序的推敲,总结如上。
??????? 2》地址均为我程序实际观测到的值,和网上别人所言有出入。如:有言boot rom地址为0x3F FFC0,iniboot(起始地址0x3F FB50)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读