0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

泰凌微电子Zephyr固件下载及示例程序

泰凌微电子 来源:泰凌微电子 2023-02-10 11:29 次阅读

在了解适用于Telink Zephyr的B91开发板和如何使用West相关的命令去编译Zephyr应用之后,让我们重温一下将固件下载到开发板上的方法和步骤,并且了解一些配件的连接和使用方式,正式开始体验Zephyr RTOS所提供的例程吧!

1固件下载

泰凌提供多种多样的烧录方式,可以将固件下载到B91开发板上。本文主要介绍在Windows平台下,采用Telink Burning EVK结合Burning and Debugging Tools (BDT)软件进行烧录的两种方式:一,Single Wire (Swire);二,USB Through Swire (DP&DM)。

Swire

Swire是使用BDT工具的默认烧入方式,请按照下面的图示将B91开发板与Telink Burning EVK进行硬件连接。

3c8b7ee6-a8ea-11ed-bfe3-dac502259ad0.png

图中的紫线代表Mini接口的USB线,另外两根线代表杜邦线。其中,蓝色的为SWS - SWM接线,黑色的为GND - GND接线。完成后如下图所示。

3cd294e8-a8ea-11ed-bfe3-dac502259ad0.png

USB Through Swire

第二个方式,是采用USB Through Swire功能,以USB接口的DP&DM当作GPIO口,去模拟上一个方法中的SWS和GND接线。那样,可以省去杜邦线,仅使用Mini-USB接线。

在Zephyr工程的telink_matter等分支中,是默认打开了这个功能,可以方便我们的烧录,更可以运用于某些未接出SWS管脚的情况下。不过,请注意,目前泰凌公司仓库中的develop分支上默认关闭了这个功能,若使用由那个分支上编译的固件,不能使用本办法。

Burning and Debugging Tools

BDT下载地址:

http://wiki.telink-semi.cn/wiki/IDE-and-Tools/Burning-and-Debugging-Tools-for-all-Series/

使用BDT 的简要步骤:

1、⽤另一条Mini-USB线将Burning EVK连接到电脑的USB⼝。

2、双击可执⾏⽂件"Telink BDT.exe"。如果硬件连接正常,可以看到BDT工具的主窗⼝。在状态栏中最左侧可以查看EVK设备的连接状态,在标题栏中也可以看到已被连接的烧录器的设备信息

3d44a5ba-a8ea-11ed-bfe3-dac502259ad0.png

3、(可选)点击工具栏中的"Activate"按钮,可以唤醒并激活MCU(尤其是MCU处于“低功耗”模式中),停止正在进行的任务,使得芯片处于能够被Burning EVK烧录状态。

3d5699fa-a8ea-11ed-bfe3-dac502259ad0.png

4、(可选)点击工具栏中的"SWS"按钮,可以尝试用Swire将Burning Key与将要烧录的目标MCU实现同步。

3d7251a4-a8ea-11ed-bfe3-dac502259ad0.png

*注意:建议每次打开MCU电源时,执行一次Swire同步,以检查Burning EVK与目标板的通信是否正常。若通信状态错误,执行第3步,尝试解决问题。

5、设置Flash擦除的区域大小。

3d7f37c0-a8ea-11ed-bfe3-dac502259ad0.png

点击工具栏中的"Setting"按钮,在弹出的“Setting"窗口中可以看到默认的Flash擦除的区域大小是512KB。

*注意:对于外挂2MB Flash的B91开发板,Flash最后的8KB空间预留用于保存重要的SoC信息,因此最多可以擦除2040KB的Flash区域。

6、点击工具栏中的"Erase"按钮,等待Flash擦除操作完成。

3d8f7324-a8ea-11ed-bfe3-dac502259ad0.png

7、选择需要烧录的固件(通常为二进制的BIN文件)。

3dbe2322-a8ea-11ed-bfe3-dac502259ad0.png

点击"File"菜单里的"Open"子菜单,在弹出的文件选择对话框中选中需要烧录的BIN文件。选中后的BIN文件将显示在底部的状态栏中。

8、点击工具栏中的"Download"按钮,等待Flash烧录完成。

3dd42f00-a8ea-11ed-bfe3-dac502259ad0.png

更多信息及使用方法请参考泰凌Wiki。

2示例程序

这里以之前编译过的示例介绍一下Telink Zephyr所需要用到的一些配件的连接和使用方式。

Blinky与LED灯泡

配置不同的灯光效果,可以用来指示Zephyr应用的运行状态。从之前文章的介绍中,我们知道Blinky固件将会实现一个LED灯闪烁的效果。那么,在B91开发板上烧录了之前编译的Blinky固件后,再点击BDT工具的"Reset"按钮以重新开始供电。然后,MCU将开始先加载再运行这一程序,可以观察到B91开发板上的蓝灯开始闪烁。

3e0801ae-a8ea-11ed-bfe3-dac502259ad0.png

那么,我们是否可以操纵其他LED灯泡呢?答案是肯定的。

结合zephyr/boards/riscv/tlsr9518adk80d/tlsr9518adk80d.dts 中的配置信息,我们可以发现,只需要将 zephyr/samples/basic/blinky/src/main.c 源文件中,代表蓝色LED灯的led0替换为代表绿色LED灯的led1。然后,重新编译一下新的固件,再烧录在B91开发板上,重新上电运行,那么新的固件就将操纵绿色的LED灯泡开始闪烁。

Hello World与串口输出

在开发和维护片上系统的过程中,利用打印输出也是常用的调试手段,在Telink Zephyr工程中,也默认开启了UART协议的串口通信功能来进行打印输出。

如果烧录了之前编译的Hello_World固件,需要获取输出信息以检验输出是否正常。那么,可以采用Telink Zephyr默认GPIO管脚,去外接一个UART-to-USB串口输出模块,连接到上位机上去获取打印信息。可以按照下图的管脚配置进行连接,默认的UART0配置为:

3e1f2e88-a8ea-11ed-bfe3-dac502259ad0.png

其中,GPIO PB2是B91开发板上的输出管脚,与转换模块上的RXD接口相连;类似的,GPIO PB3是输入管脚,应该与TXD接口相连;也别忘了接地,否则可能导致无法输出,或输出异常。

3e3831b2-a8ea-11ed-bfe3-dac502259ad0.png

将串口输出模块接入PC,使用串口读取工具,配置波特率为 115200,8N1,则可以读取 B91开发板的打印信息。从上面截图中,可以看到Hello_world例程默认地输出了Zephyr系统的Banner,并用printk方法打印出了字符串和当前开发板的名字。

当然,Zephyr也提供了Logging子系统供我们使用,下面将简要介绍一下在模块中配置这个子系统的方法。拿Hello_world这个例程举例,在prj.confg中使能CONFIG_LOG这个宏以开启Logging子系统,然后在源代码中,包含logging的头文件,注册hello_world例程为一个模块。使用以下方法可以输出指定的打印信息:

(1)LOG_ERR: 等级为1

(2)LOG_WRN: 等级为2

(3)LOG_INF: 等级为3

(4)LOG_DBG: 等级为4

注意这里的LOG_MODULE_REGISTER方法中的第二个参数指定了可以输出的打印信息的等级,选择了LOG_LEVEL_WRN,即意味着可以输出LOG_ERR和LOG_WRN以上的信息。

3e4e4736-a8ea-11ed-bfe3-dac502259ad0.png

从接收到的串口打印输出来看,也对应了我们在源代码中的配置。

3e603810-a8ea-11ed-bfe3-dac502259ad0.png

当然,这里只是一个简单的用法。更多信息和用法,可以阅读Zephyr社群的文档并参考Logging示例。

审核编辑:汤梓红

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

    关注

    9

    文章

    519

    浏览量

    22337
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79552
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800
  • 开发板
    +关注

    关注

    25

    文章

    4436

    浏览量

    94057
  • Zephyr
    +关注

    关注

    0

    文章

    15

    浏览量

    5890

原文标题:【技术专栏】泰凌微电子Zephyr固件下载及示例程序

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    微TLSR9系列开发套件试用体验】Zephyr环境验证TLSR9518ADK80D Blinky

    Zephyr环境验证TLSR9518ADK80D Blinky 在Nordic的网页发现了TLSR9518B在zephyr支持的例程Telink TLSR9518ADK80D,没有提到mesh。下面
    发表于 07-06 22:01

    基于微电子平台实现OpenHarmony开发—综述

    ,其中包括微电子基于TLSR9系列芯片的B91通用开发套件(B91 Generic Starter Kit)。 该套件是一个可用于评估TLSR9系列芯片组的硬件平台,可用于开发BLE,BLE
    发表于 02-22 10:42

    ARM_KIT_示例程序

    ARM KIT 示例程序_2008,有需要的下来看看。
    发表于 02-18 15:11 19次下载

    锁相环芯片ADF4157示例程序下载

    锁相环芯片ADF4157示例程序
    发表于 04-28 10:36 7次下载
    锁相环芯片ADF4157<b class='flag-5'>示例程序</b><b class='flag-5'>下载</b>

    SIM868_STM32示例程序的详细资料合集免费下载手册免费下载

    本文档的主要内容详细介绍的是SIM868_STM32示例程序的详细资料合集免费下载手册免费下载
    发表于 08-21 08:00 226次下载
    SIM868_STM32<b class='flag-5'>示例程序</b>的详细资料合集免费<b class='flag-5'>下载</b>手册免费<b class='flag-5'>下载</b>

    使用用于MCS-51的IAR嵌入式平台编写的一个示例程序程序免费下载

    本文档的主要内容详细介绍的是使用用于MCS-51的IAR嵌入式平台编写的一个示例程序程序免费下载
    发表于 08-15 17:32 1次下载
    使用用于MCS-51的IAR嵌入式平台编写的一个<b class='flag-5'>示例程序</b><b class='flag-5'>程序</b>免费<b class='flag-5'>下载</b>

    MPU6050传感器九轴的示例程序免费下载

    本文档的主要内容详细介绍的是MPU6050传感器九轴的示例程序免费下载
    发表于 08-21 17:43 31次下载
    MPU6050传感器九轴的<b class='flag-5'>示例程序</b>免费<b class='flag-5'>下载</b>

    Python使用示例程序和工程文件免费下载

    本文档的主要内容详细介绍的是Python使用示例程序和工程文件免费下载
    发表于 06-15 08:00 6次下载
    Python使用<b class='flag-5'>示例程序</b>和工程文件免费<b class='flag-5'>下载</b>

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    发表于 12-07 17:30 17次下载

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

    当Telink Zephyr环境配置成功并且验证完成之后,便需要明确适用的硬件平台,选择想要尝试的Zephyr例程去进行编译。接下来,将先简要介绍适用于Telink Zephyr的TL
    的头像 发表于 02-06 15:41 1686次阅读

    RX722M的示例程序说明

    电子发烧友网站提供《RX722M的示例程序说明.pdf》资料免费下载
    发表于 12-21 10:57 1次下载
    RX722M的<b class='flag-5'>示例程序</b>说明

    瑞萨Flash示例程序01型SC版本(代码Flash)应用说明

    电子发烧友网站提供《瑞萨Flash示例程序01型SC版本(代码Flash)应用说明.pdf》资料免费下载
    发表于 02-19 13:48 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01型SC版本(代码Flash)应用说明

    瑞萨Flash示例程序01型SC版本应用说明

    电子发烧友网站提供《瑞萨Flash示例程序01型SC版本应用说明.pdf》资料免费下载
    发表于 02-19 13:46 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01型SC版本应用说明

    瑞萨Flash示例程序01版V1.20(SC版)发布说明

    电子发烧友网站提供《瑞萨Flash示例程序01版V1.20(SC版)发布说明.pdf》资料免费下载
    发表于 02-19 10:40 0次下载
    瑞萨Flash<b class='flag-5'>示例程序</b>01版V1.20(SC版)发布说明

    RX78M组 EtherCAT ETG.5003示例程序固件信息技术

    电子发烧友网站提供《RX78M组 EtherCAT ETG.5003示例程序固件信息技术.pdf》资料免费下载
    发表于 02-21 14:22 1次下载
    RX78M组  EtherCAT ETG.5003<b class='flag-5'>示例程序</b><b class='flag-5'>固件</b>信息技术