Other TMs
AWR2243 器件可大致分为两个子系统:
SOP2 | SOP1 | SOP0 | 引导加载程序模式和运行方式 |
---|---|---|---|
0 | 0 | 1 | 功能模式 |
主要部署模式。加载补丁(通过 SFLASH 或 SPI)后,功能固件开始执行,器件通过 SPI 由命令进行控制。在所选的高速接口 (LVDS/CSI2) 上可以获取 ADC 数据。 | |||
1 | 0 | 1 | 器件管理模式 |
闪存编程模式。使用通过 UART 传输映像的刷写实用程序将映像(补丁)下载到 SFLASH 上。 |
如果检测到存在包含有效映像的串行闪存,引导加载程序会将存储在 SDF 中的映像重新定位到 R4F 和雷达段存储器子系统。在该过程即将结束时,引导加载程序会传递控制 MSS 功能固件。
SFLASH 仅存在于器件的开发版本中,此类版本中的功能固件(MSS 和雷达段)不从 ROM 执行,因此映像较大。
如果未检测到串行闪存或在串行闪存中未检测到有效映像,引导加载程序会通过 SPI 从外部主机接收数据,将映像(补丁)加载到 MSS R4F 和雷达段子系统的相应存储器中。在该过程即将结束时,引导加载程序会传递控制 MSS 功能固件。
引导加载程序操作大致可分为三个阶段:
在功能模式下,引导加载程序尝试的第一种引导模式是从 SDF 对映像进行引导加载。此模式涉及以下步骤:
要点:
通过将器件置于刷写模式便会进入 ROM 辅助映像下载序列。更多有关与外部主机握手以接收映像的详细信息,请参阅第 3 节。与 SDF 的通信如图 2-3 所示。
要点:
除了对通过 UART 接收的每个数据包进行基于校验和的完整性检查之外,还会对整个映像执行基于 CRC32 的完整性检查。当数据包被接收并写入到 SDF 时,会递增计算 CRC32。
在功能模式下,如果在预定义的 SDF 位置找不到有效的映像标头,引导加载程序将进入基于 SPI 的引导加载模式。
此模式涉及以下步骤:
与外部主机的握手如图 2-4 所示。
TI 的 AWR2243 器件支持与 SDF 连接,以便获取在引导加载过程中要加载的映像。在预量产阶段,ROM 的优先级降低,MasterSS 和 RadarSS 固件的大部分执行工作都在 RAM 中发生。因此,大小相当大的映像存在于具有 QSPI 接口的 SDF 中时,加载速度会更快。
闪存编程器通过 UART 连接到器件。具体如下:
“Write File to SFLASH”和“Write File to SRAM”命令仅支持最大 240 字节的数据块大小。
该文件分为 N 条命令,其中:
N = (文件大小/240) + ((文件大小%240) ? 1:0) 也是如此。
以下一个或多个二进制文件包含要下载的文件:
在 AWR2243 ES3.0(量产型号)中,这两个映像合并为单个 MetaImage 文件,必须将此文件刷写到器件中。
TI 用于 XWR12xx 的 DeviceFirmwarePackage (DFP) 将包括同时要下载到 MasterSS 和 RadarSS 的必要文件。
TI 用于 XWR14xx 的 mmWaveSDK 包将包括“Image Creator”实用程序,该实用程序将帮助构建包含上述组件的完整映像,以便与 XWR14xx 器件搭配使用。
对于 AWR2243 ES3.0,用户必须选择单个 MetaImage 文件 (META_IMAGE1)。
命令 | 命令 ID | 说明 | 字段 |
---|---|---|---|
PING | 0x20 | 器件以 ACK 进行响应 | |
OPEN FILE | 0x21 | 此命令提供关于所下载的文件类型的详细信息 | File Size:所下载的文件总大小。 |
File Type:META IMG1(4)、META IMG2(5)、META IMG3(6) 和 META IMG4(7) | |||
Storage type:2 - SFLASH 和 4 - SRAM | |||
WRITE FILE to SFLASH | 0x24 | 此命令提供要写入 SFLASH 的文件内容 | |
WRITE FILE to RAM | 0x26 | 此命令提供文件内容并将文件直接写入 RAM | |
CLOSE FILE | 0x22 | 此命令指示文件下载结束 | Storage type:2 - SFLASH 和 4 - SRAM |
GET STATUS | 0x23 | 此命令用于请求上一条命令的状态。器件以发出的上一条命令的状态进行响应 | |
ERASE DEVICE | 0x28 | 此命令用于擦除 SFALSH 内容 | |
GET VERSION | 0x2F | 此命令用于请求 ROM 版本。器件以版本信息进行响应 | |
ACK response | 0xCC | 器件的响应。 |
每条 UART 命令中的 8 位校验和是命令有效负载所有字节的无符号值的简单无符号和,其中仅保留总和的最低有效 8 位。例如,计算校验和的伪代码为:
checksum = 0
对于有效负载中的每个字节,checksum = (checksum + (unsigned) byte) AND (0xFF)。
从器件返回的 STATUS RESPONSE 是基于最后执行的可操作命令的引导加载程序错误状态。 可操作命令包括 OPEN、WRITE TO FLASH、CLOSE 和 ERASE。PING、GET STATUS 和 GET VERSION 等状态命令不会影响 STATUS RESPONSE 中报告的错误状态。可能返回的 STATUS 值如下:
图 3-2 显示了闪存编程序列。初始握手始于外部主机发出的 UART 中断。此中断之后是图 3-2 所示的命令序列。引导加载程序使用命令响应协议。因此,主机应在发送每条命令后等待,直至接收到来自器件的 ACK 响应。请注意,GET STATUS 命令的独特之处在于其只返回 STATUS RESPONSE 消息而不发送 ACK 响应。
要点: