142|0

3594

帖子

0

资源

纯净的硅(初级)

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的自启动过程。


回复
您需要登录后才可以回帖 登录 | 注册

关闭
站长推荐上一条 1/5 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表