电子发烧友网 > 处理器/DSP > 正文

基于DSP芯片的Flash程序自举引导的方法实现

2020年11月13日 08:59 次阅读

作者:陈若珠,胡金平,李战明

随着数字信号处理技术的快速发展,DSP被广泛应用于各种数字信号处理系统中。终开发的系统若要脱离仿真器运行,必须将程序代码存储在非易失性存储器中。Flash是一种可在线进行电擦写而掉电后信息又不丢失的存储器,它具有功耗低、容量大、擦写速度快等特点。如何将程序烧写进Flash,并在上电时加载到DSP内部的RAM中,是Flash在DSP系统应用中的两个基本问题。本文基于TI公司的TMS320VC5509A和AMD公司的AM29LV800开发系统,详细阐述了在线烧写Flash并实现自举启动的方法。

1硬件电路设计

图1为TMS320VC5509A与AM29LV800的连接示意图,Flash扩展在CE1空间,起始地址为200000。由于TMS320VC5509A只有14根地址线A0~A13,又因为Flash作为数据存储空间使用时的地址编码采用字寻址方式,则DSP的A0信号无效,所以AM29LV800芯片的低13位地址线A0~A12连接TMS320VC5509A的地址线A1~A13,高6位地址线A13~A18由缓冲串口来扩展。

图1TMS320VC5509A与AM29LV800的连接示意图

AM29LV800是低功耗Flash,工作在2.7V~3.6V电压下,一般存储数据可以保存100年以上,可以重复编程次数高达10万次。A18~A0为外部地址管脚,DQ0~DQ15为16条数据线,为片选控制管脚,为输出控制管脚,为写入控制管脚。

2自启动过程分析及启动表结构

DSP系统的bootloader是指在系统上电时将一段存储在外部非易失性存储器中的程序搬移到DSP片内或片外扩展的高速RAM中并执行的代码。Bootloader程序性地存储在DSP以FF8000H开始的ROM中,DSP系统在复位后PC=FF8000H,即从Bootloader程序首地址开始执行。

TMS320VC5509DSP的Bootloader有多种加载方式[3],如表1所示,设置DSP的GPIO0-GPIO3,DSP在复位时读取这4个引脚上的状态以确定所使用的启动模式。本文使用16-bitEMIF加载方式,虽然连线复杂,需要考虑并行非易失存储器Flash与EMIF接口的匹配关系,但是它的优点很多:不需要外部时钟驱动,非易失存储器种类多样,容量较大,除了存储表之外,还可存储系统需要保存的关键数据,以便在掉电时保存信息。

表1TMS320VC5509A的加载方式

TMS320VC5509A 的加载方式

在这些加载模式下,程序之前先要生成一张载入表,即引导表。引导表的结构如图2所示,引导表携带的信息有代码段和数据段信息,向DSP程序的入口点地址、寄存器配置信息和可编程延时信息。

引导表结构

图2引导表结构

读引导表可知以下信息:程序入口地址是引导表加载结束后用户程序开始执行的地址,也就是用户程序生成的map文件中显示的入口地址;需配置寄存器数表明后面有多少个需要配置的寄存器;当延时标志为0xFFFF时,执行延时,延时长度决定了在寄存器配置后延时多少个CPU周期才进行下一个动作;段字节数、段起始地址和数据表示用户程序中定义的各个段的内容;引导表以32个0为结束标志。

生成引导表的方法:通过在DOS环境下使用hex55.exe转换工具。在转换操作之前,先把用户程序生成的。out文件、包含转换选项的CMD文件hex5509.cmd和转换工具hex55.exe放在同一个文件夹里,在DOS方式下先将路径修改为文件所在的位置,然后在此路径下运行命令hex55hex5509.cmd,即可生成想要的。hex文件。

在转换时,提供引导表的相关配置信息的CMD文件这里被命名为hex5509.cmd,文中用到的hex5509.cmd的内容为:

3Flash烧写

