# 搭建环境

# 获取工具链

我们已为开发者准备好工具链:

13.1.0 MacOS (ARM64) (opens new window) Windows (x64) (opens new window)
12.3.0 MacOS (ARM64) (opens new window) Windows (x64) (opens new window)
12.2.0 MacOS (ARM64) (opens new window) Windows (x64) (opens new window)

# 配置工具链

# MacOSX / Ubuntu

首先,将工具链解压,然后,设置几个环境变量:
假设解压路径为: /home/lo

export MADOS_TOOLS_VER=13.1.0
export MADOS_TOOLS_HOME=/home/lo/mados-tools/tools
export MADOS_TOOLS_GCC=$MADOS_TOOLS_HOME/arm-none-eabi-$MADOS_TOOLS_VER
export MADOS_TOOLS_OPENOCD=$MADOS_TOOLS_HOME/openocd
export MADOS_TOOLS_BIN=$MADOS_TOOLS_GCC/bin:$MADOS_TOOLS_OPENOCD/bin
export PATH=$MADOS_TOOLS_BIN:$PATH
1
2
3
4
5
6

将以上内容加入到用户配置文件末尾

平台 用户配置文件
MacOSX ~/.zprofile
Ubuntu ~/.bashrc

执行以下命令:

source ~/.zprofile # MacOSX
1
source ~/.bashrc   # Ubuntu
1

# Windows

我们提供基于 WSL2 + Ubuntu 的集成开发环境 (SDK),以减少开发者踩坑周期。

# 在Windows中开启 WSL2 支持

  • "硬件虚拟化":
    根据主板手册在 BIOS 中设置
  • "程序与功能":
    Program&Function
  • "启用或关闭 Windows 功能":
    WindowsFunction
  • "适用于 Windows 的 Linux 子系统 & 虚拟机平台" WSL&VM

# WSL2 更新&设置

wsl --update
wsl --set-default-version 2
1
2

WSL2_Install&Configure

# 导入开发环境

  • 新建文件夹,用作存放导入的开发环境。
    如: D:\Games\wsl-ubuntu-22.04
  • 导入
wsl --import Ubuntu-22.04 D:\Games\wsl-ubuntu-22.04 mados-tools-13.1.0-WSL2.tar
1

WSL2_Import

# usbipd-win 安装

下载地址 (opens new window)

# (可选)高级用户

我们也提供独立工具链,供高级用户自行配置使用。

13.1.0 Windows (x64) (opens new window)
12.3.0 Windows (x64) (opens new window)
12.2.0 Windows (x64) (opens new window)

# 安装代码编辑器

推荐使用Visual Studio Code (opens new window)作代码编辑工具。

TIP

# 安装 VSCode 扩展

扩展名 发布者名称 *Windows
AutoLaunch philfontaine Ubuntu
C/C++ Microsoft Ubuntu
Lua sumneko Ubuntu
Arm Assembly dan-c-underwood Ubuntu
Cortex-Debug marus25 Ubuntu
Remote - WSL Microsoft Windows

TIP

  • Windows 平台,插件安装需要区分主/子系统,详见下文。
  • MadOS 支持 Lua,详见后续章节。

# Windows

WSL2 + Ubuntu 提供了一个运行在 Windows 内部的子系统(即,Ubuntu),编译调试都在 Ubuntu 中完成。 默认情况下,VSCode调试器 都是与 Windows 相关联,而非 Ubuntu ,因此,需要做一些额外设置,改变关联。

TIP

相比 MinGW / CygWinWSL2 提供非"转译"的 Linux 内核,即,运行效率更高。

# 首次启动 Ubuntu & VSCode

wsl -u lo
code .
1
2

WSL2_First WSL2_FirstVSCode WSL2_FirstVSCodePlugs

# 再次启动 Ubuntu & VSCode

  • 打开 VSCode & 连接至 Ubuntu WSL2_ReopenVSCode WSL2_ReconnectVSCode

# 将调试器关联至 Ubuntu

usbipd wsl list
usbipd wsl attach --busid <busid>
1
2

WSL2_USB_Windows WSL2_USB_Ubuntu

TIP

每次 重接调试器重启 Ubuntu 都需手动将 调试器 关联至 Ubuntu

# 验证

# GCC

执行

arm-none-eabi-gcc -v
1

输出版本信息

gcc version 13.1.0 (GNU Tools for MadOS [ARM][20230428][gcc-13.1.0][Newlib])
1

# GDB

执行

arm-none-eabi-gdb -v
1

输出版本信息

GNU gdb (GNU Tools for MadOS [ARM][20230428][gdb-13.1]) 13.1
1

# OpenOCD

执行

openocd -v
1

输出版本信息

xPack Open On-Chip Debugger 0.12.0-01004-g9ea7f3d64-dirty (2023-01-30-17:03)
1

TIP

MacOSX平台需要赋予依赖动态库权限:

sudo xattr -r -d com.apple.quarantine $MADOS_TOOLS_HOME/openocd/libexec
1