### C671x Flash烧写流程详解 #### 一、引言 在嵌入式系统开发中,DSP(Digital Signal Processor)作为一种专门用于信号处理的微处理器,因其高效的处理能力而广泛应用于通信、音频、视频等多个领域。TI(Texas Instruments)作为DSP领域的领军企业,其C6000系列DSP更是受到众多开发者的青睐。本文将详细介绍TI C6713 DSP的Flash烧写流程,旨在帮助开发者更好地理解和掌握这一过程。 #### 二、准备阶段 在进行Flash烧写前,我们需要确保已经完成以下准备工作: 1. **已经使用RAM调试好的程序**:这是烧写前的一个必要条件,意味着程序已经在RAM中调试通过,可以正常运行。 2. **原有的CMD文件**:CMD文件用于定义链接器如何链接程序,包括代码段、数据段等的分配。为了进行Flash烧写,需要准备一个适合Flash烧写的CMD文件。 #### 三、修改与编译 接下来是具体的烧写流程步骤: 1. **加入二次Boot程序并替换CMD文件**:为了实现从Flash启动,我们需要在原有程序中加入二次Boot程序,并替换原有的CMD文件。二次Boot程序主要用于处理从Flash读取主程序的过程。需要注意的是,如果原程序中使用了中断表,则需要保持中断表不变。 2. **重新编译生成.OUT文件**:修改后的源代码需要重新编译,生成适用于Flash烧写的.OUT文件。编译过程中,需要确保所有必要的配置正确无误,例如选择正确的编译器选项和目标设备等。 #### 四、二次Boot程序解析 二次Boot程序是烧写流程中的关键部分,下面详细解析其中的一部分代码示例: ```assembly ;========boot_c671x.s62======== ; .title "Flash boot up utility" .option D, T .length 102 .width 140 ; global EMIF symbols defined for the c671x family .include boot_c671x.h62 .sect ".boot_load" .global_boot .global_text_size .global_text_ld_start .global_text_rn_start .ref_c_int00_boot: ;************************************************************************ ;* DEBUG LOOP - COMMENT OUT B FOR NORMAL OPERATION ;************************************************************************ zero B1 _myloop: ; [!B1] B_myloop nop 5 _myloopend: nop ;************************************************************************ ;* CONFIGURE EMIF ;************************************************************************ ;**************************************************************** ;* EMIF_GCTL = EMIF_GCTL_V; ;**************************************************************** mvkl EMIF_GCTL, A4 || mvkl EMIF_GCTL_V, B4 mvkh EMIF_GCTL, A4 || mvkh EMIF_GCTL_V, B4 stw B4, *A4 ;**************************************************************** ;* EMIF_CE0 = EMIF_CE0_V ;**************************************************************** mvkl EMIF_CE0, A4 || mvkl EMIF_CE0_V, B4 mvkh EMIF_CE0, A4 || mvkh EMIF_CE0_V, B4 stw B4, *A4 ;**************************************************************** ;* EMIF_CE1 = EMIF_CE1_V (setup for 8-bit async) ;**************************************************************** mvkl EMIF_CE1, A4 || mvkl EMIF_CE1_V, B4 mvkh EMIF_CE1, A4 || mvkh EMIF_CE1_V, B4 stw B4, *A4 ;**************************************************************** ;* EMIF_CE2 = EMIF_CE2_V (setup for 32-bit async) ;**************************************************************** mvkl EMIF_CE2, A4 || mvkl EMIF_CE2_V, B4 mvkh EMIF_CE2, A4 || mvkh EMIF_CE2_V, B4 stw B4, *A4 ``` 此段代码主要实现了以下几个功能: - 设置一个Debug循环,可用于测试目的。在实际部署时应注释掉这部分代码。 - 配置EMIF(External Memory Interface),为后续读取Flash做准备。 - `EMIF_GCTL`:设置全局控制寄存器。 - `EMIF_CE0`、`EMIF_CE1`、`EMIF_CE2`:分别配置CE0、CE1、CE2芯片选择寄存器,用于设定不同接口的工作模式。 #### 五、总结 本文详细介绍了TI C6713 DSP的Flash烧写流程,包括准备工作、修改与编译以及二次Boot程序的具体实现。通过对这些步骤的理解和实践,开发者可以更加高效地完成DSP程序的Flash烧写工作,进而推动项目的顺利进展。在未来的工作中,我们还可以进一步探索更多高级的烧写技术和优化方法,以满足不断发展的需求。
2024-10-10 10:31:24 226KB C6713 dsp flash
1
非常好的资源
2022-09-03 10:06:43 709KB mcu
1
专题资料(2021-2022年)AVR单片机相关软件安装及编译烧写流程.doc
2022-07-22 21:00:16 1.04MB 互联网
1
TI毫米波雷达
2021-09-22 10:12:29 427KB TI 毫米波雷达
1
本资源详细介绍了如何对XILINX SPI FLASH进行烧写,每一步都有截图,非常详细
2021-04-06 19:17:07 1.37MB xilinx SPI FLASH 的烧写流程
1