ZHCAAO2E February 2015 – August 2024 CC1310 , CC1352R , CC2538 , CC2620 , CC2630 , CC2640 , CC2640R2F , CC2640R2F-Q1 , CC2642R , CC2642R-Q1 , CC2650 , CC2650MODA , CC2652R , CC2652R7 , CC2652RB , CC2652RSIP
表 3-2 展示了 SBL API 的概况。直接映射到引导加载程序命令的 API 函数用 X 进行标记。一些器件系列之间的引导加载程序命令存在一些差异,这也意味着一些器件系列之间的 API 函数存在差异。如果某个函数不受支持,表 3-2 的 Description 字段中会对此进行说明。如果调用了所选硬件不支持的 SBL 函数,则会返回常量 SBL_UNSUPPORTED_FUNCTION
,而不执行任何操作。
SBL 函数名称 | 引导加载程序命令 | 说明 | |
---|---|---|---|
CC2538 | CC13xx、CC26xx | ||
Create |
不适用 | 不适用 | 用于创建 SBL 器件对象的静态函数。 |
calculateCrc32 |
X | X | 计算额定条件范围下的 CRC32。 |
connect |
— | — | 使用 ROM 引导加载程序初始化连接 |
cmdDownloadCrc |
— | X | 使用指定的 CRC32 值准备闪存编程。CC2538、CC13x0 或 CC26x0 引导加载程序中未实现。 |
enumerate |
不适用 | 不适用 | 用于在 PC 上枚举 COM 端口的静态函数。 |
eraseFlashBank |
— | X | 擦除整个闪存。CC2538 不支持,但可以通过使用 eraseFlashRange 实现同样的功能。 |
eraseFlashRange |
X | X | 擦除指定范围内的扇区。使用 CMD_SECTOR_ERASE。 |
ping |
X | X | 发送 ping 命令。 |
readDeviceId |
— | — | 使用 CMD_MEMORY_READ 读取器件 ID。 |
readFlashSize |
— | — | 使用 CMD_MEMORY_READ 读取闪存大小。 |
readMemory32 |
X | X | 从器件存储器中读取 32 位字。 |
readMemory8 |
— | — | 使用 CMD_MEMORY_READ 从器件存储器中读取 8 位字。 |
readRamSize |
— | — | 使用 CMD_MEMORY_READ 读取 RAM 大小。 |
readStatus |
X | X | 读取引导加载程序状态。 |
reset |
X | X | 使用 CMD_RESET 复位器件。 |
run |
X | — | 从指定地址运行器件 CPU。CC13xx 或 CC26xx 不支持。 |
setCCFG |
— | X | 设置 CC13xx 和 CC26xx CCFG。CC2538 不支持。 |
setXosc |
X | — | 切换到外部振荡器。CC13xx 或 CC26xx 不支持。 |
writeFlashRange |
X | X | 使用 CMD_DOWNLOAD 和 CMD_DATA_SEND 写入闪存。 |
writeMemory32 |
X | X | 使用 CMD_MEMORY_WRITE 向器件存储器写入 32 位字。 |
writeMemory8 |
— | — | 使用 CMD_MEMORY_READ 和 CMD_MEMORY_WRITE 向器件存储器执行 8 位写入操作。 |