tms320f2812启动流程

     1),首先f2812上电之后,cpu处理boot ROM中的内容(地址是:0x3F F000,大小4k*16)。头3k*16是存放数学函数表,不需要处理。接下来存放的是bootloader函数和一些芯片版本的校对信息。最后是cpu 向量表,cpu只处理第一条:复位向量。复位后(上电,手动等),程序先从复位向量执行(0x3F FFC0)

    2),执行完复位向量后执行initBoot函数,这个函数文档中没有找到具体干些什么。

    3),接着call select bootmode function.这一步主要是根据外部引脚(gpiof4,f12,f3,f2)来确定程序接下来执行的位置。具体如下图:


   

如果是跳到flash执行代码,由于制定的跳转位置是0x3F 7FF6,这正是csm密码代码的前一个位置,所以不能从这里开始程序,必须在这个地址安排一条跳转指令,跳到flash别的地方执行,当然代码是存在哪个地方的了。跳到H0就没什么问题了。这里不研究bootloader了,没看懂。

   

    好了,这样,处理器顺利的跑到了我们想要的地方(sram或者flash),接下来就是我们要做在这里安排一个代码了。也就是把代码放在sram或者flash中。怎么来安排代码呢?当然是cmd文件了,通过cmd文件你可以随便把你的代码安排在哪个地方(当然,随便放是运行不了的),所以把代码安排在H0中或者flash中。下面贴个cmd文件的例子。

 

/*------------------------------------------*/
/*描述:设置堆栈值          */
/*------------------------------------------*/
-stack 400

/*------------------------------------------*/
/*描述:通过MEMORY伪指令来指示存储

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值