之前我们已经搭建好了Matter编译环境,那么这一次就可以进行编译和烧录步骤。
想要编译Matter固件,需要在Matter根目录下进行操作,如果使用Docker镜像的话则是在/root/chip目录中进行操作。
1 编译Matter固件
01 进入Docker镜像并进入/root/chip目录
$ sudo docker run -it --rm -v ${MATTER_BASE}:/root/chip -v /dev/bus/usb:/dev/bus/usb --device-cgroup-rule "c 189:* rmw" connectedhomeip/chip-build-telink
$ cd /root/chip
注意:
其中的${MATTER_BASE}是Matter项目根目录的绝对路径,例如:
/home/${YOUR_USERNAME}/connectedhomeip
其中的${YOUR_USERNAME}是您的用户名文件夹,connectedhomeip是Matter项目文件夹的名称
02 启动Matter环境
$ source scripts/activate.sh
03 转到示例所在目录
$ cd examples/*app*/telink
app:lighting-app或light-switch-app
04 若已经存在构建,则删除原有构建时产生的目录
$ rm -rf build/
05 构建示例
$ west build
您可以在 build/zephyr目录下找到名为zephyr.bin的目标构建文件。
2 编译chip-tool
编译chip-tool同样需要在Matter根目录下进行操作,如果使用Docker镜像的话则是在/root/chip目录中进行操作。因此只需重复第一节的1、2步骤,进入Docker镜像并启动Matter环境再继续接下来的步骤。
01 进入示例所在目录
$ cd examples/chip-tool
02 若已经存在构建,则删除原有构建时产生的目录
$ rm -rf build/
03 构建示例
$ gn gen out
$ ninja -C out
04 生成的chip-tool所在目录
$ {MATTER_CHIP_TOOL_EXAMPLE_FOLDER}/out/chip-tool
3 烧录Matter固件
BDT是Windows下的烧录工具,可以通过以下链接下载最新的烧录工具。
http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/BDT.zip
下载后解压到本地文件夹即可。
1、硬件连接
请按照下面的图示进行硬件连接。图中的紫线代表 USB 线,其他两根线代表杜邦线。
注意:务必使用默认的跳帽配置
2、连接烧录器和电脑
用USB线连接烧录器到电脑的烧录器口,打开之前下载的BDT烧录软件,如果一切正常,可以在系统标题栏中可以看到已经被连接的烧录器的设备信息。
3、确认硬件连接
点击工具栏中的“SWS”按钮,如果能看到“Swire ok!”的信息,则表明所有的硬件连接都没有问题。
4、设置Flash擦除的区域大小
点击工具栏中的"Setting"按钮,在弹出的"Setting"窗口中可以看到默认的 Flash 擦除的区域大小是 512KB,将 Flash 擦除的区域大小设置为"2040"。
注意:对于外挂 2MB Flash 的 TLSR9518 开发板,Flash 最后的 8KB 空间预留用于保存重要的 SoC 信息,因此最多可以擦除 2040KB 的 Flash 区域。
5、擦除Flash
点击工具栏中的"Erase"按钮,等待 Flash 擦除操作完成。
6、选择BIN文件
点击"File"菜单里的"Open"子菜单,在弹出的文件选择对话框中选中需要烧录的 BIN 文件。选中后的 BIN文件将显示在底部的状态栏中。
7、烧录
点击工具栏中的"Download"按钮,等待 Flash 烧录完成。
到这里,就已经完成了Matter固件的编译和烧录以及chip-tool的编译。