ZHCAAI4H October   2021  – April 2024 SM320F28335-EP , SM320F28335-HT , TMS320F280023-Q1 , TMS320F280025-Q1 , TMS320F280025C-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F2802-Q1 , TMS320F28020 , TMS320F280200 , TMS320F28021 , TMS320F28022 , TMS320F28022-Q1 , TMS320F280220 , TMS320F28023 , TMS320F28023-Q1 , TMS320F280230 , TMS320F28026 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027 , TMS320F28027-Q1 , TMS320F280270 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28030 , TMS320F28030-Q1 , TMS320F28031 , TMS320F28031-Q1 , TMS320F28032 , TMS320F28032-Q1 , TMS320F28033 , TMS320F28033-Q1 , TMS320F28034 , TMS320F28034-Q1 , TMS320F28035 , TMS320F28035-EP , TMS320F28035-Q1 , TMS320F28050 , TMS320F28051 , TMS320F28052 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28053 , TMS320F28054 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F28055 , TMS320F2806-Q1 , TMS320F28062 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28066-Q1 , TMS320F28067 , TMS320F28067-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28P550SJ , TMS320F28P559SJ-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2编程基础知识
  6. 3ROM 引导加载程序
  7. 4闪存内核 A
    1. 4.1 执行
      1. 4.1.1 应用加载
  8. 5闪存内核 B
    1. 5.1 实施
      1. 5.1.1 数据包格式
      2. 5.1.2 CPU1 内核命令
      3. 5.1.3 CPU2 内核命令
      4. 5.1.4 数据包数据
      5. 5.1.5 状态代码
    2. 5.2 F2838x SCI 闪存内核
      1. 5.2.1 CPU1-CPU2 内核
        1. 5.2.1.1 内核命令
      2. 5.2.2 CPU1-CM 内核
        1. 5.2.2.1 内核命令
      3. 5.2.3 使用 SCI 引导加载程序下载工程
        1. 5.2.3.1 CPU1-CPU2
        2. 5.2.3.2 CPU1-CM
      4. 5.2.4 使用 Code Composer Studio (CCS) 软件编译工程
        1. 5.2.4.1 CPU1-CPU2
        2. 5.2.4.2 CPU1-CM
    3. 5.3 F28P65x SCI 闪存内核
      1. 5.3.1 CPU1 内核
        1. 5.3.1.1 主机-内核通信:ControlCard
        2. 5.3.1.2 主机-内核通信:LaunchPad 开发套件
        3. 5.3.1.3 内核命令
      2. 5.3.2 使用 SCI 引导加载程序下载工程
        1. 5.3.2.1 CPU1
      3. 5.3.3 使用 CCS 编译工程
        1. 5.3.3.1 CPU1
    4. 5.4 F28P55x SCI 闪存内核
      1. 5.4.1 实施
        1. 5.4.1.1 指定应用的闪存组和扇区
      2. 5.4.2 内核
      3. 5.4.3 使用 SCI 引导加载程序下载工程
      4. 5.4.4 使用 CCS 编译工程
  9. 6实现示例
    1. 6.1 器件设置
      1. 6.1.1 闪存内核
      2. 6.1.2 硬件
    2. 6.2 主机应用程序:serial_flash_programmer
      1. 6.2.1 概述
      2. 6.2.2 使用 Visual Studio 编译和运行 serial_flash_programmer
      3. 6.2.3 为 F2806x 运行 serial_flash_programmer(闪存内核 A)
      4. 6.2.4 为 F2837xD 运行 serial_flash_programmer(闪存内核 B)
    3. 6.3 主机应用程序:具有 SCI 闪存内核的 F28004x 上的固件更新
      1. 6.3.1 概述
      2. 6.3.2 引导引脚配置
      3. 6.3.3 使用三种引导模式
      4. 6.3.4 执行实时固件更新
  10. 7疑难解答
    1. 7.1 常见问题
    2. 7.2 SCI 引导
    3. 7.3 F2837x
      1. 7.3.1 F2837xS
      2. 7.3.2 F2837xD
      3. 7.3.3 F2837xD LaunchPad™
    4. 7.4 F28P65x
  11. 8参考资料
  12. 9修订历史记录

状态代码

某个命令完成后,内核会向主机发送一个与主机到器件数据包格式相同的状态数据包。这可让主机知道是否发生错误、错误类型以及错误发生的位置。命令字段是上次完成的命令。数据字段包含一个 16 位状态代码,后跟一个发生错误的 32 位地址。如果没有错误,地址会是 0x12345678,除非它响应 DFU 命令(在这种情况下,地址是刚刚编程到闪存中的应用程序十六进制引导格式文件的入口点地址)。该地址随后可用于 RUN 命令,后者会告知 CPU 跳转到哪个地址并开始执行代码。

表 5-8 显示了状态代码。

表 5-8 状态代码
状态代码 说明
NO_COMMAND_ERROR 0x1000 返回成功的结果
BLANK_ERROR 0x2000 返回擦除错误的结果
VERIFY_ERROR 0x3000 返回验证错误的结果
PROGRAM_ERROR 0x4000 返回编程错误的结果
COMMAND_ERROR 0x5000 返回命令无效的结果
UNLOCK_ERROR 0x6000 返回解锁失败的结果

对于 Program、Erase 和 Verify 命令,如果检测到闪存 API 错误,则会将其显示在控制台上。如果检测到 FMSTAT 错误,将显示 FMSTAT 寄存器内容。

状态代码
INCORRECT_DATA_BUFFER_LENGTH 0x7000
INCORRECT_ECC_BUFFER_LENGTH 0x8000
DATA_ECC_BUFFER_LENGTH_MISMATCH 0x9000
FLASH_REGS_NOT_WRITABLE 0xA000
FEATURE_NOT_AVAILABLE 0xB000
INVALID_ADDRESS 0xC000
INVALID_CPUID 0xD000
FAILURE 0xE000

有关这些错误的更多详细信息,请参阅器件特定闪存 API 指南。