在Keil uVision5编辑Mbed OS的STM32程序
mbed的在线编辑工具可以输出程序到各种编程环境中,其中一个需要购买许可证的编译器就是大名鼎鼎的Keil uVision。STM32也可以在mbed OS中使用。但需要选择合适的板子与自己使用的开发板匹配才可以使用。
在mbed中导出程序
在Mbed的在线编辑器中,首先要选择一个板子,比如我们要使用一个某宝流行的STM32F103C8T6板子,要在Mbed的在线编译器中选择如下的板子:
STM32F103C8T6板子的外观如下图:
在Mbed的在线编辑器中建立如下文件:
#include "mbed.h"
Serial pc(PA_2, PA_3); // Serial TX, Serial RX
DigitalOut led(PC_13); // on board LED
int main() {
pc.baud(115200); // Set the Serial baud rate = 115200
pc.printf("--------------------- CCD Detection -------------------");
while(true) {
pc.printf("The Led = %d\r\n", (uint16_t)led);
led = 0;
wait(0.2);
led = 1;
wait(0.3)
}
}
在Mbed在线编辑器上选择项目文件夹,右键,选择export program:
在弹出的窗口中选择一个要输出的编译环境,这里选择uVision5 ARMC5
点击确定,会生成一个zip文件。在这里导出的过程就结束了。
在Keil uVision5中导入程序
选择一个目录,比如是STM32F103的程序的目录,解压缩文件。得到一个有μVision项目的文件,用Keil uVision打开文件,可以看到程序文件。使用Keil uVision可以编辑程序,增加Mbed OS库函数,使用时间函数,PWM函数,模拟量输入函数,等等。可以加快开发速度。
使用Kiel uVision的特点在于可以使用ST-Link下载程序。不需要打开ST-Link Utility选择程序,下载程序,直接在Keil uVision中下载就可以。
当前的问题
虽然程序可以编译,执行,但不知道是啥原因,掉电再上电,程序不执行了,要使用keil uVision再次编译下载,再用debug运行。不知道哪里出了问题,有结果通报,有知道的同学请告知。谢谢!