Flash的读操作与传统EPROM读操作相同。由于芯片使用软件保护模式进行操作,用户编程时,只要向指定的地址写入指定的序列,就可以启动Flash芯片内部的写状态机,完成指定的操作。表2为Flash的操作命令说明(对芯片的擦除和编程都是按照字进行的),表中所有的数据都是十六进制数。

Flash的正确操作顺序:先复位,再擦除,编程。

按照表2提供的操作命令时序来实现对AM29LV800的擦除和编程,PA为编程地址,PD为编程数据。Flash扩展在CE1空间,起始地址是200000,所以操作时所有地址必须加上200000。例如烧写工程中擦除部分命令为:

表2AM29LV800B的操作命令说明

AM29LV800B 的操作命令说明

芯片擦除需要占用6个总线周期,而芯片编程需要4个总线周期,依照表3的数据,在每个总线周期对相应地址写入命令字就可以了。用户一般都是对芯片进行写操作,写操作只能使‘1’变‘0’,而擦除只能使‘0’变为‘1’。图3为擦除和编程命令波形图,清楚地显示了擦除和编程操作过程。

图3擦除和编程命令波形图

判断编程或擦除的结束是当把编程或擦除的命令字按照其时序写入Flash时,在写编程命令时序或擦除命令时序的一个WE上升沿到来之后,AM29LV800会自动运行一个嵌入在Flash内部的算法来判断编程或擦除操作是否结束。采用触发位校验的方法,检测数据切换位DQ6(ToggleBit)的状态,连续读数据会使DQ6的值在‘0’和‘1’之间来回切换,当编程或擦除结束时,DQ6就停止值的切换。因此,可以通过连续两次读DQ6的值来判断编程或擦除是否结束,当两次读得的值相同时,说明编程或擦除结束,否则没有。触发位检测算法流程图如图4所示。

图4触发位检测算法流程图

4程序的烧写实现

本系统在CCS仿真环境下对Flash进行在线编程。

先建立一个Flash的烧写工程,并在工程中将要烧写进Flash的引导表文件通过CCS的LOADDATA功能直接加载进DSP的内存,根据加载的首地址和数据长度,在仿真环境下烧写进Flash中。值得注意的是,程序加载的内存空间不能与Flash的烧写程序重叠,否则烧写失败。

烧写完成以后,关掉电源,拔掉仿真器电缆,让仿真器和计算机脱开:重新打开电源,实验板上指示灯闪烁,表明烧写进Flash程序正在运行,自启动成功。

需要补充的是,经过hex55.exe文件转化后的hex文件的引导表文件不能直接导入CCS中,CCS只支持将特别规定的DAT格式文件通过LOADDATA导入内存,所以在导入之前必须先将引导表转化成DAT格式文件,这个工作可以由VC编写一个简单的C语言转化程序实现。

本文阐述了一种针对TMS320VC5509ADSP简单有效的Flash烧写方法,并提出了程序自举引导的实现方法。可以有效地解决程序代码存储问题和DSP脱机自举问题,不仅提高了调试效率,也增加了系统的灵活性。本文讨论的引导方法包括硬件设计及相关程序,已经在笔者的实际开发语音项目中使用并成功运行。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

《嵌入式技术ARM裸机开发》之存储器

我们将《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程   分成4篇:分别是
发烧友学院发表于 2019-01-20 00:00 1420次阅读
《嵌入式技术ARM裸机开发》之存储器

闪存主控芯片厂德明利业绩过山车,毛利率占比远低同...

存储行业是全球集成电路市场中比重最大的应用领域之一,目前存储市场的主控芯片主要来自台湾或美国等厂商,....
发表于 2020-11-13 18:19 30次阅读
闪存主控芯片厂德明利业绩过山车,毛利率占比远低同...

KIOXIA铠侠助力中国市场进入存储新时代

从随身携带的手机U盘,到PC笔记本中的硬盘,存储产品是很多人日常生活中不可缺少的设备,纵览整个存储市....
发表于 2020-11-13 16:03 63次阅读
KIOXIA铠侠助力中国市场进入存储新时代

