TMS320C6713 DSP与AM29LV040 Flash自举引导实现

1 下载量 21 浏览量 更新于2024-08-28 收藏 739KB PDF 举报
"基于EDMA的TMS320C6713片外Flash自举引导" 在嵌入式系统设计中,特别是在基于DSP(数字信号处理器)的系统中,通常需要将程序存储在非易失性存储器中,如Flash,以确保在系统断电后能够恢复运行。TMS320C6713是一款由TI(Texas Instruments)公司生产的浮点型DSP,而AM29LV040是一款常用的Flash存储器。本文主要探讨如何利用TMS320C6713 DSP和AM29LV040 Flash存储器构建一个自举引导方案,该方案通过JTAG加载进行初始化,并利用增强型直接存储器访问(EDMA)技术将程序代码从Flash复制到DSP的内部RAM中执行。 首先,自举引导过程中,关键步骤包括配置引导引脚和相关寄存器。TMS320C6713的引导过程通常依赖于特定的硬件引脚配置,这些引脚在上电时决定程序加载的位置。例如,可能需要设置BOOTMODE引脚来选择从外部Flash启动。此外,还需要正确配置相关寄存器,如 Boot Configuration Register (BOOTCFG) 和 Program Memory Control Register (PMC),以指定启动源和加载模式。 EDMA是一种高效的内存管理机制,它允许数据在不同的存储器之间异步传输,减轻CPU的负担。在本例中,EDMA被用来将AM29LV040中的程序代码块复制到TMS320C6713的RAM中。这一过程涉及设置EDMA的通道、源地址、目标地址、传输计数和触发条件等参数。一旦EDMA传输开始,DSP的CPU可以执行其他任务,而无需等待数据传输完成。 引导程序通常由汇编语言编写,因为引导阶段需要精确控制硬件操作。这个引导程序会初始化EDMA控制器,设置传输参数,然后触发EDMA传输。当传输完成后,CPU会跳转到RAM中的第一条指令,从而开始执行加载的程序。 在实际工程应用中,这样的自举引导方案已经得到了验证,证明是可靠且有效的。然而,设计过程中需要注意兼容性和时序问题,比如Flash的读取速度与DSP的处理速度匹配,以及EDMA传输与系统时钟的关系等。 在实现过程中,还涉及到错误处理和调试,如检查Flash的编程和校验错误,确保EDMA传输的正确性,以及在遇到异常情况时有适当的故障安全机制。 基于EDMA的TMS320C6713片外Flash自举引导方案提供了一种高效的方法来加载和执行存储在非易失性存储器中的程序。这种设计方法适用于需要快速启动和高可靠性要求的嵌入式系统,特别是那些处理大量实时数据的场合。