用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

DSP外挂Flash在系统编程及并行引导装载方法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:25:36
【本文由PB创新网为您整理】
摘要:详细介绍了TMS320VC5402外挂程序存储器的在系统编程技术和方法,结合实例给出了创建系统引导表的具体步骤,并在此基础上重点叙述了TMS320VC5402的并行16位引导装载方法。设计的系统具有较大的灵活性和良好的可扩展性。

    关键词:DSP TMS320VC5402 FLASH SST39VF400A 在系统编程 引导装载

TMS320VC5402(以下简称C5402)是TI公司的一款性价比极好的16位定点DSP芯片。由于C5402内部只有16K×16位RAM和4K×16位掩膜ROM,用户程序必须存放在外挂的程序存储器中。对程序存储器的编程(即离线编程)通常是通过通用编程器完成的,即用户将要写入的程序转换成编程器能够接收的格式,再通过编程器写入存储器中。随着芯片制造工艺的不断提高,芯片集成度越来越高,存储器正在向小型化、贴片式发展,从而使表面封装或PLCC封装的存储器难以利用编程器编程。目前普遍采用的在系统编程ISP(In System Programming)技术不需要编程器,通过系统的DSP可直接对用户板上的存储器编程,这样不仅节省了通用编程器及适配器的费用,还减少了频繁插拔存储器的麻烦,从而大量节省了系统开发时间,满足了用户程序在线更新的要求。外挂的程序存储器通常选用容量大、存储速度快、功耗低、性价比高的FLASH存储器。

由于DSP仿真软件编译链接后生成的是二进制的COFF格式文件,不能直接写入FLASH中,还需通过Hex转换工具将COFF目标文件转换为标准的ASCII码十六进制格式(即Hex格式)。对于离线编程,只需将这种Hex文件直接作为编程器的输入,即可写入FLASH;而在系统编程,则是利用系统本身的DSP,通过软件编程来实现整个烧写过程。因此,如何对FLASH进行烧写是整个在系统编程的一个关键。本文以一片C5402外挂一片FLASH存储器构成的最小系统为实例,介绍采用C语言编写FLASH烧写程序,并通过DSP将用户程序代码写入FLASH,从而实现在系统编程。

1 DSP与FLASH构成的最小系统

本系统的FLASH存储器选用SST公司的SST39VF400A,用作DSP的数据空间。FLASH的片选信号/CE由DSP的数据空间选择信号/DS和存储器选通信号/MSTRB产生,读使能信号/OE和写使能信号/WE由DSP的读写脉冲信号R/W和/DS、/MSTRB组合产生。FLASH的地址线A0~A15和DSP的A0~A15直接相连,A16和A17接地。由于DSP数据空间0000H~3FFFH为存储器映象寄存器、暂存器和片内RAM,对外部FLASH来讲是不可见的,所以FLASH可操作的地址范围为4000H~0FFFFH。设用户程序从FLASH中8000H单元开始存放,则系统上电时引导程序就从数据空间的8000H单元开始搬运数据到DSP内部RAM指定区域,引导完毕后即跳转到RAM中程序入口地址运行用户程序。

2 SST39VF400A的在系统编程

2.1 芯片简介及常用命令

SST39VF400A是SST公司的256K×16位FLASH存储器,工作电压3.3V、擦写寿命100 000次,访问时间70~90ns。用户只需向其特定地址写入特定的指令序列,那么通过这些命令用户即可启动内部写状态机,从而使其自动完成指令序列要求的内部操作,其中包括:复位、整片擦除、块擦除、扇区擦除、操作字写入等。javascript:window.open(this.src);" style="cursor:pointer;"/>

2.2 SST39VF400A编程操作

对采用在系统编程的FLASH存储器,整个编程过程由用户控制,因此用户必须了解FLASH存储器的各状态位,以便知道编程或擦除是否结束。SST39VF400A内部提供两种软件检查方法:检查状态位Data# Polling(DQ7)和Toggle Bit(DQ6)。现以检查Toggle Bit(DQ6)位为例来具体说明SST39VF400A的编程及检查机制。SST39VF400A在进行内部编程或擦除时,对任何地址进行连续读取都会引起DQ6的跳变,当操作停止就会结束跳变。因此可以通过连续两次读取检查DQ6的变化情况来判断编程擦除操作是否完成。单字编程及检查流程如图1所示(其中WA为要写入数据的存储地址)。

3 C5402的并行引导装载

通过在系统编程操作可以实现将用户程序代码写入FLASH。如何确定FLASH中用户程序代码的存放格式并正确地引导装载以实现脱机运行,则是整个在系统编程的重点之处。在C5402的五种引导方式中,并行引导是DSP系统最常用最简单的引导方式。下面介绍C5402的并行16位引导装载方法。

3.1 引导过程简介

为了正确引导用户程序,必须编制引导表,引导表要告诉引导程序采用何种引导方式、程序入口地址、各段的目标首地址和长度等。引导表的数据格式是由链接配置文件和HEX转换配置文件决定的,链接配置文件定义各段存放的首地址和长度,而HEX转换配置文件则定义引导方式、程序入

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:22,718.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号