![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| 分页烧写Flash的多页程序并行自举方法 | |||||
作者:兵器工业… 文章来源:单片机及嵌入式系统应用 点击数: 更新时间:2006-9-25 ![]() |
|||||
|
摘 要:以TMS320VC5410为例,介绍对Am29LV200B Flash存储器进行程序分页烧写以及上电后多页用户程序并行自举的方法。对多页Flash存储器的烧写,须在烧写过程中对已烧写的数据长度进行动态判断,当达到预定烧写长度后对Flash进行换页,然后继续烧写,重复上述换页过程,直到程序烧写完为止。对多页程序的并行自举,在系统上电后,利用TI提供的自举程序,将一个用户自己编写的前导程序载入DSP,利用该前导程序将多页程序载入DSP来实现程序的自举。此方法适用于多种FIash芯片和C5000系列DSP。 TI公司的DSP芯片TMS320Vc5410(简称5410)是性能卓越的低功耗定点DSP,在嵌入式系统中有着广泛的应用。5410没有自带的片上非易失性存储器,因此需要外部的非易失性存储介质,如EPROM或Flash,来存储程序和数据。5410片内有64 K字RAM,由于在片内RAM运行程序比片外运行有高速度低功耗等显著优点,通常上电后都需要从片外EPROM或Flash上加载程序到片内RAM,但是芯片自带的自举程序(简称Bootloader)只支持32 K字以内的外部程序加载,因此程序设计往往局限于32 K字空间内,限制了编程的灵活性,不能充分发挥5410的性能。当程序空问大于32 K字时,就需要自己编写程序来实现自举。下面首先介绍使用5410对Am29LV200BFlash存储器进行程序分页烧写的方法,然后重点介绍利用Bootloader来编程实现多页并行自举引导的方法。 1 Am29LV200B Flash 存储器的分页烧写
从表1可以看到,通过对A16、A15等地址引脚的控制,可以实现Flash的页面切换。在烧写过程中,只要在指定页面烧写完预定空间后就对Flash进行换页,然后将烧写指针指向新的一页的首地址,就可以继续进行烧写,当程序烧写完成后需要将页面换回到第1页,在第1页的FFFFH地址写入8000H,这样Bootloader可以从这一页开始自举。整个烧写程序流程如图1所示。
这里会出现一个问题:程序烧写好后,虽然Bootloader可以自动加载程序,但是Bootloader怎样在加载过程中自动换页?下面详细介绍利用片上Bootloader编程实现多页程序并行加载的方法。 2 多页并行加载的实现
图3中的黑体字部分,是嵌入了Loader程序的自举表,有了图3这样形式的并行自举表,系统就可以实现多页程序的并行自举。建立这样的自举表很简单,只需要将hex500格式转换工具生成的Loader的并行自举表和用户程序的并行自举表按图3给定的格式,通过简单的文件操作合并在一起就可以了。注意:Loader程序要占用一部分RAM空间,用户程序空间不能和Loader的RAM空间重叠在一起。 2.2 Loader程序的具体实现
3 总 结 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于DSP的电子节气门PID控制 基于DSP的多路音/视频采集处… 低功耗实时可编程DSP数字助听… 基于DSP+CPLD的断路器智能控… 基于DSP+CPLD的交流电机调速… 基于DSP的分布式微机保护测控… 基于DSP的语音实时变速系统设… 以ARM和DSP嵌入式系统为核心… 基于双DSP的运动目标智能跟踪… 高性能定点DSP位处理单元(BM… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|