单片机的FLASH引导装载系统设计

发布者:EtherealLight最新更新时间:2011-09-20 关键字:单片机  FLASH引导 手机看文章 扫描二维码
随时随地手机看文章

  前言

  DSP系统的引导装载是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到内部高速存储器单元并执行的过程。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低。为此,本文介绍了TMS320C6713浮点DSP芯片和SST公司提供的SST39VF400A FLASH存储器的基本特点,给出了使用该FLASH存储器设计和实现完整的TMS320C6713 DSP引导装载系统的具体方法。

  1 硬件设计

  1.1 主要芯片介绍

  DSP自动引导装载系统主要使用DSP芯片(TMS320C6713)和外扩存储器(SST39VF400A)两种芯片来实现。其中TMS320C6713是一款高性能的32位浮点DSP,适用于专业音频信号处理。该芯片的内部结构是在TMS320C62XX的基础上加以改进制成的,其内部集成了多个功能单元,并采用了先进的VLIW体系结构及流水线技术;它采用3.3 V的I/O电压和1.8 V的内核电压供电方式,并具有两级cache缓存结构。除此之外,它还有以下两个主要特点: 第一是运行速度快。德州仪器公司(TI)推出的这一款300 MHz的TMS320C6713数字信号处理器(DSP)的处理速度高达1800 MFLOPS。TMS320C6713可以使用的工作时钟和对应指令周期表如表1所列。

  

 

  其次是精度高。TMS320C6713有三个因素影响着浮点格式的内在高精度。首先,浮点DSP的24位I/O字长在整数与实数值方面可实现比定点器件中常用的16位字长更高的精确度。第二.取幂大幅提高了应用可用的动态范围,较大的动态范围对处理极大数据集以及难以方便预计数据集范围的情况相当重要。第三,硬件内部的浮点数据表示法比定点器件更为精确,这就保证了最终结果的更高精确度。

  SST39VF400A是SST公司推出的FLASH存储器。该器件十分适合用作外扩存储器,它的存储容量为4 MB,采用3.3 V单电源供电,因而无需额外提供高电压即可通过一些特殊的命令字序列来实现对各个子模块的读写和擦除。并可重复十万次以上,此外,还可通过DSP编程来实现对它的读写操作,十分适合于系统的调试和开发。

  1.2 系统硬件接口设计

  DSP访问片外存储器主要通过外部存储器接口(EMIF)完成。它不仅具有很强的接口能力(可以和各种存储器直接接口),而且具有很高的数据吞吐能力(高达1 200 MB/s)。TMS320C6713的EMIF能支持8位、16位和32位宽的所有存储器,当从这些窄位宽的存储空间读写数据时,EMIF会将多个数据打包成一个32位的值,而不必增加额外电路。TMS320C6713与SST39VF400的接口电路设计如图1所示。该电路主要通过DSP的相关输出管脚来控制FLASH的擦除和读写。其中,A0~A19为地址线,DQ0~DQ15为数据线,OE和WE分别为输出使能和写使能,CE1为片使能。由于TMS320C6713默认的引导模式是从外部CE1空间的16位FLASH来引导装载,所以,TMS320C6713的CE1和FLASH的片选CE相连。

  

TMS320C6713与SST39VF400的接口电路

 

  2 软件设计

  本引导装载系统主要由用户应用程序和FBTC (the FlashBurn Target Component)程序两部分构成,图2所示是基于CCS的Flash存储器烧写系统框图。其中,用户程序除了要完成用户设计要求外,还要对DSP板上的EMIF寄存器进行设置;FBTC程序则包括FLASH存储器烧写算法、初始化操作、地址映射等。

  

基于CCS的Flash存储器烧写系统框图[page]

 

