DAPLink是ARM官方开源的一款调试烧录器,以前叫CMSIS DAP,现改名叫DAPLink。DAPLINK可以调试arm cortex全系列mcu,主要功能有:
调试和烧录(HID)
虚拟串口(CDC)
拽式编程(MSC)
WEBUSB功能(通过网页下载)
WebUSB是一个比较新的功能,演示如下:
访问https://armmbed.github.io/dapjs/examples/daplink-flash/web.html
插入daplink并连上板子,将编译好的image拖拽到网页上,点击SELECT DEVICE,如下图
选择device后将会自动下载,如下图
闲话太多,现在说明如何编译Daplink,由于我在ubuntu下的mbed环境一直有问题,只好将编译环境切换到windows上
依赖
Windows WSL
WSL下安装python 2.7.11以上
WSL下安装git
WSL下安装virtualenv(pip install virtualenv)
Windows下安装Keil
编译过程是python生成MDK project,再用Keil编译
其实WSL下的python和git都可以在windows下直接进行安装
编译
生成MDK project
进入WSL执行1
2
3
4
5
6$ git clone https://github.com/mbedmicro/DAPLink
$ cd DAPLink
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ progen generate -t uvision
如果windows下安装了python和git以上命令也可在windows上执行(source venv/bin/activate 在windows上要改为venv/Scripts/activate.bat)
Keil编译
前面命令执行完后在projectfiles/uvision下能找到对应board的MDK project,在windows下打开后用keil编译即可生成固件
DAPLink固件更新
按着Daplink的reset按键,重新插入Daplink会在电脑上产生一个U盘,将固件hex文件拷贝进入即可