zigbee 协议概述


对于复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法的自然语言表达,实现是各家sdk、api、源码的集合,对于抓包则是对应实现理解规范的中间过程。一旦对zigbee有了感性认识,都建议从直接入手规范文档,做到知其所有然。

zigbee 协议架构

如上架构图详细展示了zigbee 协议规范的系统框图,不管是采用ti、silicon-labs、nordic的soc方案,以及它们对应不同sdk实现,核心标准都来自如上规范。这些规范主要是由ieee 组织zigbee 联盟共同定义,并且公开了完整的规范文档。

...

linux 看门狗


基于debian8 的linux设备会低概率的出现的系统完整死机,这里思考给linux添加完整的看门狗策略。

debian8已经采用systemd用以初始化系统和守护、管理系统进程。这里同时存在systemd 的watchdog和keepalive 单元文件,以及sysv init的watchdog keepavlie 初始化脚本,同时systemd也直接看门狗启动,那么该如何选择呢?

...

Operating System Abstraction Layer (OSAL)


The BLE protocol stack, the profiles, and all applications are all built around the Operating System Abstraction Layer (OSAL). The OSAL is not an actual operating system (OS) in the traditional sense, but rather a control loop that allows software to setup the execution of events. For each layer of software that requires this type of control, a task identifier (ID) must be created, a task initialization routine must be defined and added to the OSAL initialization, and an event processing routine must be defined.

Optionally, a message processing routine may be defined as well. Several layers of the BLE stack, for example, are OSAL tasks, with the LL being the highest priority (since it has very strict timing requirements).

...

ti-rtos 异常解密


详细介绍基于ti-rtos高级调试组件rov用以cc1310/cc2640 等sdk异常主动调试。

正常的,程序会进入IDLE模式,程序会停留在(0x10001486),也就是IDLE模式;

通常的,在我们完成我们程序功能时候,不可避免会遇到程序运行至一个死循环。如下图所示:

这个时候,我们要考虑程序异常了。

...

跨平台更新制作rootfs


在x64( pc /ubuntu 18.10 )跨平台编译arm64 的debian rootfs完整镜像,通常地,更新rootfs都是直接放在目标机上面,制作更新好rootfs后再拷贝回编译机。

对于目标机平台,通常拷贝rootfs需要非运行时环境,所以例如在emmc的rootfs需要通过sd卡系统启动去执行拷贝操作。

...