![]() |
|
||||||||||||||
| . 网站首页 . 产品新知 . 业界新闻 . 解决方案 . 技术文库 . 在线学院 . 活动访谈 . 电子商城 . 服务导航 . 会员区 . TI资源 . | ||
|
||
|
|||||
| TMS320F2812从内部flash启动的过程 | |||||
作者:TIchines… 文章来源:本站原创 点击数: 更新时间:2007-7-8 ![]() |
|||||
|
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)。
|
|||||
| 欢迎点击进入:"61IC中国电子在线"官方网站 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| TI C2000的最高主频一览 TMS320VC5416内部ROM中的BOO |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|