【DM642学习笔记三】flash的烧写
ICETEK-DM642-PCI板上的29L008B芯片提供了8M位的Flash空间(访问地址空间是CE1,90000000h~90080000h)。主要用于自启动功能和存储FPGA的配置数据。
一、从FLASH自启动过程:
系统复位后,DM642将flash空间的前1k字节复制到片内0地址开始的存储单元,从0地址开始执行。而用户程序往往大于1K字节,所以位于0地址的程序常是一个装载程序(Bootloader),用来完成将应用程序从Flash中读出放到RAM中。因此,在Flash中开始的1k字节存放Bootlader,接着是一个装载表(它指示了随后存放的程序或数据加载到RAM的哪个地址以及加载长度)。随后程序或数据分成多个块存储。如下图:

BootLoader程序开始执行后,首先设置CPU和外设寄存器(如EMIP寄存器),然后读入装载表并装载程序和数据。最后转到被装载的应用程序入口。
二、FPGA的配置
板上的FPGA,完成视频数据的叠加图形输出、指示灯控制等功能。掉电时配置丢失,所以需要特殊的配置数据装载后才能工作。配置数据一般放在Flash中,在系统上电时通过自启动加载(自启动程序中要包含配置FPGA部分,位置在第0页地址0x90040000之后)。为了板子能够正常工作,flash擦除后,要先把FPGA的配置数据写进去,然后再烧自己写的程序,中间不能有flash擦除动作。配置完成后,指示灯DS10亮。
三、Flash的烧写
FlashBurn烧写工具
1、Flashburn:TI的第三方软件公司 Software DesignSloutions 为TI的DSP用户编写的Flash烧写软件,给软件以CCS为基础,通过运行仿真程序FBTC,将用户程序写入Flash中。
2、FBTC.out文件:负责对flash的操作,比如flash的擦除、读、写等。如DM642开发板使用的FBTC文件在安装ccs的根目录下boards/evmdm642/flashburn/ FBTC642.out。可根据个人板子上flash的型号,因为不同型号的flash,它们的操作命令不一样。这样你就必须对FBTC工程进行修改,然后重新编译生成.out文件。
3、hex6x.exe:将project编译成功生成的.out文件转换为.hex文件的工具。
4、.cdd文件:保存Flashburn的设置的。
5、.cmd文件:指明flash属性(大小,数据宽度,起始地址和产生文件名),按照flash要求实现将.out文件到.hex文件的转换。ledprd_ahex.cmd文件内容为:
debug\ledprd.out
-a
-memwidth 8
-boot
-bootorg 0x90000400
-bootsection .boot_load0x90000000
ROMS
{
FLASH: org = 0x90000000, len = 0x80000, romwidth = 8,files = {ledprd.hex}
}
其中,ledprd.out即project编译成功生成的.out文件;ledprd.hex即为要得到的.hex文件。
hex6x ledprd_ahex.cmd@pause
注:实现Bootloader自引导功能,除了需要生成可执行文件(.out),还需要进行如下步骤:
-lledcfg.cmd // -包含原有的cmd文件,SECTIONS //并把.boot_load段代码映射到BOOT内存去。{.boot_load > BOOT}
3、最后通过Flashburn工具将.hex文件写入Flash,这时需要转换.cmd文件、.hex文件和FBTC642.out文件。
2012.12.22
eagle
【DM642学习笔记三】flash的烧写的更多相关文章
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- angular学习笔记(三十一)-$location(2)
之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...
- angular学习笔记(三十)-指令(10)-require和controller
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...
- angular学习笔记(三十)-指令(7)-compile和link(2)
继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...
- angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令
在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...
- amazeui学习笔记三(你来我往1)--常见问题FAQs
amazeui学习笔记三(你来我往1)--常见问题FAQs 一.总结 1.DOM事件失败:记得加上初始化代码,例如 图片轮播 $('#my-slider').flexslider(); 2.jquer ...
随机推荐
- C++ 中vector数组的使用
(1)头文件:#include<vector>.(2)创建vector对象: vector < 类型 > 名字; 例:vector<int> vec;(3) ...
- CCPC 2019 网络赛 1006 Shuffle Card
// 签到题,比赛时候写双向链表debug了半天,发现有更好方法,记录一下. Shuffle Card HDU 6707 题意: 有一 \(n\) 张卡片,编号 \(1~n\) ,给定初始编号 ...
- spring boot问题记录(持续更新)
1.springboot v2.1.1.RELEASE版本中server.context-path=/demo不起作用? 路径变了:server.servlet.context-path=/dem ...
- Pycharm VS VS Code(个人使用感受)
Pycharm IDE (community enough!) 简单介绍:Pycharn的确是我刚开始学习python时,除了Visual Studio之外,上手的第二个IDE,最初是因其好看的界面, ...
- Jumpserver-1.5.2 安装步骤
Jumpsever 是飞致云旗下的一块开源的堡垒机.在如今都在上云的趋势下,一款堡垒机非常重要. 官网:http://jumpserver.org/ GitHub:https://github.com ...
- 3.在vm上安装centos 7
在vm上安装centos 7 1.文件 → 新建虚拟机 3.选择安装Linux系统 4. 虚拟机命名,并选择安装的文件夹 5.选择分配的处理器 6.使用网络地址转换 7.默写选项 9.新建虚拟机 10 ...
- umount:将文件设备卸载
[root@centos57 ~]# umount /dev/hda1 用设备文件名来卸载 [root@centos57 ~]# umount /aixi 用挂 ...
- 小米手机 DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs
手机:小米2s,MIUI 9 7.11.16 开发版 手机已处于开发者模式,启用了USB调试,已使用USB线连接了手机,在Android Studio 工具栏点击 "Run ‘app’(Sh ...
- Sightseeing Cows
Sightseeing Cows 给出一张图,点数为L,边数P,并给出边的边权\(\{b_i\}\),再给处每个点的点权,求一条起点和终点相同的路径,并使其点权之和除以边权之和最大,注意,路径中点权只 ...
- Zuul的过滤器
过滤器类型与请求生命周期: Zuul中定义了4种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期 PRE: 这种过滤器在请求被路由之前调用.可利用这种过滤器实现身 ...