本文介绍了在TMS320C6713平台上进行Flash存储器烧写及BootLoader程序的设计方法,发表于2008年。
在某些离线运行的数字信号处理器(DSP)应用中,为了确保系统的可靠性和处理速度,需要在系统启动后自动地将程序代码从外部存储器加载至内部DSP执行,这种能够实现自动加载功能的系统被称为引导装载系统(BootLoad System)。本段落以TI公司的TMS320C6713 DSP为例,并结合ST公司的SST39VF800A Flash存储器,详细探讨了基于该DSP的Flash烧写及BootLoad程序设计的方法。
当TMS320C6713 DSP系统加电后,其初始化过程由RESET信号控制。在RESET信号从低变高时,会锁存BOOTMODE[4:3]信号以确定存储器映射方式、地址0处的存储类型以及复位后的自举模式。复位结束后,DSP将从内存的0地址开始执行指令。
TMS320C6713 DSP支持三种引导方式:主机引导(Host Boot)、仿真引导(Debug Boot)和外部ROM引导(External ROM Boot)。其中,仿真引导是特殊的主机引导形式。因此,在实际应用中通常采用两种模式:主机引导和ROM引导。
#### 主机引导 (Host Boot)
主机引导通过外部设备(通常是计算机)将代码加载到DSP的内部RAM执行的过程适用于开发阶段,便于调试与更新程序。该方式使用仿真器通过JTAG接口完成:
1. 初始化 JTAG 接口。
2. 设置自举模式:设置BOOTMODE寄存器以确保处于主机引导模式。
3. 加载程序代码:将编译好的代码通过JTAG接口加载到DSP内部RAM中。
4. 启动执行:在内部RAM中设定程序入口地址并开始执行。
#### 外部ROM引导 (External ROM Boot)
外部ROM引导是指预先烧录在外接非易失性存储器(如Flash)中的程序代码,在系统启动或复位时直接从这些存储设备读取和执行。这种方式适用于产品化阶段,能提高系统的稳定性和启动速度:
1. 烧写 Flash 存储器:使用硬件编程器或软件工具将程序烧录到外部的SST39VF800A等Flash中。
2. 设置自举模式:通过BOOTMODE寄存器设置确保DSP处于外部ROM引导模式。
3. 执行代码: DSP上电后根据BOOTMODE设定直接从Flash读取并执行。
#### 以 SST39VF800A Flash为例的引导程序设计
本部分详细介绍如何使用SST39VF800A实现从Flash启动:
1. **选择合适的Flash存储器**:SST39VF800A是一款高性能、高传输速率且低功耗的Flash。
2. **烧写代码**:利用TI公司的DSP开发工具中的硬件仿真器,通过软件编程方式将程序代码烧录至SST39VF800A中。这种方式无需格式转换,速度快且引导程序简洁明了。
3. **编写引导程序**:包括必要的初始化步骤如设置工作模式、JTAG接口等。
4. **验证测试**:在实际环境中测试以确保正确从Flash加载并执行。
#### 结论
基于TMS320C6713的Flash烧写及BootLoad程序设计对于提高DSP系统的可靠性和处理速度至关重要。通过合理的设计和实施引导程序,不仅可以简化开发流程还能提升产品性能表现。本段落提供的方法与实例可以作为类似项目的参考,帮助工程师更好地理解和实现引导装载系统的设计。