2.1 用户程序设计

  用户可根据设计要求及实际算法编写用户主程序。除此之外,用户还要根据自己的目标板上存储器分配进行配置。TMS320C6713芯片上电后,若选择从EMIF引导程序,DSP则自动将位于地址空间CE1(0x90000000~0x9FFFFFFF)开头的1KB代码传输到地址空间0处。它的数据传输采用默认时序,用户可以选择外部程序存储器的宽度(8位/16位/32位),然后由EMIF自动将几次读人的数据合成为32位数据。传输由DSP中的ED-MA通道以单帧形式自动进行。传输完成后,程序从地址0处开始运行。因此,要在TMS320C6713中实现基于FLASH的自引导功能,必须将FLASH配置在DSP的CE1地址空间中。

  在这里,用户要编写的EMIF配置文件是c6713 emif.s62,其程序设计代码如下:

  

 

  

 

  事实上,除了要对EMIF进行配置外,用户还必须在链接文件中为某些段制定两个不同的地址:一个是导入地址,一个是运行地址。导入地址用来决定装载器把段的原始数据放在何处,而运行地址就是该段代码运行的地址。制定两个地址的目的是为了加快代码执行速度。它们的链接可由*.cmd文件来实现。对存储器的设置如下:

  IRAM:origin=00000000h length="0000FA00h" (内部RAM)

  FLASH_BOOT:origin=0x90000000 length="00000400h" (存储自举代码)

  FLASH_REST:origin=0x90000400 length="0001fc00h" (存储主程序代码等)

  在完成用户主程序、EMIF配置文件、链接命令文件后,就可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,以生成用户应用程序的目标文件*.out。

  2.2 FBTC程序的设计

  FBTC程序主要是针对DSP目标板上的FLASH存储器进行操作。即通过一定的编程命令序列来控制FLASH的工作方式。这些命令序列是一些特定字符的组合,只要向FLASH中的特定寄存器以特定的顺序输入这些字符,即可进入相应的编程模式。SST39VF400中的主要命令和写入地址如表2所列。FBTC程序主函数的状态图如图3所示。

  

 

  图3中的信息处理函数可依据FlashBurn编程协议提供的信息格式来设计;命令处理函数主要包括FLASH的擦除、读取和烧写。同样的,FBTC程序设计完成后,也可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,从而生成FBTC程序的目标文件*.out。[page]

3 FLASH的烧写

  对FLASH存储器进行烧写一般有以下几种方法:一是通过编程器烧写;二是通过开发商提供的专门烧写软件工具进行烧写;三是自己编写烧写程序通过DSP烧写。本文是通过TI公司提供的FlashBurn软件来对FLASH存储器进行烧写。将FlashBurn与CCS、HEX文件转换工具以及FBTC配合使用,可以方便快捷地将用户数据与程序写入FLASH存储器。FlashBurn采用图形化界面,使用方便,用户只要简单配置几个操作参数,即可实现对FLASH存储器进行擦除、烧写和查看内存内容等多项功能操作。其具体步骤如下:

  (1) 编写用户程序,通过CCS编译、链接生成目标文件user.out;

  (2) 编写FBTC程序,通过CCS编译、链接以生成目标文件FBTC.out;

  (3) 编写hex6x命令文件(*.cmd),并利用hex6x来执行这个文件,然后将用户目标文件user.out转换为十六进制格式user.hex。

  hex6x命令文件如下:

  

 

  (4) 打开FLASHBurn软件,新建一个*.cdd文件并设置,其设置示意图如图4所示;

  

 

  (5) 装载FBTC.out,然后再擦除和烧写FLASH;

  (6) 去掉仿真器并复位DSP目标板,以使程序自动加载运行。

  4 结束语

  按照上述步骤 将用户应用程序成功下载到FLASH后,再将DSP目标板脱离仿真器并重新上电复位,其用户应用程序便可正常运行,而且FLASH擦除和烧写速度比较快。该方法成功解决DSP程序的脱机引导加载问题。

关键字:单片机  FLASH引导 引用地址:单片机的FLASH引导装载系统设计

上一篇:CH375芯片内部结构及设计注意事项
下一篇:基于单片机的系统外扩展的存贮器

推荐阅读最新更新时间:2024-03-16 12:41

