泰凌微电子Zephyr硬件平台及编译步骤

描述

 

当Telink Zephyr环境配置成功并且验证完成之后,便需要明确适用的硬件平台,选择想要尝试的Zephyr例程去进行编译。接下来,将先简要介绍适用于Telink Zephyr的TLSR9系列SoC及其硬件平台,再解释编译例程的主要步骤以及常用的编译命令。

TLSR9系列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系列。前者专注于高性能无线音频产品的开发;后者用于开发各类高性能物联网设备。

B91通用开发套件

泰凌微

上图中是B91通用开发套件里的主要部件,包括了一块B91通用开发板(PN:TLSR9518ADK80D)及相关配件。详细的硬件信息请访问泰凌微电子B91通用开发套件硬件指南。

编译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 的目标构建文件,该二进制文件也是将用来烧入到开发板上的固件。

泰凌微

Zephyr构建命令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”是一个基础的编译指令。实际上,west build是利用了Cmake构建系统,下面将介绍一些可选的编译选项:

-b或--board,要构建的开发板名,需要与提供给CMake的名称完全相同;若已有构建目录,可以省略该选项。

-c或--cmake,要强制重新运行 CMake。

-d或--build-dir,要显式设置构建目录,如build_helloWorld就为指定输出文件夹;缺省时,构建目录为当前目录的build文件夹。

-p,从头编译,只用-p等同于--pristine=always (或者 -p=always),会将之前编译的内容清除,重新开始编译;-p auto 将检测构建目录是否需要从头开始编译,这也是缺省该选项时候的默认配置。

-- 或 ,要显式设置应用程序源目录,请将其路径作为位置参数,--为当前目录;zephyr/samples/hello_world为指定路径;缺省时,源目录为当前目录。

以上选项只是一部分常用选项,请参考Zephyr社群的《Building, Flashing and Debugging》去了解更多编译选项。

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分