基于DSP开发板与光源和仿真器的防疲劳驾驶监测系...

系统主要是靠人眼的闭合程度和持续的时间来判断驾驶员是否疲劳,采集到的图像人眼只会存在三个状态分别是:....
发表于 2020-11-13 14:57 14次阅读
基于DSP开发板与光源和仿真器的防疲劳驾驶监测系...

海力士发布第三季度财务报告:盈利暴涨

近日,SK hynix发布截至2020年9月30日的2020财年第三季度财务报告。公司第三季度结合并....
发表于 2020-11-13 14:49 85次阅读
海力士发布第三季度财务报告:盈利暴涨

IBM混合云存储新升级,云闪存云磁带是亮点

如今,混合云已是 IT 领域的关键趋势。 94%的企业正在使用混合云模型混合公共、私有和专用云环境以....
发表于 2020-11-13 14:24 100次阅读
IBM混合云存储新升级,云闪存云磁带是亮点

如何为FPGA的应用和设计提供功能最合适的产品和...

各种应用的推动,使FPGA发展到了一个关键点,它正在逐步取代其他技术,进入新的市场领域,因此,我们面....
发表于 2020-11-13 11:14 17次阅读
如何为FPGA的应用和设计提供功能最合适的产品和...

DSP2407 开发板实现SPI的电路方案设计(原理图+PCB+源代码)

看到一份很不错的电路设计方案,现在分享给大家。本方案为基于DSP2407 开发板实现SPI的电路设计,内附有原理图...
发表于 2020-11-13 10:46 101次阅读
DSP2407 开发板实现SPI的电路方案设计(原理图+PCB+源代码)

基于DSP芯片320LF2407A和加速度传感器...

数据采集模块的硬件设计包括电源板、控制板设计。其硬件构成框图见图1所示。控制板采用DSP芯片作为系统....
发表于 2020-11-13 10:03 63次阅读
基于DSP芯片320LF2407A和加速度传感器...

恩智浦新款S32K3 MCU可解决汽车软件开发的...

S32K3将恩智浦的S32汽车平台从网关和域控制扩展到区域控制和边缘节点。
发表于 2020-11-12 17:12 160次阅读
恩智浦新款S32K3 MCU可解决汽车软件开发的...

上游产能紧张 存储器、LCD驱动全线大涨20%

电子发烧友网报道(文/黄山明)随着全球经济在第三季度开始恢复,电子元器件的需求也开始回暖,带动产业中....
发表于 2020-11-12 17:04 732次阅读
上游产能紧张 存储器、LCD驱动全线大涨20%

格芯在半导体领域正走上新征程

“世界需要我们行业加速数字化转型”,Tom Caulfield强调。这就当然给格芯带来了前所未有的新....
发表于 2020-11-12 15:02 225次阅读
格芯在半导体领域正走上新征程

可编程逻辑器件APEX20K的特点、功能及应用案...

APEX20K是Altera公司生产的首款带有多核架构的可编程逻辑器件,密度在30 000到1 50....
发表于 2020-11-12 11:21 67次阅读
可编程逻辑器件APEX20K的特点、功能及应用案...

如何有效解决因存储器发生故障对系统带来的破坏问题

在各种单片机应用系统中,存储器的正常与否,直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的....
发表于 2020-11-11 15:16 28次阅读
如何有效解决因存储器发生故障对系统带来的破坏问题

基于DSP芯片TMS320F240实现大型换热设...

由上式可看出,要确定c,需求出Δδg。由于Δδg=f(ΔDs,ΔDw,Δtwi,Δε,)描述的是一非....
发表于 2020-11-11 11:02 183次阅读
基于DSP芯片TMS320F240实现大型换热设...

基于DSP芯片TMS320F243实现数字主动控...

从1982年TI(美国德州仪器公司)推出通用可编程DSP芯片以来,DSP技术取得了迅猛的发展。目前D....
发表于 2020-11-11 10:18 118次阅读
基于DSP芯片TMS320F243实现数字主动控...

MediaTek推出MT8192和MT8195芯...

