Matter 工具chip-tool 编译之编译方法
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
本文参考了【Matter】基于Ubuntu 22.04 交叉编译chip-tool 这边文章的思路(如有侵权,请联系我删除本文章),现将实现的详细步骤分享出来,同时也方便后续查看。
提示:以下是本篇文章正文内容,下面案例可供参考
一、chip-tool简介
The CHIP Tool (chip-tool) is a Matter controller implementation that allows to commission a Matter device into the network and to communicate with it using Matter messages, which may encode Data Model actions, such as cluster commands.
The tool also provides other utilities specific to Matter, such as parsing of the setup payload or performing discovery actions.
简单理解它就是一个不可缺少的工具而已。
二、实现步骤
2.1 提前编译chip-tool 需要的glibc 库,已验证过glib-2.64.4 /glib-2.76 均可以。
详情请参考我的另外一篇文章 “ubuntu2204 编译glib-2.64.4库”
https://blog.csdn.net/akuanglin/article/details/138907746?spm=1001.2014.3001.5501
编译出来的lib 及目录如下:
这个在后面修改code 的时候需要用到。
2.2 准备arm 交叉工具链
由于平台是RK1126/1109,故采用RK sdk 中交叉工具链 “gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.gz”,cp 到固定的目录解压即可。
如上图:
2.3 准备connectedhomeip 源码
git clone --recurse-submodules https://github.com/project-chip/connectedhomeip.git
git submodule update --init --recursive
最近github 一直拉不全code ,那就多次重复拉取
2.4 build chip-tool 源码
已经编译过chip-tool 的源码可以跳过这一步,
执行如下步骤
source ./scripts/bootstrap.sh
./scripts/examples/gn_build_example.sh examples/chip-tool BUILD_PATH
2.4 build 适合arm平台的 chip-tool
需要修改如下几个地方,现将改动贴图出来。
2.4.1设置glib库使用module
2.4.2 设置arm 交叉工具链
2.4.3 设置PKG_CONFIG_PATH,新建pkg_env.sh,内容如下
## set pkg config path####
PKG_CONFIG_PATH=/home/smida/workspace/glib-2.64.4_prebuild/usr/lib/pkgconfig
export PKG_CONFIG_PATH
echo "pkg path is :$PKG_CONFIG_PATH"`
source pkg_env.sh
2.4.4 编译arm chip-tool。
source ./scripts/bootstrap.sh //由于修改了工具链,所以得重建env
./scripts/examples/gn_build_example.sh examples/chip-tool/ out/rk1109 'target_cpu="arm" target_os="linux"'
总结
根据本文的方法及步骤,可以编译出arm 版本chip-tool。譬如git clone code 时可能会碰到问题,暂无一一列出,可以私信我,一起探讨。