Mbed CLI 简介

      MbedOS 的在线Mbed编译环境实现使用浏览器进行Mbed 的云端开发。对于初学者而言这是十分方便的,免去了许多开发环境的安装和配置,而且能方便地实现软件更新和发布,分享。但是在线编译也有不足之处,就是有时候网络太不给力了。另外,源代码只能在Mbed 的社区中分享。不能发布到github。

如果不使用在线编译,你可以有两个选择:

1 在线编译环境中建立应用程序的代码,然后将程序export 成第三方编译工具的项目,比如keil uvision 项目。它会将转换好的项目自动下载下来。然后用keil 工具编译。在这过程中,好像没有遇到任何的麻烦。这样做几乎没有什么毛病,不过下载下来的程序包含了MBed OS 本身的源码。所以将近100多兆。如果你开发的程序比较多,或者希望保存在github中的话。占用的存储空间十分巨大。网络传输也很慢。

2 .使用Mbed CLI 工具

   Mbed CLI 是Arm Mbed OS的命令行工具,实现在本地计算机上Mbed 应用程序的开发。需要说明的是,Mbed CLI 并不是完全脱机操作的。有时也需要联机操作,比如会自动从Mbed 网站上下载Mbed OS的最新版本。Mbed CLI 可以管理多项目,也就是多个项目可以分享同一个Mbed OS 的源代码。如果你采用github 代码仓库的话,你只需要上传应用程序的代码。而不需要上传上百兆的Mbed OS.在github 上,同样可以实现代码分享和版本控制。而Mbed CLI 也可以将github 上的Mbed 应用程序下载下来,在本地编译。这样做大大节约的github 的空间和上下传代码的时间。

  我们在modular-2 应用程序的开发过程中,就采取了将代码保存在github 上,使用Mbed CLI实现程序编译的方法。下面我们就来谈谈Mbed CLI 的使用

安装

预先安装的程序

  1.  python 2.7
  2. Git - version 1.9.5 或更高版本
  3. Mercurial - version 2.2.2 过更高版本

windows 上安装Mbed CLI

windows 用户 Mbed CLI for Windows installer 来安装Mbed CLI。

也可以通过运行下列程序来安装最新稳定的版本

$ pip install mbed-cli

安装好Mbed CLI 后,你可以在windows 的CMD 命令行中输入Mbed,测试一下是否安装成功。

管理多个Mbed 项目

你可以使用Mbed CLI 管理多个Mbed OS 项目,这样做的好处在于,你只需要在本地保留一套Mbed OS 的源码,多个项目共享。

  1.  建立一个projects 文件夹。
  2. 导入mbed-os,操作系统源码
  3. 配置projects/mbed-os 为全局变量MBED-OS-DIR 
  4. 建立一个项目projects
$ cd <projects directory>
$ mbed import mbed-os
$ mbed config -G MBED_OS_DIR <projects directory>/mbed-os
[mbed] <projects directory>/mbed-os now set as global MBED_OS_DIR
$ mbed new project1
[mbed] Creating new program "project1" (git)
$ mbed new project2
[mbed] Creating new program "project2" (git)

添加应用程序的源码 

建立好projects项目后,你可以向里面添加一个main.cpp ,例如一个LED 闪灯程序。

#include "mbed.h"

DigitalOut myled(PC_6);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(1.0); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

编译

mbed compile -t GCC_ARM -m NUCLEO_F429ZI  --source project1  --source mbed-os --build BUILD/project1

如果编译成功的话,在你的projects 目录下会出现一个BUILD 文件夹和project1 子文件夹。其中就有一个 projects.bin .

这就是你需要的目标代码,直接拖到Mbed 板的盘符中,就完成烧入了。

导入已有项目 

Mbed OS 托管在https://github.com/ARMmbed 上,在其中一些demo 项目,你可以通过Mbed CLI 导入到本地。

$ mbed import https://github.com/ARMmbed/mbed-os-example-blinky
[mbed] Importing program "mbed-os-example-blinky" from "https://github.com/ARMmbed/mbed-os-example-blinky" at latest revision in the current branch
[mbed] Adding library "mbed-os" from "https://github.com/ARMmbed/mbed-os" at rev #dd36dc4228b5
$ cd mbed-os-example-blinky

Mbed CLI 也可以将自己托管在github 上的程序导入到本地projects 目录中。例如下载github@modular2 中的项目helloworld。

$ mbed import https://github.com/modular2/helloworld
[mbed] Importing program "helloworld" from "https://github.com/modular2/helloworld" at latest revision in the current branch
[mbed] Adding library "mbed-os" from "https://github.com/ARMmbed/mbed-os" at rev #dd36dc4228b5
$ cd helloworld

其实,Mbed CLI 还是蛮好用的。具体细节可以参考: github.com@ARMmbed/mbed-cli

猜你喜欢

转载自blog.csdn.net/yaojiawan/article/details/82890910