ARM提供了MBED三种开发环境:
在线集成开发环境、命令行开发环境、以及第三方开发环境。
一般开发人员,都喜欢在本地建立工程,使用自己熟悉的开发环境进行开发。
下面以KEIL集成开发环境+ NuMaker-PFM-NUC472开发板为例,介绍初次建立开发环境过程。
下面的内容源自https://os.mbed.com/docs/v5.6/introduction/index.html,以及关联网页。
https://os.mbed.com/platforms/列出了支持的开发板
进入开发介绍页面,页面中有开发板介绍,相关WINDOWS串口驱动连接、ICE固件库升级包(一般不用升级)、DAP Link固件升级链接等信息,还有使用手册等内容。
关于DAP LINK ,参见https://os.mbed.com/handbook/DAPLink:
这是ARM公司针对Cortex 系列CPU的一个开源软件项目,一般运行一个独立的MCU上,通过SWD/JTAG和应用MCU相连,作为开发环境计算机与应用MCU之间的一个桥接,支持开发环境调试。
DAP LINK支持三个功能
1)拖放式编程,将编译好的应用程序直接拖放到开发板映射到PC机的盘符,就将程序烧写到应用MCU对应的程序区
2)一个虚拟串口,
3)CMSIS-DAG 调试器
两种使用方式:1)2)功能和3)功能。
打开MBED支持的BOARD页面
选择开发板,进入开发板页面
按按下"add to your Mbed Compiler"即可
https://os.mbed.com/docs/v5.6/introduction/index.html网页介绍了MBED
a)打开https://os.mbed.com/主页
b) 点击complier,打开在线编辑器页面
c) 新建一个示例工程
选择新建一个工程
选择开发板和示例工程
导出工程
选择导出的目标板和开发环境
按下export,将整个工程压缩包导出
用KEIL打开工程。需要使用KEIL高版本
常遇到的问题:
1)KEIL版本低,不支持目标板。升级KEIL开发环境
2)KEIL没有安装目标对应的PACK
打开Pack Installer,安装开发板对应的PACK。
在http://www.keil.com/dd2/pack/网站可以找到对应的BSP+DSP PACK
3)编译后只产生了AXF文件,没有产生BIN文件
修改工程属性,在USER页面,编译后增加对AXF转换为BIN文件的处理
fromelf --bin -o mbed-os-example-blinky.bin .\BUILD\mbed-os-example-blinky.axf
4)无法调试1
不同的开发板需要在属性配置-》DEBUG页面里指定对应的调试器
5)无法调试2
USB接口有两种主要方式,见前面D-LINK的介绍
开发板USB接口没有工作在调试模式,需要参见开发板的使用手册,设置对应的跳线帽。
有了图形界面操作,很少再使用命令行操作了。这里将导出工程主要步骤写出来。其他的内容参见官网说明https://os.mbed.com/docs/v5.8/tools/working-with-mbed-cli.html。
安装及配置好MBED CLI后
建立本地GIT仓库
>mbed new .
导出numaker_pfm_nuc472开发板uvision5环境下的工程
每个开发板的名称见开发板页面中的说明
> mbed export -i uvision5 -m numaker_pfm_nuc472
https://os.mbed.com/blog/entry/load-Mbed-OS-ELF-debug-file-into-Keil/
可总结为,
1、编译出BIN、elf文件
2、将BIN文件拖到开发板上,
3、在KEIL下新建一个工程,选择与开发板对应的DEVICE。
4、设置调试配置,选择对应的DEBUGGER、调试时不要下文程序、以及调用一个初始化文件。
初始化文件是重点,文本文件,2行,第1行是加载文件,第2行指定运行到MAIN
load C:\Users\geogek01\Documents\Engineering\mbedCLIproj\mbed-os-example-blinky\BUILD\UBLOX_EVK_ODIN_W2\GCC_ARM\mbed-os-example-blinky.elf
g, main
启动调试器。进行调试
命令行在执行mbed new 时,建立了本地git仓库,将最新版本下载到本地仓库了。包含的代码更全。
CMSIS包含了CORTEX_A芯片
目标包含了全部支持的
还包含了很多实用工具