首先,感谢面包板社区寄送的正点原子和中国移动OneOS合作开发的万耦天工精英开发板,板载MCU为STM32F103ZET6,包装精致完美,酷黑雄厚,是我喜欢的风格。作为正点原子的老客户,拿到包裹之后就发现正是正点原子,这熟悉的感觉呀~
开箱之后,内装有
- 一块开发板,与STM32F1精英版相同,所不同的是这款板子还印了OneOS的丝印。
- 一根USB数据线,用作下载线
- 一块变压器,像手机充电器一样,不同的是输出电压为DC+12V,为单片机供电
- 还有两根蓝色杜邦线,目前还没想到两根能干啥哈哈哈,但好像是正点原子传统了。
点灯,就是点亮星星之火,希望可以成燎原之势。快速入门一款单片机绕不开点灯。点灯简单,但醉翁之意不在酒,通过本篇可以了解基于STM32F103的OneOS的开发工具和开发流程,为后续的开发奠定基础。本以为会有正点原子的手把手教程,但结果是得自己参考OneOS的开发文档。
一、环境搭建:参考官方DOC——开发环境搭建 · OneOS开发者文档 (10086.cn),各个工具介绍就在此省略,百度或者官网介绍得很详细。
- 安装keil MDK,安装对应的pack。 http://www.keil.com/download/
- 下载OneOS源码和安装OneOS-Cube,注意这是两个文件(官方文档标注不明,困惑了我好久)。
- OneOS源码:下载中心 (10086.cn)
- OneOS-Cube:下载中心 (10086.cn),注意:下载下来是一个安装包,安装以后,自动会添加右键打开功能。不需要cmd进行操作了。这一点与开发文档不同,可能是旧的说明文档,没有及时更新。
- STM32CubeMX 软件下载与安装:STM32CubeMX - STM32Cube初始化代码生成器 - 意法半导体STMicroelectronics
右键功能如下图所示,只要在工程文档中,在空白处按鼠标右键,选择红框所示的OneOS _Cube即可运行cube环境,即可进行交互式配置。
二、点灯流程:
1、找到源码文件夹下的projects文件夹,图1
2、打开以后右键,再点击运行OneOS_Cube,如图2所示,输入project,如果源码是3.0以上,应该输入oos project,直接project会报错。
3、回车进入图3,用键盘方向键选择最后一项,回车,选择图4,回车(一开始看到是STM32F103RC不要慌,要选择最后一项以后回车回车回车,再选择芯片型号)
4、保存,save即可。自动生成文件图5
5、cd到这个生成的文件夹目录:cd E:\OneOS\OneOS-V2.4.1\projects\stm32f103zet6-atk-elite
6、输入oos build,如果可以顺利生成elf文件,则代表成功。
7、回到cube代码交互,输入 menuconfig,进入配置界面。依次选择 Drivers>MISC>[ ] Using led device drivers, 空格或者回车在选项前打 *;
8、选择 Drivers>PIN>Using generic GPIO device drivers,然后保存。
9、下载程序:注意开发板是精英版V1,因此参考的正点原子资料也是V1,停产版本。三种下载方法,因为手头没有下载器,因此只能应用flymcu进行下载,boot0接vcc,boot1接gnd,下载程序耗时有点长,然后就可以看到实验现象了。两个LED等在闪烁,关于程序源码,可以打开mdk工程的main函数,可以看到是一个流水灯的程序。
图1
图2
图3
图4
图5
总结:通过点亮流水灯,可以看到OneOS-Cube,类似一个参数可以配置的脚本文件,直接选中想要实现的功能,便可以生成对应的mdk工程文件,在此工程文件中,对main函数可以进行二次开发。可以大大降低工作量,缩短开发周期,也省去了与繁杂底层程序配置的繁琐。