51单片机 使用一个独立按键控制蜂鸣器
第一次按下按键按键key后,蜂鸣器响; 第二次按下按键按键key后,蜂鸣器停。 #include reg52.h sbit beep=P1^5; sbit key=P3^1; unsigned int mode; //定义一个模式 void delay(unsigned int i) { while(i--); } void voice() { if(mode) { beep=~beep; delay(100); //更改delay可以让蜂鸣器发出不同的声音 } else { beep=0; } } void main()
[单片机]
基于C8051F410单片机的光纤传输组件设计
光纤通信在现代通信领域的地位日趋重要,因其具有带宽大、信噪比低、抗干扰的特点在工程建设中应用广泛。某新品研制中需要一款能够同时传输多路模拟电压信号、脉冲控制信号及故障指示信号的传输组件,若采用传统的电缆传输方式将不可避免地存在体积大、重量沉及传输性能受外界电磁辐射干扰大的问题。基于以上情况,文中采用以光纤通信的方式设计了一款实用的传输组件,满足新品设计要求。 1 整体架构 光纤传输组件是指以光纤作为传输信道的功能器件,通常包括发射端、接收端、光纤跳线3部分。主要原理即是在采集端实现电光转换,在接收端实现光电转换,通过光纤实现两端通信的连接。由于其特殊的传输材质和模式,使得光纤传输组件可满足在某些特殊工作环境下的要求。组件主
[单片机]
基于C8051F410<font color='red'>单片机</font>的光纤传输组件设计
单片机在家电控制系统中的应用
    摘要: 介绍国种采用单片机SST86542R作为控制核心的家电控制系统,其与市场上的同类产品相比,减少了硬件资源,在成本和功耗方面有较大的改进。     关键词: 单片机 SST86542R芯片 从对家电的控制手段来看,经历了两个阶段。在上世纪70年代到80年代,家用电器基本上属于机电控制功能型。进入90年代,家用电器出现了智能化,转向电脑控制的智能型家电。这种智能型家电国般通过微控制器(即单片机)实现对对家电的控制操作。未来的家电将实现网络化,Bluetooth、HomeRF以及IEEE802.15等标准的制定表明了这个趋势。本文以国种家电冷风扇为例,介绍单片机在家电控制系统中的应用。家电冷风扇是国
[工业控制]
单片机应该怎么学习,可以速成吗?
单片机有啥用?如果你是学电子的、学自动化的理工生,并且到大三了还说不上四五条,那只能说你这学白上了!!! 如果你学的不是跟这相关的专业,觉得很新奇吗,离我们生活很远吗?那这抱歉了,你真想多了,说新奇啊--单片机诞生于1971年,比咱们年龄都大吧。 说离我们远啊,你每天都会遇到,电梯送你上下楼,图书馆的门禁拦住你又放你进去,上厕所方便后自动冲水,这些其实都是单片机君们在默默的工作。 单片机从1971年发展至今,各方面都得到了发展,种类上更丰富,集成度更高,价格更便宜,功能上更强大。一般的书籍和网上的资料都会说单片机在仪器仪表、工业控制、家用电器、医用设备、航空航天等方面有广泛的应用。 工业控制主要是因为单片机工作的稳
[单片机]
单片机控制GSM模块(TC35I)电路设计
虽然单片机和TC35I模块都是TTL电平,但是TC35模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,但是单片机的输入输出的TTL正电平逻辑是+5V,所以如果直接将TC35I的RX,TX与单片机的TX,RX对应连接后,当然也要连接GND,是不会通信的,因为电平不统一。 解决方法; 1.给单片机的RX TX的IO口加上拉电阻,也就是分压,叫它那两个IO的电压等于2.9V左右,和GSM模块匹配。 2。给GSM模块上面的RX,TX加OC门驱动,提高电压。 3。单片机和GSM模块上面如果都有DB9(串口)和MAX232,那么可以直接将单片机的DB9和GSM模块的DB9上面的2-3.3-2.5-5这样连接。 O
[单片机]
解析8051单片机的三种数据传输方式
单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。 (1)无条件传送方式 这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了多
[单片机]
解析8051<font color='red'>单片机</font>的三种数据传输方式
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved