ARM Mbed OS 5.15 + Mbed CLI 搭建实战

为什么选用ARM Mbed OS?

主要是被它使用C/C++开发所吸引, 又有强大的ARM作技术垫底, 个人觉得这个系统会比较适合性能较强的MCU开发吧。 当然它目前面向的是有限个的评估开发板, 一些硬件层面上的接口已经做了适应性的封装。 恰巧手头上有一块DISCO_F769NI,话不多说,开撸。

注意

ARM Mbed OS支持多种工具链(toolchain)编译。

  1. ARM Compiler. 对于Mbed OS 5.15,对编译器的最低要求版本是:V6.11或以上。这里坑比较多,尝试过 V6.7和V6.10.1均无法正常运作OS. 主要表现为link警告, 烧录之后程序无法正常运作。

  2. GCC_ARM. 最大特点是开源免费。跟前者的不足在于:

    • 编译时间较长
    • 编译文件较大
  3. IAR, uARM. 不大了解. 望读者补充

分别使用ARM Compiler V6.13.1和GCC_ARM编译器,对mbed-os-example-blinky项目进行编译,对比如下:

ARM Compiler V6.13.1GCC_ARM
编译时长 ≤ \leq 7min ≤ \leq 12min
.bin大小52KB62KB
警告数2453

注意, 使用旧版编译器(6.11以下)会出现数个链接警告, 烧录后无法正常运行! 主要表现为线程延时不准确, 程序莫名中断等等诡异现象.

Mbed CLI

这是一个使用Python开发的Command line Interface, 集合了项目管理, 远程库导入, 导出IDE项目文件, 使用外部工具链编译Mbed OS项目的辅助工具.
可以粗略地说, 它是一个Git的超集.

项目导入

mbed new .
或
mbed import https://github.com/ARMmbed/mbed-os-example-blinky.git

注意后者会把mbed-os项目导入, 如果你已经下载了os, 这是不必要.
你可以使用git直接clone, 或者查询具体参数, 通用帮助格式:

mbed import -h

导出到IDE

mbed export -i IDE -t BOARD
mbed export -S //查询支持的IDE和board

MDK-SDK 开发者需要注意, 对于OS V5.15, IDE需要选择uvision6才可以哦.

编译

首先, 你要配置工具链的路径.

mbed config -G ARM_PATH C:\Keil_v5\ARM\ARMCC
\\对于V6编译器, 精确到的bin是必须的
mbed config -G ARMC6_PATH C:\Keil_v5\ARM\ARMCLANG\bin 
mbed config -G ARMC6_PATH C:\Keil_v5\ARM\ARMCLANG\bin 
mbed config -G GCC_ARM_PATH C:\GCC_ARM\安装目录\bin

-G是指配置全局参数.

这里两个必要的概念:

  • Tool Chain: 你想利用什么工具链编译项目, 例如: GCC_ARM, ARM, IAR…
  • Target Board: 你想编译的项目在哪个平台上运行, 例如: DISCO_F769NI…

想查询mbed-OS支持哪些主流开发板和工具链, 可以:

mbed compile -S

如果项目目录下有os目录以及程序文件, 那么最简单的指令:

mbed compile -t ARM -m DISCO_F769NI

一般情况下, 我不喜欢把一个几百MB且零零碎碎的mbed-os复制来复制去, 所以更为科学的操作是:

mbed compile -t ARM -m DISCO_F769NI --source ./ --source ../mbed-os

如果不给定--build参数, 会在当前项目目录下创建BUILD目录, 编译+链接后的程序以.bin 形式保存其中, 你可以使用烧录工具(STM32 STLINK Utility) 进行烧录.

配置

如果编译使用的工具链比较固定的话, 可以这样设定全局参数:

mbed config -G TOOLCHAIN ARM

而对于嵌入式程序而言, 不同的项目可能会被烧录到不同的板子上, 你可以设定针对项目的配置参数:

mbed config TARGET DISCO_F769NI

更多配置可以参考Mbed CLI Configuration options

引用

[1] An introduction to Arm Mbed OS 5

[2] Developing: Mbed CLI

[3] Arm Mbed tools->Arm Mbed Online Compiler

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值