TMS320F280x DSP系列芯片详解

需积分: 9 1 下载量 181 浏览量 更新于2024-07-24 收藏 1.78MB PDF 举报
"DSP2802原装芯片资料,包括TMS320F2809、TMS320F2808、TMS320F2806、TMS320F2802等系列DSP的硬件设置与应用介绍。" TMS320F2802是德州仪器(Texas Instruments, TI)推出的一款数字信号处理器(DSP),属于C28x家族,该系列芯片在工业控制、自动化、通信等领域有广泛应用。文档提供的信息主要涵盖以下几个方面: 1. **产品规格与特性**: DSP280x系列芯片具备高性能计算能力,适用于实时信号处理。其特性可能包括高速浮点运算、低功耗、丰富的外设接口以及高效能的内存架构。具体到TMS320F2802,它可能拥有特定的性能指标,如工作频率、I/O端口数量、内存大小等,但这些信息在摘要中未直接给出。 2. **开始使用**: 开始使用这部分通常会介绍如何初始化芯片,包括上电设置、复位电路设计、时钟配置等基本步骤,以确保芯片能够正常运行。 3. **引脚分配与信号说明**: 引脚分配部分详细列出了每个引脚的功能,这对于硬件设计至关重要,因为它决定了如何连接外部电路。信号说明则解释了每个信号的作用,帮助理解系统如何与外界交互。 4. **功能概述**: 这部分深入讨论了芯片的内部结构和功能模块。例如,C28x CPU是核心处理单元,执行指令并控制整个系统;内存总线和外设总线构成了哈佛架构,分别用于数据和控制信号的传输;实时JTAG和分析接口用于调试和性能评估;闪存存储程序代码,而SARAM(静态RAM)用于数据存储和运行时工作空间;引导ROM用于加载启动程序;安全性可能涉及加密和保护机制;PIE(Peripheral Interrupt Expansion)块扩展了中断处理能力;外部中断和振荡器/PLL则负责系统时钟管理和响应外部事件;安全设备确保芯片在异常情况下的稳定运行;外设时钟为各个外设提供独立的时序;低功率模式则是为了节省能源。 5. **硬件设置**: 对于DSP2802,硬件设置包括但不限于电源管理、时钟配置、中断设置、外设接口配置等。这些设置直接影响到系统的性能和稳定性,需要根据具体应用进行优化。 6. **应用**: 虽然摘要没有提供具体的应用案例,但DSP2802系列常用于电机控制、电源转换、通信解调、图像处理等场合,其强大的计算能力和实时性使得它成为许多复杂系统的关键组件。 以上信息是基于摘要内容推测的,实际的DSP2802资料应包含更详细的技术参数、编程指南、示例代码和应用实例,以帮助开发者充分利用这款芯片的能力。对于需要深入研究或开发基于TMS320F2802系统的人来说,这份资料将是不可或缺的参考。
2011-06-02 上传
完整的 dsp2802芯片资料 包括 Contents 1 Architectural Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Introduces the architecture and memory map of the T320C28x DSP CPU. 1.1 Introduction to the CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 1.1.1 Compatibility With Other TMS320 CPUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 1.1.2 Switching to C28x Mode From Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2 Components of the CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.1 Central Processing Unit (CPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.2 Emulation Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 1.2.3 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 1.3 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 1.3.1 CPU Interrupt Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 1.4 Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 1.4.1 Address and Data Buses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 1.4.2 Special Bus Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 1.4.3 Alignment of 32-Bit Accesses to Even Addresses . . . . . . . . . . . . . . . . . . . . . . . 1-11 2 Central Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 Describes the architecture, registers, and primary functions of the TMS320C28x CPU. 2.1 CPU Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 2.2 CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 2.2.1 Accumulator (ACC, AH, AL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.2.2 Multiplicand Register (XT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 2.2.3 Product Register (P, PH, PL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.2.4 Data Page Pointer (DP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.2.5 Stack Pointer (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 2.2.6 Auxiliary Registers (XAR0−XAR7, AR0−AR7) . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 2.2.7 Program Counter (PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.2.8 Return Program Counter (RPC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.2.9 Status Registers (ST0, ST1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.2.10 Interrupt-Control Registers (IFR, IER, DBGIER) . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.3 Status Register (ST0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.4 Status Register ST1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34 2.5 Program Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 2.5.1 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 2.5.2 Branches, Calls, and Returns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 Contents x 2.5.3 Repeating a Single Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 2.5.4 Instruction Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40 2.6 Multiply Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2.6.1 16-bit X 16-bit Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2.6.2 32-Bit X 32-Bit Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42 2.7 Shift Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44 3 CPU Interrupts and Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Describes the TMS320C28x interrupts and how they are handled by the CPU. Also explains the effects of a hardware reset. 3.1 CPU Interrupts Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.2 CPU Interrupt Vectors and Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 3.3 Maskable Interrupts: INT1−INT14, DLOGINT, and RTOSINT . . . . . . . . . . . . . . . . . . . . . 3-6 3.3.1 CPU Interrupt Flag Register (IFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3.3.2 CPU Interrupt Enable Register (IER) and CPU Debug Interrupt Enable Register (DBGIER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 3.4 Standard Operation for Maskable Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 3.5 Nonmaskable Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 3.5.1 INTR Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 3.5.2 TRAP Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 3.5.3 Hardware Interrupt NMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21 3.6 Illegal-Instruction Trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 3.7 Hardware Reset (RS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 4 Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 Describes the phases and operation of the instruction pipeline. 4.1 Pipelining of Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 4.1.1 Decoupled Pipeline Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.1.2 Instruction-Fetch Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.1.3 Address Counters FC, IC, and PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 4.2 Visualizing Pipeline Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7 4.3 Freezes in Pipeline Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 4.3.1 Wait States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 4.3.2 Instruction-Not-Available Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10 4.4 Pipeline Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12 4.4.1 Protection During Reads and Writes to the Same Data-Space Location . . . . 4-12 4.4.2 Protection Against Register Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13 4.5 Avoiding Unprotected Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16 4.5.1 Unprotected Program-Space Reads and Writes . . . . . . . . . . . . . . . . . . . . . . . . 4-16 4.5.2 An Access to One Location That Affects Another Location . . . . . . . . . . . . . . . 4-16 4.5.3 Write Followed By Read Protection Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17 Contents Contents xi 5 C28x Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 Describes the addressing modes of the C28x. 5.1 Types of Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5.2 Addressing Modes Select Bit (AMODE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 5.3 Assembler/Compiler Tracking of AMODE Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 5.4 Direct Addressing Modes (DP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 5.5 Stack Addressing Modes (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5.6 Indirect Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10 5.6.1 C28x Indirect Addressing Modes (XAR0 to XAR7) . . . . . . . . . . . . . . . . . . . . . . 5-10 5.6.2 C2xLP Indirect Addressing Modes (ARP, XAR0 to XAR7) . . . . . . . . . . . . . . . . 5-12 5.6.3 Circular Indirect Addressing Modes (XAR6, XAR1) . . . . . . . . . . . . . . . . . . . . . . 5-21 5.7 Register Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 5.7.1 32-Bit Register Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25 5.7.2 16-Bit Register Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26 5.8 Data/Program/IO Space Immediate Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . 5-28 5.9 Program Space Indirect Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30 5.10 Byte Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31 5.11 Alignment of 32-Bit Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-33 6 C28x Assembly Language Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Presents summaries of the instruction set, defines special symbols and notations used, and describes each instruction in detail in alphabetical order. 6.1 Instruction Set Summary (Organized by Function) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 6.2 Register Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 7 Emulation Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 Explains features supported by the TC2800 CPU for testing and debugging programs. 7.1 Overview of Emulation Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7.2 Debug Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.3 Debug Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.4 Execution Control Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 7.4.1 Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 7.4.2 Real-Time Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 Caution about breakpoints within time-critical interrupt service routines . . . . 7-11 7.4.3 Summary of Stop Mode and Real-Time Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 7.5 Aborting Interrupts With the ABORTI Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15 7.6 DT-DMA Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16 7.7 Analysis Breakpoints, Watchpoints, and Counter(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 7.7.1 Analysis Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 7.7.2 Watchpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 7.7.3 Benchmark Counter/Event Counter(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20 7.7.4 Typical Analysis Unit Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-21 Contents xii 7.8 Data Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23 7.8.1 Creating a Data Logging Transfer Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23 7.8.2 Accessing the Emulation Registers Properly . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26 7.8.3 Data Log Interrupt (DLOGINT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27 7.8.4 Examples of Data Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-28 7.9 Sharing Analysis Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30 7.10 Diagnostics and Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-31 A Register Quick Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Is a concise, central resource for information about the status and control registers of the TMS320C28x CPU. A.1 Reset Values of and Instructions for Accessing the Registers . . . . . . . . . . . . . . . . . . . . . A-2 A.2 Register Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 B C2xLP and C28x Architectural Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 Highlights some the architectural differences between C2xLP and C28x, with a focus on registers and memory maps. FB.1 Summary of Architecture Differences Between C2xLP and C28x . . . . . . . . . . . . . . . . . . B-2 B.1.1 Enhancements of the C28x over the C2xLP: . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2 B.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 B.2.1 CPU Register Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-4 B.2.2 Data Page (DP) Pointer Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5 B.2.3 Status Register Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 B.2.4 Register Reset Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10 B.3 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-12 C C2xLP Migration Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1 Provides guidelines for C2xLP code migration to a C28x device. C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2 C.2 Recommended Migration Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-3 C.3 Mixing C2xLP and C28x Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-6 C.4 Code Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7 C.4.1 Boot Code for C28x operating mode initalization . . . . . . . . . . . . . . . . . . . . . . . . . C-7 C.4.2 IER/IFR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7 C.4.3 Context Save/Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-8 C.5 Reference Tables for C2xLP Code Migration Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-10 D C2xLP Instruction Set Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1 Describes the instruction set compatibility between the C2xLP and the C28x. D.1 Condition Tests on Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-2 D.2 C2xLP vs. C28x Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3 D.3 Repeatable Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9 Contents Contents xiii E Migration From C27x to C28x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-1 Highlights the architectural differences between C27x and C28x and describes how to migrate your code from C27x to C28x E.1 Architecture Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2 E.1.1 Changes to Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2 E.1.2 Full Context Save and Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-5 E.1.3 B0/B1 Memory Map Consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-6 E.1.4 C27x Object Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-8 E.2 Moving to a C28x Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-9 E.2.1 Caution When Changing OJBMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-9 E.3 Migrating to C28x Object Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11 E.3.1 Instruction Syntax Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-11 E.3.2 Repeatable Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-13 E.3.3 Changes to the SUBCU Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-14 E.4 Compiling C28x Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-16 F Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-1 Figures xiv Figures 1−1 High-Level Conceptual Diagram of the CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1−2 TMS320C28x High-Level Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 2−1 Conceptual Block Diagram of the CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 2−2 C28x Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2−3 Individually Accessible Portions of the Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 2−4 Individually Accessible Halves of the XT Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2−5 Individually Accessible Halves of the P Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2−6 Pages of Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 2−7 Address Reach of the Stack Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 2−8 XAR0 − XAR7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13 2−9 XAR0 − XAR7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13 2−10 Bit Fields of Status Register (ST0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2−11 Bit Fields of Status Register 1 (ST1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34 2−12 Conceptual Diagram of Components Involved in 16 X16-Bit Multiplication . . . . . . . . . . . 2-42 2−13 Conceptual Diagram of Components Involved in 32 X 32-Bit Multiplication . . . . . . . . . . . 2-43 3−1 Interrupt Flag Register (IFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3−2 Interrupt Enable Register (IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 3−3 Debug Interrupt Enable Register (DBGIER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 3−4 Standard Operation for CPU Maskable Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 3−5 Functional Flow Chart for an Interrupt Initiated by the TRAP Instruction . . . . . . . . . . . . . 3-18 5−1 Circular Buffer with AMODE = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22 5−2 Circular Buffer with AMODE = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24 7−1 JTAG Header to Interface a Target to the Scan Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7−2 Stop Mode Execution States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8 7−3 Real-time Mode Execution States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 7−4 Stop Mode Versus Real-Time Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12 7−5 Process for Handling a DT-DMA Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17 7−6 ADDRL (at Data-Space Address 00 083816) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 7−7 ADDRH (at Data-Space Address 00 083916) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 7−8 REFL (at Data-Space Address 00 084A16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 7−9 REFH (at Data-Space Address 00 084B16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24 7−10 Valid Combinations of Analysis Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-30 A−1 Status register ST0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4 A−2 Status register ST1, Bits15−8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5 A−3 Status Register ST1, Bits 7−0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6 A−4 Interrupt flag register (IFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7 Figures Contents xv A−5 Interrupt enable register (IER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8 A−6 Debug interrupt enable register (DBGIER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 B−1 Register Changes From C2xLP to C28x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3 B−2 Direct Addressing Mode Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-6 B−3 Status Register Comparison Between C2xLP and C28x . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-7 B−4 Memory Map Comparison (See Note A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-13 C−1 Flow Chart of Recommended Migration Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-4 E−1 C28x Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2 E−2 Full Context Save/Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-5 E−3 Code for a Full Context Save/Restore for C28x vs C27x . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-6 E−4 Mapping of Memory Blocks B0 and B1 on C27x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-7 E−5 C27x Compatible Mapping of Blocks M0 and M1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-7 E−6 Building a C27x Object File From C27x Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-8 E−7 Building a C28x Object File From Mixed C27x/C28x Source . . . . . . . . . . . . . . . . . . . . . . . . E-9 E−8 Compiling C28x Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .