TI的C6000系列DSP,flashboot的实现

所谓的flashboot就是将用户主程序烧写至flash片中,然后加电开机实现主程序的自动载入和启动过程。关于程序对flash的烧写本文不做讨论,主要是熟悉flash芯片的一些参数、烧写规则,以及存储起始地址的分配等,编写简单的C程序即可实现,并且需要对cmd文件进行必要的修改,后面会发帖对cmd文件进行详细介绍。

       先了解一下flash烧写的几种方法。一般来说有两种。1、自带软件烧写。2、利用仿真器,自编程序实现。本文主要讲述的是后一种方法,即编写烧写程序,实现主程序的烧写。

       介绍一下自己的开发平台。一块开发板,一个USB仿真器,一台PC,软件是CCS2.2。

       要实现flashboot还得了解系统的启动过程。对于C6000系列来说,开机加电以后,系统会自动加载flash的前1K空间的数据复制到内存的0x0开始的地址空间,并从0x0处开始运行程序。因此如果我们的主程序是大于1K的话,那么必须做二次引导才能实现载入。这里本文讨论二次引导。     

       要实现二次引导,必须得增加一个二次载入程序,该程序必须小于1K,用于对用户程序的载入,一般用汇编语言实现。源代码此处不做讨论,可以参考合众达的程序。主要实现几个功能:分别载入用户主程序的cinit段和text段,完成后跳转至用户主程序的入口地址开始执行。这里要注意的是用户主程序与二次载入程序在编译的时候是作为一个整体工程进行编译的,由cmd文件来控制两个程序分别占用的内存空间,然后通过烧写程序将这一个混合编译好的程序写入flash中,即可实现flash的自启动过程。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值