感谢面包板社区和中移物联网公司所提供的万耦天工物联网开发板评测。万耦天工STM32F103是一款专为初学开发人员设计的开发板,它实际上就是正点原子的精英STM32F103开发板,有关其详细资料可以参考http://openedv.com/thread-308946-1-1.html。建议下载正点原子所提供的全部资料。
OneOS是中国移动针对物联网领域推出的轻量级操作系统,具有可裁剪、跨平台、低功耗、高安全等特点,支持ARM Cortex-A和 Cortex-M、MIPS、RISC-V等主流芯片架构,兼容POSIX、CMSIS等标准接口,提供图形化开发工具,能够有效提升开发效率、降低开发成本,帮助用户快速开发稳定可靠、安全易用的物联网应用。
1. OneOS工具和代码的下载
OneOS的开发环境有三种:
- OneOS Studio:OneOS Studio是面向OneOS操作系统的一站式集成开发环境(IDE),为开发者提供工程创建、开发、编译、调试等OneOS应用开发服务。通过使用
OneOS Studio,开发者可以更加高效地开发OneOS应用,提升开发效率。有关其使用可以参考:
https://os.iot.10086.cn/v2/doc/detailPage/documentHtml?proId=2000000007&proName=Studio&idss=206&versionName=1.0&versionId=3000000006
- OneOS-Cube:简洁易用的命令行构造工具,支持生成定制工程、系统裁剪配置、代码编译、组件贡献与下载。
- MDK(Keil):这是ARM官方提供的MCU开发工具,是很多STM32开发者的首选。在OneOS的官方文档和正点原子的文档中都有很多关于MDK使用的介绍。
本文主要介绍OneOS Cube的使用方法。除了官方所提供的文档,我还建议看看这篇博客:https://blog.csdn.net/qq_42260970/article/details/128675984。它包括一些官方文档中没有提到的信息。
2. 建立工程文件
进入到代码工程目录,任意空白处点击右键,在右键菜单上找到“OneOS_Cube”,即可打开OneOS-Cube的命令行操作界面。OneOS-Cube的使用方法和RT-Thread等操作系统类似。
在OneOS-Cube提示符下输入 project或oos project,进入选择芯片型号界面,通过上下左右方向键选择MCU为stm32f103zet6-atk-elite,如下图所示。
接着按 ESC 出现是否选择界面,按 Y 保存。退出界面后,OneOS-Cube在 projects 目录下,建立stm32f103zet6-atk-elite 文件夹,并帮我们生成的模板程序(下图)。
3. 编译与下载
进入stm32f103zet6-atk-elite 文件夹后,在OneOS-Cube命令行输入oos build目录就可以编译生成可执行文件。
如果程序没有错误,看到生成elf文件就表明成功了。
万耦天工开发板没有提供下载仿真器,如果手上没有下载仿真器可以使用USB下载方式。将原厂提供的USB线插入板子的USB_232接口,连接到电脑后给板子上电会出现一个COM接口,在本例中接口编号为COM13,这个编号在不同的电脑上通常是不同的。在正点原子官方提供的软件中包括FlyMcu,其就是用于通过串口下载程序的。在正点原子提供的开发手册的3.4节介绍了FlyMcu的使用方法。启动FlyMcu后除了修改串口编号之外,其他就使用默认选项即可。
在下载程序之前,我们需要使用arm-none-eabi-objcopy.exe这个工具将.elf格式的文件转换为.hex格式。具体的方法就是启动OneOS-Cube,然后进入C:\OneOS-V3.0.1\projects\stm32f103zet6-atk-elite\out目录,输入以下命令行:
arm-none-eabi-objcopy.exe -O ihex "oneos.elf" "oneos.hex"
这样我们就得到了hex文件,如下图所示。
然后,就可以使用FlyMcu下载刚才生成的oneos.hex文件了。FlyMcu下载程序成功后(如下图),就可以看到板子上的两个LED灯交替闪烁,形成跑马灯的效果。
此时使用串口工具访问COM13,就可以登录到开发板的OneOS Shell中,通过命令查看操作系统状态,如下图。
万耦天工的板子不支持网络,我专门买了一个ESP8266的模块,等模块到货后再来介绍如何利用开发板访问OneNET云。