# 如何搭建开发环境?

本文介绍如何将第一个 mxos 应用程序跑起来。即:如何借助 mxos-cube 工具  和 VScode 进行 mxos 应用程序:Helloworld 工程获取,编译,下载,运行与调试。

#硬件清单

  1. 原 MiCOKit 或者 最新 MXKit 开发板 1 套。(本文以 MXKit-3080为例,新的开发板详细信息可参考:MXKit 开发套件EXT-AT3080 开发板AZ3166

  2. JLink V8或V9, 或 STlink 仿真器 1 套。(JLink 支持 mxos 所有硬件平台,STlink 仅支持模块:EMW3162,3165,3166 和 3239)

  3. Micro-USB 连接线 1 根。(用于查看调试UART串口 log 信息)

  4. USB转UART 串口模块 1 个。(用于查看用户UART串口 log 信息)

#硬件连接

  1. 连接调试串口: 将 MXKit- 3080 开发板通过 Micro-USB 线连接至 PC,以为开发板提供电源和连接调试串口,即: 用户PC端USB口 ————> Micro USB 串口线 ————> 开发板

  2. 连接仿真器:将开发板的 JTAG 口通过 JLink 或 STLink (仅针对 ST 芯片) 仿真器,连接至 PC,即: 用户PC端USB口 —————> USB线 —————> 仿真器 —————> JTAG 排线 —————> 开发板

  3. 连接USB转串口模块: 若需要 查看用户串口 log,需将 PC 端通过USB转串口模块,连接到开发板的用户串口管脚,即: 用户PC端USB口 —————> USB转串口模块 ————> TX,RX串口线 ————> 开发板

#硬件连接示例

首先,您需要拥有一个模块可以正常运行的硬件环境,可以是以下任意一种:

MiCOKitMXKit-xxxx 开发板,其中:

目前MiCOKit支持模块包括:EMW31653166323930313081

MXKit支持模块包括:EMW308030601103090329030703072

或您自己搭建的 EMWxxx 模块最小工作电路(至少包括:电源,串口,和复位按键功能。若需通过串口烧录,还需解出boot模式状态键:BOOTStatus两个)。

连线图及端口示意如下:

#MiCOKit-xxx连接示例

设备管理器中的端口如下:

2)如果是MXKit-xxx,用户串口和调试串口二合一(注意:RXDTXD的短接头要插上。)

设备管理器中的端口如下:

注意:

若要使用MXKit开发板的 Arduino的用户串口,需要将RXDTXD的短接头拔掉,且需连接ttlusb小板,具体用法和端口号显示可参考MiCOKit

#最小工作电路连接示例

如果是裸模组请自行飞线,示例如下:

模组TX -> MCURX

模组RX -> MCU的TX

具体型号模块的串口管脚分配情况如表:

型号

Bootloader

MFG产测信息

AT指令及透传

正常工作log

CLI调试命令

EMW3031

Pin9,Pin10,921600bps

Pin9, Pin10, 115200bps

Pin21Pin22,115200bps

EMW3060

Pin9,Pin10,921600bps

Pin9, Pin10, 115200bps

Pin21Pin22,115200bps

EMW3080

Pin9,Pin10,921600bps

Pin9, Pin10, 115200bps

Pin21Pin22,115200bps

EMW3162

Pin22,Pin23,921600bps

Pin22,Pin23,115200bps

Pin14Pin4,115200bps

EMW3165

Pin29,Pin30,921600bps

Pin29,Pin30,115200bps

Pin8Pin12,115200bps

EMW3166

Pin29,Pin30,921600bps

Pin29,Pin30,115200bps

Pin8Pin12,115200bps

EMW3239

Pin29,Pin30,921600bps

Pin29,Pin30,115200bps

Pin8Pin12,115200bps

#编译环境快速搭建****

#安装 Python

  • Python - mxos cube 是一个Python脚本,所以您需要在系统中安装Python。mxos bube 在Python version 2.7.13 (opens new window) 下开发和测试. 不兼容Python 3。 注意: Python的可执行文件目录(Python)需要添加到系统的PATH环境变量中,在Python安装时指定。 在终端上输入python命令来验证Python是否正确安装:
$ python --version
  Python 2.7.13