MediaTek 资深副总经理暨智能设备事业群总经理游人杰表示,“随着越来越多的人投入远程办公和在线....
发表于 2020-11-11 09:09 131次阅读
MediaTek推出MT8192和MT8195芯...

美光发布第五代3D NAND闪存

据美媒Anandtech报道,美光日前宣布了其第五代3D NAND闪存,新一代产品拥有破纪录的176....
发表于 2020-11-10 14:56 786次阅读
美光发布第五代3D NAND闪存

基于DSK-TMS320VC5402TMS320...

点焊是将焊件装配成搭接接头,并压紧在两电极之间,利用电流通过焊件时产生的电阻热熔化母材金属,冷却后形....
发表于 2020-11-10 10:30 159次阅读
基于DSK-TMS320VC5402TMS320...

基于数字信号处理器DSP2106X实现雷达信号处...

ADSP2106X处理器支持最为常用的共享总线多处理器并行系统,把各处理器的相应信号线相互连接,如D....
发表于 2020-11-10 10:24 156次阅读
基于数字信号处理器DSP2106X实现雷达信号处...

P89C669单片机和ZLG7289A实现可编程...

P89C669提供更强大的功能,大大提高了系统性能并降低了系统开销。结合增强的特性,P89C669利....
发表于 2020-11-10 08:28 222次阅读
P89C669单片机和ZLG7289A实现可编程...

请问NOR Flash如何操作?

NOR Flash的三种基本操作
发表于 2020-11-10 07:55 0次阅读
请问NOR Flash如何操作?

非易失性MRAM存储器在各级高速缓存中的应用

磁阻式随机存储器MRAM是一种新型存储器,其优点有读取速度快和集成度高及非挥发性等。目前许多研究主要....
发表于 2020-11-09 16:46 58次阅读
非易失性MRAM存储器在各级高速缓存中的应用

佳能公布外接USB热靴存储和供电附件专利 可共同...

佳能公布了一则通过USB链接可安装于相机热靴的外部存储和供电装置。该装置可拓展存储的可用空间,并且通....
发表于 2020-11-09 16:34 205次阅读
佳能公布外接USB热靴存储和供电附件专利 可共同...

磁阻式随机存储器MRAM的基本原理是怎样的

MRAM与传统的随机存储器的区别在于MRAM的信息携带者是磁性隧道结(MTJ ),而后者则是电荷。 ....
发表于 2020-11-09 16:23 64次阅读
磁阻式随机存储器MRAM的基本原理是怎样的

FRAM在新能源汽车技术中的应用

第九届(上海)新能源汽车电驱动与 BMS 暨充电装置技术研讨会及第十四届(上海)新能源汽车核心电源技....
发表于 2020-11-09 15:35 218次阅读
FRAM在新能源汽车技术中的应用

dsp28335

大家好,我想问问普中和研旭是dsp板子的品牌吗?对于初学者应该选择哪一个?谢谢大家。...
发表于 2020-11-09 12:49 63次阅读
dsp28335

基于16位定点运算DSP TMS320C2XX系...

闪速存储器FLASH是可快速擦写的非易失性存储器,自Intel公司于1988年推出FLASH Mem....
发表于 2020-11-09 10:19 171次阅读
基于16位定点运算DSP TMS320C2XX系...

用户用浏览器/邮件/Office 访问Flash链接被getshell应该如何解决?

从公众号获取到一份“ATT&CK手册”,看到了这个漏洞CVE-2018-4878,但是一直没实操,今天刚好有点时间记录下,...
发表于 2020-11-09 07:15 0次阅读
用户用浏览器/邮件/Office 访问Flash链接被getshell应该如何解决?

武汉发布重大项目计划表,涵盖多个集成电路产业项目

10月底,湖北武汉发改委发布2020年市级重大项目计划表,包括162个重大在建项目计划、90个重大新....
发表于 2020-11-08 09:08 375次阅读
武汉发布重大项目计划表,涵盖多个集成电路产业项目

