对zigbee (cc2530)进行OTA(上)

15 篇文章 2 订阅

有两个文件可以参考G:\chromeDownload\material\ZStack-CC2530-2.5.1a\Documents的“Over Air Download For CC2530”和“Z-Stack OTA Upgrade User's Guide”

 

推荐抓包工具  官方参考  Ubiqua

直接修改协调器和作为客户端的路由,不能找到客户端(可以组网),修改hal_board_cfg.h后才行

具体修改内容是#ifndef HAL_KEY
#define HAL_KEY TRUE
#endif改为

#ifndef HAL_KEY
#define HAL_KEY FALSE
#endif  否则不会自动组网

 

关于服务器和PC通信可以追源代码:以映像通知为例

uint16 OTA_Dongle_event_loop( uint8 task_id, uint16 events )  -> OTA_ProcSysAppMsg((mtSysAppMsg_t *)MSGpkt); ->void OTA_ProcessSysApp_ImageNotifyReq(uint8 *pData)  -> zclOTA_SendImageNotify(&dstAddr, &imgNotifyParams);  ->status = zcl_SendCommand( ZCL_OTA_ENDPOINT, dstAddr, ZCL_CLUSTER_ID_OTA,
                            COMMAND_IMAGE_NOTIFY, TRUE,
                            ZCL_FRAME_SERVER_CLIENT_DIR, TRUE, 0,
                            zclOTA_SeqNo++, (uint16) (pBuf - buf), buf );

注意要使能服务器的zigbee串口流控,2.5a协议栈的OtaServer.exe默认开启流控,如果不开启,数据只能上行,不能下行,参考   Z-Stack 3.0.2的OtaServer.exe可以配置流控

zigbee默认串口0;   流控RTS  P0.5 ;    CTS P0.4

注意RTS和DTR的连接顺序

注意用协议栈,客户端一定要加外扩flash芯片

#define HAL_OTA_XNV_IS_INT         TRUE //TRUE是不使用外flash
#define HAL_OTA_XNV_IS_SPI        !HAL_OTA_XNV_IS_INT

客户端默认SPI引脚用的串口1的备用位置,片选P1.3  SCLK P1.5

外部flash要接到这几个引脚

如果要用外扩flash,要重新定义引脚,片选引脚除了重定义还要改函数,flash函数参考

static void HalSPIWrite(uint32 addr, uint8 *pBuf, uint16 len)同上

目前进行的情况,flash改外扩了,但是出现问题,OTA空中下载更新虽然显示100%但是之后就跳转显示“download failed(150)”,还没解决,待定搁置····

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大饼酱人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值