在上一篇中已经简单介绍了Nor Flash。既然要将NorFlash芯片的引导,那就不得不提TMS320C6748的引导方式喽。 在 ti官方的文档SPRAAT2F(《Using the TMS320C6748/6748/6742 Bootloader》)一文中详细叙述了该款DSP所支持的引导方式以及引导过程。接下来就照资料引导来描述一下NorFlash的引导过程。TMS320C6748共支持十余种引导方式。DSP在上电复位后会读取BOOT[7:的状态来决定引导方式。一般通过外部电阻或者***开关形式来配置此功能。具体的引导方式如下表所示。 表1.引导模式选择
由此可见,若是要从NorFlash引导则需要将BOOT[7:接为0000 0001的模式。 确定了Nor Boot还不足以确定引导的具体方式。Nor Boot包含两种模式:AIS模式和非AIS模式。这就是姗姗来迟的NOR Boot Configuration Word(下文就称之为Nor模式配置字吧) 图1.Nor模式配置字
表2.Nor模式配置字位域描述 Bit | | | | | | | | | | | 从NorFlash基地址开始拷贝到DSP L2 Ram的数据长度(仅用于LegacyNorBoot) 1 KB 2 KB ........ 15KB 16KB | | | | | | | [size=10.5000pt] 0x0 0x01 0x02 | 引导模式 Legacy Nor Boot Direct Nor Boot AIS Nor Boot | | | | | | | [size=10.5000pt] [size=10.5000pt]0 [size=10.5000pt]1 | |
由此可见 DSP的引导还是比单片机之辈要复杂一些。选择AIS Nor Boot ,EMIF总线宽度为16那么Nor模式配置字的值就应该是:0x00000021。温馨提示: Nor模式配置字位于NorFlash的第一个字(32位),否则是无法正确引导的。既然确定了引导方式,那就不得不说AIS了,AIS为何物?AIS:Application Image Script。乃为脚本也。是一种存储了引导镜像的脚本。DSP内部的Boot程序能够解析这种脚本并实现程序的引导。需要程序员做的工作有两个。1.将应用程序转换为AIS脚本格式。2.将AIS文件固化到板载的NorFlash芯片中。下边分步述说。 一、AIS文件的生成。
若想将应用程序(以DSP编译生成的.out文件为例)转换为AIS格式的脚本文件就需要详细了解AIS文件的结构。《Using the TMS320C6748/6748/6742 Bootloader》一文对AIS的格式作出了详细的说明,如果要自己动手将.out文件转换为AIS文件,则可以通过研读上文使用高级语言(诸如C、C++、C#.......)来编写个转换工具。值得欣慰的是TI公司已经提供了开源的工具实现AIS文件的转换,名曰“AISgen_d800k008.exe”这里的d800k008是与用的DSP芯片的版本号有关联。版本号的查阅方法如下: 1..通过CCS软件连接DSP设备 2.打开内存查看窗口 3.在地址栏输入地址0x11700000 4.选择查看模式为字符模式则可以看到对应的ROM版本号,如d800k008、d800k006之类的。具体版本的差异见《Using the TMS320C6748/6748/6742 Bootloader》一文索引E。 图2.AISgen软件
通过该软件可以方便的将.out文件转换成AIS文件,并且可以将DSP芯片的时钟以及外设的初始化也生成AIS代码由DSP内部的bootloader程序解析执行。使用方法很简单,根据设备的ROM版本号选择对应的版本。编辑引导模式以及DSP时钟及PLL等配置信息。图中勾选对应的功能后,在General选项卡右侧即Flash选项卡的后边会出现对应的编辑对话框页面。页面下部有啷个路径对话框分别对应.out文件路径以及转化生成的AIS文件的输出路径。配置完毕之后,点击Generate AIS即可在对应的路径下找到转化后的AIS文件。这个文件就是要固化到NorFlash芯片内部的文件。(此时可以用十六进制的文本编辑器(如UltraEdit)查看AIS文件,对照CCS软件中DSP的内存数据可以分析学习一下AIS文件的格式。) 固化如何进行,窃见下文分解……(未完待续!!!) 附件为AISgen软件。好的朋友不知道从哪里下载,其实就在TI的网站上下载的,这里就直接放出来,方便大家使用。
|