#安装 Git

  • Git or Mercurial - mxos cube支持Git和Mercurial两种, 任选其一安装即可:

    • Git (opens new window) - 版本 1.9.5 及以上。
    • Mercurial (opens new window) - 版本 2.2.2 及以上。 注意: Git和Mercurial的可执行文件目录需要添加到系统的PATH环境变量中。 在终端上输入git命令来验证Git是否正确安装:
git --version
git version 2.11.0 (Apple Git-81)

#安装 mxos cube

您可以从执行 pip install mxos-cube 命令来安装 mxos cube:

$ pip install mxos-cube
  Collecting mxos-cube
  Downloading https://files.pythonhosted.org/packages/53/3a/71fe1e6d4685e639d195dfcfcc050e4b5d672760668fa35ea0bc7b3d1488/mxos_cube-0.1.0-py2-none-any.whl
  Installing collected packages: mxos-cube
  Successfully installed mxos-cube-0.1.0

在 Linux 和 macOS 上, 需要加上 sudo 获得安装权限.

小窍门: 使用mxos --help可以列出所有mxos cube所支持的指令,特定某一个指令的帮助可以使用mxos  --help。

更多mxos cube详细介绍。

#下载 MiCoder Toolchain 工具包

  • MiCoder - mxos cube 调用 mxos OS 中的脚本来完成诸如编译,下载,调试等各项功能. 这些脚本的运行需要用到MiCoder 工具链,它包含了编译 mxos 应用程序所需要的工具链,根据各个 PC 平台提供相应版本。

#配置 MiCoder 路径

MiCoder Toolchain下载后,你需要为 mxos cube 设置 MiCoder 工具链的路径,以便mxos cube调用这些工具来编译mxos项目。 你可以通过以下命令来设置 MiCoder 的路径(注意:路径中不可以包含空格,否则路径无效):

$ mxos config --global MICODER /Users/haiqin/jenny_tools/MiCoder
[mxos] /Users/haiqin/jenny_tools/MiCoder now set as default MICODER in program "demos"

-G --global 开关可以让mxos Cube设置一个全局的参数,而不是针对当前项目的私有参数。

PS: windows环境下斜杠是“/”,与windows文件路径默认的分割符方向相反。

你可以通过下面的命令查看 MiCoder 的配置路径:

$ cd /Users/haiqin/jenny_git/test/demos
$ mxos config --list
[mxos] Global config:
MICODER=/Users/haiqin/jenny_tools/MiCoder
[mxos] Local config (/Users/haiqin/jenny_git/test/demos):
MICODER=/Users/haiqin/jenny_tools/MiCoder

#导入项目

首先,您需要从mxos仓库中导入一个项目。 在终端中输入命令:

mxos import demos

Tips: 若需要看到详细的项目导入过程 log 信息,可以在指令中加入 -v -vv 后缀,形如:

$ mxos import demos -v -vv

也可以写成:mxos import https://code.aliyun.com/mxos/demos.git

代码获取到本地后,切换至当前工程目录:

cd demos

demos 中包含了各单个功能的示例代码,如:os内核,hardware外设,wifi无线,wifi_uart串口透传,安全算法,net网络通信,http通信等,可以满足开发者正常的二次开发。

#命令行编译下载

#编译

命令终端输入 mxos cube 编译命令:

mxos make demos.helloworld@emw3080 total

#下载

命令终端输入 mxos-cube 下载命令:

mxos make demos.helloworld@emw3080 total download JTAG=jlink_swd

下载过程需要几秒钟左右。

如果是第一次下载固件,可在编译命令中使用 total ,即包含 bootloader 工程一起编译, 下载命令中也使用 total,即全片固件下载,包含:bootloader,app 和 射频固件。

#应用程序代码

#include "mxos.h"     
#define os_helloworld_log(format, ...)  custom_log("helloworld", format, ##__VA_ARGS__)

int application_start( void )
{
	/* Start mxos system functions according to mxos_config.h*/
    mxos_system_init( mxos_system_context_init( 0 ) );

    /* Output on debug serial port */
    os_helloworld_log( "Hello world!" );

    /* Trigger mxos system led available on most mxosKit */
    while(1)
    {
     	mxosGpioOutputTrigger( mxos_SYS_LED );
        mxos_thread_sleep(1);
    }
}
更新时间: 2022/10/28 上午11:51:36