sample light/switch 代码走读


sample light/switch code review对于抓包详细走读 sample_light/switch 工程。osalosal 是ti cc25x0 系列用以实现ble、zigbee 复杂协议栈的一个操作系统抽象层,算不上一个完整的操作系统,但是也完成操作系统内核的部分功能,可以总结为一个基于事件驱动的优先级任务管理,同时实现了任务间通信的基本事件、消息机制,并且实现动态内存管理。同时整个osal还维护一个时间节拍。osal每一个完整任务由task_init和task_event_loop组成,前者完成任务初始化,后面用以处理任务通过事件被触发后的事件处理函数。每一个事件...

zigbee 协议概述


zigbee protocol overview摘要:zigbee 协议是异常庞大的知识体系,入门到精通是一个需要注重方法的过程。重心需要放在协议的学习,很多初学者,包括我都早期都是把zigbee当成了单片机学习使用,本末倒置。剥茧抽丝,这里直接开始协议概述。对于复杂协议的深入学习,我们都建议一个通用的学习方法,从规范->实现->抓包,规范是无关编程语言、语法的自然语言表达,实现是各家sdk、api、源码的集合,对于抓包则是对应实现理解规范的中间过程。一旦对zigbee有了感性认识,都建议从直接入手规范文档,做到知其所有然。如上架构图详细展示了zigbee 协议规范的系统框图...

a64 uboot 代码走读


uboot code review术语术语描述fdtflattened device tree流程st=>start: main op0=>operation: board_init_f op1=>operation: init_sequence_r op2=>operation: main_loop op3=>operation: do_sunxi_flash op4=>operation: do_boota e=>end:do_boota st->op0->op1->op2->op3->op4-> 已经...

linux gtk 编程


gtk programTop 5 Programming Languages For Developing Linux Desktop Applicationshttps://www.gtk.org/Overview of GTK+ and its LibrariesGTK+ 3 Reference Manual安装开发包和下载源码$sudo apt-get install libgtk-3-dev $sudo apt-get source libgtk-3-dev提示:如果要下载源码,需要在/etc/apt/sources.list 设置src 源。编译$sudo apt-get in...

linux 看门狗


linux watchdog基于debian8 的linux设备会低概率的出现的系统完整死机,这里思考给linux添加完整的看门狗策略。debian8已经采用systemd用以初始化系统和守护、管理系统进程。这里同时存在systemd 的watchdog和keepalive 单元文件,以及sysv init的watchdog keepavlie 初始化脚本,同时systemd也直接看门狗启动,那么该如何选择呢?systemd直接支持看门狗启动;pi@350-tf-s2 ~$ cat /etc/systemd/system.conf # This file is part of sys...

supervisor 开机不能正常启动


supervisor not startsupervisor启动失败,通过/var/log/syslog 直接报错。supervisor[2124]: Starting supervisor: systemd[1]: Starting System Logging Service... systemd[1]: Starting Permit User Sessions... zabbix-agent[2122]: zabbix_agentd starting...failed (zabbix_agentd [2144]: /etc/zabbix/zabbix_agentd.d/: [2...

a64 io 中断初始化失败


a64 gpio interrupt init failed如下pc0,gpio64 设置中断触发边沿失败。~$ tree /sys/class/gpio/gpio64/ ├── active_low ├── device -> ../../../1c20800.pinctrl ├── direction ├── power │   ├── async │   ├── autosuspend_delay_ms │   ├── control │   ├── runtime_active_kids │   ├── runtime_active_time │   ├── runtime...

ti-rtos 异常解密


ti-rtos 异常解密详细介绍基于ti-rtos高级调试组件rov用以cc1310/cc2640 等sdk异常主动调试。异常现象正常的,程序会进入IDLE模式,程序会停留在(0x10001486),也就是IDLE模式;通常的,在我们完成我们程序功能时候,不可避免会遇到程序运行至一个死循环。如下图所示:这个时候,我们要考虑程序异常了。解密异常提示:更多可以参考如下。swcu117d-CC13xx, CC26xx SimpleLink Wireless MCU Technical Reference Manual.pdf swru393c-CC2640 and CC2650 SimpleL...

跨平台更新制作rootfs


跨平台更新制作rootfs在x64( pc /ubuntu 18.10 )跨平台编译arm64 的debian rootfs完整镜像,通常地,更新rootfs都是直接放在目标机上面,制作更新好rootfs后再拷贝回编译机。对于目标机平台,通常拷贝rootfs需要非运行时环境,所以例如在emmc的rootfs需要通过sd卡系统启动去执行拷贝操作。同时拷贝/压缩还需要关心文件的uid、gid、用户名、组名、执行权限。稍不注意,功亏一篑。这里通过介绍qemu虚拟跨平台制作、更新rootfs。qemu-debootstrap如我们知道,debootstrap用以通过源制作debian/ubunt...