Thread 中讨论的其他器件: Z-stack
工具/软件:WEBENCH设计工具
您好 E2E 社区、
我正在开发 CC2538 Zigbee Z-stack 嵌入式固件。 我正在尝试实现 OTA 升级、以无线方式升级 SampleLight 的固件。
为此、我参考 TI 的"Z-stack OTA 升级用户指南"pdf"
根据第2章和第4章中的说明、我对 SampleLight 项目进行了以下更改。
1) 1)向应用添加了 OTA 源代码。
zcl_ota.c、 zcl_ota.h、
ota_common.c、 ota_common.h、
ota_signature.c、 ota_signature.h
2) 2)添加了 OTA 连接器配置文件
"Projects">"Options">"Linker"选项卡
$PROJ_DIR$\..\..\Tools\CC2538DB\CC2538-OTA-Image-A.ICF
3) 3)将 OTA 包含目录添加到包含目录列表中。
"Projects">"Options">"C/C++ Compiler"
$PROJ_DIR$\...\OTA\Source
4) 4)添加了配置 OTA 编译标志
"Projects">"Options">"C/C++ Compiler"
ota_client=true
OTA_MMO_sign=true
OTA_HA
OTA_INinitial_image
HAL_IMG_Area=0
5) 5)为 OTA 任务添加了 OSAL zclOTA_EVENT_LOOP 和 zclOTA_Init 任务函数
OSAL_SampleLight.c
#if (定义的 OTA_CLIENT)&&(OTA_CLIENT == true)
#include "zcl_ota.h"
#endif
const pTaskEventHandlerFn tasksArr[]
#if (定义的 OTA_CLIENT)&&(OTA_CLIENT == true)
zclota_event_loop
#endif
void osalInitTasks( void )
#if (定义的 OTA_CLIENT)&&(OTA_CLIENT == true)
zclota_Init( taskID );
#endif
之后、我只清理了项目、然后重新构建所有项目。
生成 结果是
错误总数: 0
警告总数: 0
但是、当我尝试使用 SmartRF06 EB 将代码闪存到 CC2638时。 我遇到了一些错误,比如...
致命错误:无法执行 GO:(错误-1268 @ 0x90001)器件锁定在硬件故障或 NMI 中。
重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。
(仿真包8.0.27.9) 会话中止!
如果我尝试刷写任何其他示例代码,则会成功刷写...
所以我想知道这一点…
1.为什么在刷写代码时会生成此错误? 如何解决此错误?...
2.我是否在配置中做了任何错误的事情?...
请建议在示例 Light 示例项目上实现 OTA 是否需要任何其他配置...
谢谢、尊重
Shiv Patil。