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

当telink zephyr环境配置成功并且验证完成之后,便需要明确适用的硬件平台,选择想要尝试的zephyr例程去进行编译。接下来,将先简要介绍适用于telink zephyr的tlsr9系列soc及其硬件平台,再解释编译例程的主要步骤以及常用的编译命令。
1 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系列。前者专注于高性能无线音频产品的开发;后者用于开发各类高性能物联网设备。
2 b91通用开发套件
上图中是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 的目标构建文件,该二进制文件也是将用来烧入到开发板上的固件。
4 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多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。


电脑硬盘坏了的症状
感应同步器的信号处理
航空航天和国防移动化永不满足的带宽应用
领跑OpenHarmony富设备产业化!润和DAYU200通过OpenHarmony兼容性测评
自主移动机器人有哪些常见的问题
泰凌微电子Zephyr硬件平台及编译步骤
比亚迪2018年营收超1300亿 2019年销量目标锁定为65万辆
国产芯片为什么人才不够?芯恩董事长:国内人才被国外挖走了
百立德全圆角模切设备的规模应用介绍
Aiven使企业能够更轻松地访问Apache Kafka生态系统
iPhone8最新外观价格首次公布:双面玻璃回归,售价超10000美元
RTL8380M/82M管理型交换机系统软件操作指南四:QoS/服务质量
全球首款300Hz屏幕刷新率游戏本发布
别再迷恋外面的IMAX影院了,TCL C10电视来家里啦!
未来十年不变的AI是什么?吴恩达等专家关于2024年AI发展趋势的预测
18岁美国姑娘发明充电神器 20秒完成手机充电
Rapidus首席执行官:不和台积电直接竞争
华为正式进军电视行业,电视行业,要变天了
从小米MIX2的爆裂,到小米Note3的冷寂,雷军都干什么了?
至为芯科技的TWS耳机充电仓方案芯片IP5518,集成MCU智能识别功能