EDN China > 技术文章 > 微处理器与DSP > CPU/GPU > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 单片机的FLASH引导装载系统设计

2008年08月12日 ?? 收藏0

  事实上,除了要对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所示。

SST39VF400中的主要命令和写入地址

FBTC程序主函数的状态图

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

  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命令文件如下:

hex6x命令文件

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

设置示意图

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

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

  4 结束语

  按照上述步骤 将用户应用程序成功下载到FLASH后,再将DSP目标板脱离仿真器并重新上电复位,其用户应用程序便可正常运行,而且FLASH擦除和烧写速度比较快。该方法成功解决DSP程序的脱机引导加载问题。事实上,根据不同的应用,也可以参考本设计中实现方法,以求简单、有效地解决FLASH存储器的自举问题。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

单片机? 引导装载?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