| 本帖最后由 wangqy_ic 于 2024-3-14 10:15 编辑 
 #申请原创#
 
 最近拿到了极海 APM32F407IG Tiny 开发板:
 
   
 虽说是 Tiny 系列的板子,但是板上资源还是不错的:
 
 LED: 2KEY: 2RESET KEY: 1ETH: 1USB Type-C: 2USB Host: 1Geehy LINK/SWD: 1Arduino: 1
 所以,草率地决定给它移植 Mbed OS~
 
 因为移植的步骤还是比较多的,所以预计分三部分讲解移植过程,目标是可以运行官方的 mbed-os-example-blinky 示例,串口正常。
 当然如果反响不错,我们也可以移植网口等更多驱动,“上云”去玩玩~
 
 1. 移植的准备工作(本篇)
 2. 基本框架的移植(准备中)
 3. 驱动的移植(准备中)
 
 正文开始……
 
 1. 关于 Mbed OS
 
 
 官网 → https://os.mbed.com/mbed-os/ 不再过多介绍了,直接开始:
 
 2. 必需的工具软件
 
 必需的软件及其对应建议下载链接:
 
 Python: https://www.python.org/downloads/Git: https://git-scm.com/downloadsCMake: https://cmake.org/download/Ninja: https://github.com/ninja-build/ninja/releases编译器:
 GCC-ARM: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloadsARM AC6: https://developer.arm.com/downloads/view/ACOMPEARM AC5: https://developer.arm.com/downloads/view/ACOMP5
 
 安装过程中,如果询问是否需要加入 PATH 环境变量,请确保加入。如果没有,后面也会处理。2.1. Python 如果没有安装过 Python,可以从官网下载安装。版本至少是 3.6,我自己使用的是 3.9。除了 Python 程序,还需要一些其他 Python 软件包,稍后安装。
 
 2.2. Git
 可以从官网下载,版本至少是 3.19,建议安装最新版。
 
 2.3. CMake
 建议安装最新版。
 
 2.4. Ninja
 建议安装最新版。
 
 2.5. 编译器
 可以使用 GCC-ARM,或者 ARM 的编译器,下载后安装。
 后续的移植工作都是基于 GCC-ARM。
 
 3. 安装后的检查
 各个工具安装完成后,需要确保各自的可执行程序都加入了 环境变量 PATH 中,可以这样检查:打开命令行窗口,进行如下图的操作:
 
   
 上面的命令中,最后一条执行不成功,原因就是 arm-none-eabi-gcc.exe 这个程序所在的目录不在环境变量 PATH 中,导致系统找不到程序。
 解决方法就是把 arm-none-eabi-gcc.exe 所在目录,追加到环境变量 PATH 即可,其他程序类似~
 
 每个必需的程序都能正常运行后,就可以执行接下来的操作。
 
 4. 安装mbed-tools
 这个是 mbed-os 的开发工具,是一个基于 Python 的软件包,需要按以下步骤操作。打开命令行窗口,执行:
 
 安装完成后,可以检查一下是否安装成功。继续在命令行窗口执行如下图的操作,出现类似结果说明安装没有问题:
   
 到此,准备工作完成。
 
 5. 导入 mbed-os 代码
 接下来就可以进行移植工作了。移植可以是从零开始,也可以从示例工程开始。为了更方便快捷的搞移植,我们选择从官方的实例工程开始,这样既可以验证开发环境是否OK,也又一个可以随时可以用于验证的正确的工程。
 
 在电脑上,选定一个目录作为工作目录,后续的开发工作都在此目录下进行。
 
 打开命令行窗口,切换至工作目录,执行以下命令:
 
 这个命令会创建一个 mbed-os 工程项目,并且从 GitHub 拉取mbed-os 源码,所有需要花费一些时间。mbed-tools import mbed-os-example-blinky apm32f407_tiny
   
 如果网络不好,这个命令可能会失败。如果大家的网络确实不好,我可以打包一份分享出来~
 
 5.1. 额外的 Python 软件包
 mbed-os 的编译,还需要几个额外的软件包,按以下方法安装:
 
 在命令行窗口中,进入 apm32f407_tiny 目录并执行:
 
 这个命令的含义是从mbed-os\tools\cmake\requirements.txt 读取软件包列表,并安装这些软件包。pip install -r mbed-os\tools\cmake\requirements.txt
 安装完成后我们尝试使用官方支持的开发板进行一次编译,以验证整个开发环境。在命令行窗口执行:
 
 如果一切都正常无误,会看到最后输出类似以下图片:mbed-tools compile -t gcc_arm -m NUCLEO_F103RB
   
 图上的内容是程序的统计信息,可以看到RAM,Flash 的占用~
 通过上面的步骤,我们验证了开发环境是没有问题的,接下来就是正式的移植工作。
 
 
 // 第一部分到此结束,静待下一篇~
 
 
 
 
 |