当Telink Zephyr环境配置成功并且验证完成之后,便需要明确适用的硬件平台,选择想要尝试的Zephyr例程去进行编译。接下来,将先简要介绍适用于Telink Zephyr的TLSR9系列SoC及其硬件平台,再解释编译例程的主要步骤以及常用的编译命令。
1TLSR9系列SoC芯片
正如本系列文章第一篇《基于泰凌微电子TLSR9系列芯片平台实现Zephyr开发》中所介绍的,Zephyr社群中的源码和Telink Zephyr中均已包含了TLSR9系列SoC的配置,并已支持了配套的B91通用开发套件。因此,我们推荐使用TLSR9系列芯片和B91通用开发套件。其中,TLSR9系列SoC是实现Zephyr RTOS的核心硬件,而B91通用入门套件是搭载该芯片组的一个全集成的硬件平台。
TLSR9系列SoC是泰凌微电子拥抱RISC-V架构后,推出的全新一代高性能、多模、物联网产品家族,支持各种领先的物联网标准和行业规范,包括蓝牙5.3,蓝牙低功耗Mesh,Zigbee 3.0,Thread,Matter,HomeKit和其它定制化的专有协议等。它拥有众多的型号,各型号内部都集成了功能强大的32位RISC-V MCU,拥有丰富的内核功能,也适配了诸多外设模块。其卓越的集成度,和灵活度,可以优化实现物联网设备、耳戴式设备以及可穿戴设备的设备系统成本。
其中,最主要的两个子系列为TLSR95系列和TLSR92系列。前者专注于高性能无线音频产品的开发;后者用于开发各类高性能物联网设备。
2B91通用开发套件
上图中是B91通用开发套件里的主要部件,包括了一块B91通用开发板(PN:TLSR9518ADK80D)及相关配件。详细的硬件信息请访问泰凌微电子B91通用开发套件硬件指南。
3编译Zephyr示例
在本系列的第二篇文章《泰凌微电子Zephyr的编译环境的搭建》中,我们已经尝试过通过编译hello_world示例,来确认是否搭建完成Zephyr的编译环境搭建。接下来,让我们再多了解West这个Zephyr的管理工具,尤其是尝试west build的用法,去编译一些其他的示例。
此处以编译Blinky示例的固件为例,介绍固件编译的步骤。
步骤一
进入Zephyr的演示示例所在的目录:
$ cd~/zephyrproject/zephyr/samples
在这个目录下,可以看到丰富的Zephyr示例,我们可以通过查阅社群中示例中列举出的要求,结合Telink B91开发板(PN:TLSR9518ADK80D)所支持的功能和特性,来选择相适应的示例。
Zephyr社群中的演示示例列表
对Telink B91开发板(PN:TLSR9518ADK80D)的介绍
步骤二
选择想要尝试的zephyr示例,如blinky:
$ cd basic/blinky
Blinky示例的功能是使用GPIO API使得一颗LED灯交替处于开与关的状态,以实现闪烁,因此这个示例需要在开发板上的GPIO引脚连接一颗LED灯,并且在开发板的设备树文件中将这颗LED的alias配置为“led0”。
由于B91开发板已经提供了四颗RGBW色的LED灯珠,它们与PB接口以跳帽的方式相连,同时,也已经在zephyr/boards/riscv/tlsr9518adk80d/tlsr9518adk80d.dts文件中将蓝色的LED灯珠默认配置为“led0”。因此,我们的开发板已经可以支持该应用,更多的要求以及添加开发板支持的配置方法,可以参见社群中对于blinky示例的文档:https://docs.zephyrproject.org/latest/samples/basic/blinky/README.html
步骤三
若当前目录下并没有构建过固件,可以直接执行下面命令去构建Blinky固件:
$ west build -b tlsr9518adk80d
上述命令会默认地在当前目录下创建一个名为build的文件夹,用来存放构建过程中的文件。当完成一个构建后,可以在 build/zephyr 目录下找到一个名为 zephyr.bin 的目标构建文件,该二进制文件也是将用来烧入到开发板上的固件。
4Zephyr构建命令West Build
West是受到Repo工具和Git submodule启发而开发的一个Zephyr仓库管理系统。其中,build属于其扩展命令,使用这个命令可以从源代码构建 Zephyr 应用程序。
让我回头看一下之前编译hello world例程的编译命令:
$ west build -p auto -b tlsr9518adk80d zephyr/samples/hello_world -d build_helloWorld
相较之下,编译blinky的命令较为简单,因为“west build -b
-b或--board,要构建的开发板名,需要与提供给CMake的名称完全相同;若已有构建目录,可以省略该选项。
-c或--cmake,要强制重新运行 CMake。
-d或--build-dir,要显式设置构建目录,如build_helloWorld就为指定输出文件夹;缺省时,构建目录为当前目录的build文件夹。
-p,从头编译,只用-p等同于--pristine=always (或者 -p=always),会将之前编译的内容清除,重新开始编译;-p auto 将检测构建目录是否需要从头开始编译,这也是缺省该选项时候的默认配置。
-- 或
以上选项只是一部分常用选项,请参考Zephyr社群的《Building, Flashing and Debugging》去了解更多编译选项。
关 于 泰 凌
泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。
审核编辑:汤梓红
-
soc
+关注
关注
38文章
4080浏览量
217713 -
编译
+关注
关注
0文章
648浏览量
32764 -
硬件平台
+关注
关注
0文章
21浏览量
11926 -
Zephyr
+关注
关注
0文章
17浏览量
5946 -
泰凌微
+关注
关注
6文章
143浏览量
10771
原文标题:【技术专栏】泰凌微电子Zephyr硬件平台及编译步骤
文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论