你真的了解Flash闪存吗?Flash闪存具备哪...

发表于 2020-11-06 17:36 186次阅读
你真的了解Flash闪存吗?Flash闪存具备哪...

MRAM高速缓存的组成

磁阻式随机存储器(MRAM)是一种新型存储器,其优点有读取速度快和集成度高及非挥发性等。目前许多研究主要是致力于将...
发表于 2020-11-06 14:17 0次阅读
MRAM高速缓存的组成

基于StarCore技术的高性能DSP芯片MSC...

飞思卡尔(Freescale)公司推出的两种基于StarCore技术的高性能DSPMSC7119和M....
发表于 2020-11-06 11:05 348次阅读
基于StarCore技术的高性能DSP芯片MSC...

关于高带宽存储器的竞逐赛已悄然打响

巨头之间的竞争从不曾停歇。在内存领域,一场关于HBM(High Bandwidth Memory,高....
发表于 2020-11-06 10:31 1160次阅读
关于高带宽存储器的竞逐赛已悄然打响

全球半导体行业触底反弹,中国市场地位凸显

11月5日,第三届中国半导体大硅片论坛2020在南京举行,集微咨询高级分析师陈跃楠发表了以《新环境下....
发表于 2020-11-06 09:34 482次阅读
全球半导体行业触底反弹,中国市场地位凸显

SK hynix:PC端存储器市场将维持本季度稳...

近日,SK hynix发布截至2020年9月30日的2020财年第三季度财务报告。报告指出,公司第三....
发表于 2020-11-06 09:20 483次阅读
SK hynix:PC端存储器市场将维持本季度稳...

基于XCV200/300PQFP240和TMS3...

在移动通信和高速无线数据通信中,多径效应和信道带宽的有限性以及信道特性的不完善性导致数据传输时不可避....
发表于 2020-11-05 17:12 209次阅读
基于XCV200/300PQFP240和TMS3...

半导体行业影响甚大的并购案例总结

2020年下半年全球半导体产业最主要的关键词就是并购。尽管到目前为止,半导体领域的并购数量并不多,但....
发表于 2020-11-05 15:56 422次阅读
半导体行业影响甚大的并购案例总结

微软宣布:将会在今年年底彻底不支持Flash

如果你想要彻底删除Flash,可以安装这个补丁。但是,总有人还是得用Flash的,现在微软没有推送这....
发表于 2020-11-05 09:47 283次阅读
微软宣布:将会在今年年底彻底不支持Flash

生命科学与半导体技术融合为信息存储带来新思路

随着科学技术的发展和文明的进步,人类活动越来越依赖信息,相应的信息量也呈指数级增长。目前,半导体存储....
发表于 2020-11-04 16:58 306次阅读
生命科学与半导体技术融合为信息存储带来新思路

基于STM32的数字示波器设计方案(完整资料)

数字示波器功能: 波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。 任意一种波形幅值在0-3.3...
发表于 2020-11-03 14:10 1212次阅读
基于STM32的数字示波器设计方案(完整资料)

DDR布局的要求有哪些?

       DDR:Double Date Rate 双倍速率同步动态随机存储器。       ...
发表于 2020-10-30 06:53 0次阅读
DDR布局的要求有哪些?

提供524288位串行电擦除可编程只读存储器Atmel®AT255详解

特征 兼容串行外围接口(SPI);支持SPI模式0(0,0)和3(1,1);数据表描述了模式0操作低压运行;1.8(VCC...
发表于 2020-10-26 17:30 202次阅读
提供524288位串行电擦除可编程只读存储器Atmel®AT255详解

【课件】_liteos-a用内存模拟flash

移植一个最小系统要做什么事情?首先,串口驱动:方便调试;地址映射:虚拟地址-物理地址;完善中断子系统:至少提供T...
发表于 2020-10-23 16:22 202次阅读
【课件】_liteos-a用内存模拟flash

51单片机的内部存储结构介绍

     当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那...
发表于 2020-10-22 08:57 0次阅读
51单片机的内部存储结构介绍