协议解码介绍
正点原子逻辑分析仪协议解码功能 是基于
sigrok项目中的libsigrokdecode源码而开发。 为了满足产品性能和功能的需求, 我们对libsigrokdecode的源码做了一部分修改, 详细修改内容请参考源码。当然这不是本文存在的意义, 本文主要教大家如何在
ATK-Logic软件中新增一个协议解码器:
新增一个官方不支持的协议解码器
基于基础协议 (例如: spi), 新增一个上层协议
sigrok介绍
sigrok是一个非常优秀的开源项目, 其中libsigrokdecode支持一百多种常见的协议, 基本可以满足工程师大部分的开发调试需求。 该项目支持各种设备类型 (例如逻辑分析仪、示波器等) , 大家有兴趣的话可以去以下官网了解一下。相关信息可以参考以下官方链接:
sigrok : http://sigrok.org/wiki/Main_Page github : https://github.com/sigrokproject libsigrokdecode : https://github.com/sigrokproject/libsigrokdecode
开发环境
libsigrokdecode提供了一个通用的协议解码架构, 让我们很容易的为它增加新的协议解码器。
libsigrokdecode可分为两个部分:协议解码库和协议解码器
协议解码库是由C语言编写的一个协议解码框架, 主要为协议解码器搭建一个运行环境。这部分代码我们可以不用去了解, 只用知道有这个东西即可。
协议解码器是由Python编写的, 与协议解码相关的脚本文件, 负责处理协议逻辑, 并将解析后的协议数据返回给上层应用。新增一个协议解码器, 其实就是为了编写这个python文本。
协议解码器基于Python (>=3.0)实现, 如果想新增解码器, 必须先学会 Python3 的基础语法。这对于有编程基础的人来说, 学习起来还是非常容易的。警告
ATK-Logic软件基于python3.7环境。
ATK-Logic软件可以直接使用libsigrokdecode项目中提供的协议解码器, 无需做任何修改。
源码下载
- 正点原子协议解码库源码:
- sigrok 官方下载链接 :