跳转至

MCOOL TOOL

ecard_pic

web daplink.

功能介绍

  • 硬件示意图 - Create a new project.
  • 高速USB调试器[daolink] - Create a new project.
  • 高速串口工具[CDC] - Start the live-reloading docs server.
  • 多功能编程器[拖拽、离线] - Build the documentation site.
  • 轻量万用表[电压、电流、电阻] - Print help message and exit.
  • 轻量可调直流电源[0~5V,0~200mA] - Print help message and exit.
  • 轻量RTT监视器[电压、电流、电阻] - Print help message and exit.
  • 轻量变量监视器[电压、电流、电阻] - Print help message and exit.

使用说明

  • 调试器使用说明 - Create a new project.
  • 串口工具使用说明 - Start the live-reloading docs server.
  • 多功能编程器[拖拽、离线] - Build the documentation site.
  • 轻量万用表[电压、电流、电阻] - Print help message and exit.
  • 轻量可调直流电源[0~5V,0~200mA] - Print help message and exit.
  • 轻量RTT监视器[电压、电流、电阻] - Print help message and exit.
  • 轻量变量监视器[电压、电流、电阻] - Print help message and exit.

开发者自白

  大家好,我叫蔡小海,是一名野生程序猿
  作为一名嵌入式程序员呢,最重要的就是开心啦(港腔),作为嵌入式程序员,和CS专业不一样,经常需要用到一些工具,如万用表,示波器,稳压电源,调试器等等,我平时干活呢,JLINK用的比较多,这东西确实强大,尤其加上上位机软件(如jflash\jspor,rttview等),而且支持的IED也多,但是某宝的版本呢,经常掉固件,所以有时也有点烦,那么有别的选择吗,还是有的,arm 就有开源的ADPLIN, 然后某宝的也有很多成品,价格也很nice,只是大多都是stm32f103的低速版,速度较JILINKv9 还是差不少,于是打算自己也做一个,DIY一切是我毕生的追求;
      主控选了新塘的的Mcu,主频192Mhz,自带高速USB控制器和物理层,最大480MBIT, 性能是挺好的。虽然近1米八的大叔,但还是喜欢追求小巧,相比stm32+usb5500外挂的方案能节省不少空间,本人还是个屏幕爱好者,一切都要眼见为实嘛,所以屏幕不能少,其他的功能器件就边做边决定吧。

这个就目前的成果: 首先呢,看看外观,这个是自行3D打印的,方方正正,长度是50.宽度是20,厚度是9,前端是一个typeC接口,后面是一个双排12pin的排针,正面是一个1.14寸的大屏,右侧是两枚实体按键, 外壳结构设计时呢,主要是想着小巧,所以在确定屏幕后,基本就是按屏幕的大小设计板子,做大屏占比,但后面这里没有办法,一是排针需要空间,还有按键,也考虑手指需要握持,总之 最后就是这个样子,个花入各眼吧,后面有时间用铝合金CNC个外壳,表面做个阳极氧化处理,应该能更有质感些。 再说说功能,首先能他是个调试器,其实RAM官方也有基于新塘开发板的daplin固件,但不支持高速USB,所以第一件事移植高速DALIN调试器功能,当然,新塘的sdk还是不错的,虽然从没有用过新塘的单片机,但很快上手 ,搞定高速调试器,高速虚拟串口的功能,当然还有要MSD U盘功能

整个软件运行在一个实时系统之上,除了调试器主线程外,增加了一些辅助线程,如gui,和电源等, 还是从界面开始吧,上电开始显示的是桌面,按一下进入菜单,按上面呢,会显示一个可自定义的一个图片, 上面呢,是一个状态栏,左侧有三个方框,分别表示设备的工作状态,第一个实时hid的设备,第二个是MSC 设备,第三个是CDC ,某种设备繁忙时,对应指示灯就会亮起,电池图标目前没有用到, 右侧是对目标设备的供电输出状态,上面是电压,下面是电流 菜单第一个是万用表,可以简单测量0~36V电压,可测量电阻通断等,这里目前没有另外用高精度专用IC,精度一般,应急用用,还是可以的。 第二个是编程器,主要用用于离线编程和设置,进入后可以设置目标芯片,这里移植了NORDIC,ST等编程算法,约30种芯片支持,后期再增加,然后是固件文件选择,这里支持HEX,和bin格式,文件以U盘的形式拷贝到设备,下面是是否全片擦除选项,,一般设置完就可以开始编程了,这里还提供另外一种编程模式,及下面的拖拽模式,设置好目标芯片后,切换到拖拽模式,设备会重启,并在界面上显示当前模式及芯片,这时,电脑端会显示一个U盘设备,可直接把固件拖拽到U盘,设备便进行固件烧录,完成后会重启再次弹出U盘,如果烧录失败,则会在U盘中生成一个失败的txt失败的原因 第三个时一个轻量级RTT客户端,如果目标芯片内有使用RTT打印,这个显示屏能够打印出相应信息 第四个是一个轻量级的变量示波器,可编辑定义变量的内存地址和数据类型等,在屏幕实时显示变量的波形 第五个是个轻量的可调电源,能调节对目标板的电压,并监控电流,也可为小容量电池做恒压横流充电,因为体积小巧,加之我平时开发的基本都是低功耗的产品,所以最大只能100MA 第四个是文件管理器,设备内有个FLASH ,出去字库占用,剩余空间做了文件系统,在非拖拽模式下插入设备电脑,显示的U盘就是这个文件系统,用于保存离线固件等,这里可以打开TXT文本,或是bmp图片,当然你可以拷贝个小说,在上班摸鱼时休闲一下也是可以的。 最后一个是设置,可设置一下界面颜色,屏幕亮度,语言,以及开机默认目标板电压等。 菜单就介绍完了,其实里面还有隐藏的彩蛋哦。

好了,下面实际测试看看,调试功能,设备连接电脑,不需要安装任何驱动和上位机,会弹出一个U盘,在设备管理器上能看到 Webdap 以及一个串口, 打开keil工程,在这个能看到调试器,最大sw口速率10m,然后我们连接目标板,这个调试口上面 这一排是具有电压跟随功能,如果对外供电关闭,目标板的电压会反向给设备调试口供电,并且swdIO电压和目标板一致,如果打开对外供电,swd 的IO口电压水平也和设置电压一致,旁边这个串口也同样具有电压跟随功能。 这里可以看到目标板的耗电情况,烧录看看,ok 然后在线调试看看,断点,继续,和jinlink 没有明显差别

然后我们看看高速串口,这里把RX和tx短接,打开串口工具,找到串口,发送,接收,ok, 调整到最大波特率,这里最大只有2m,其实设备支持更高的速率,我们就2M试试,打开定时发送,ok 然后看看离线烧录, 我们先拷贝一个HEX文件到U盘,ok,这里不是很快,主要是flash芯片擦写比较慢, 然后回到调试器,编程,选择文件,开始编程,ok

再看看拖拽模式,这里切换,然后看看电脑端,变成这个,里面默认一个文件,这里有目标芯片的信息,把刚才的固件拖拽到优盘,ok,看看板子,工作ok,这种方式还是很方便的,adplink没上位机jflsh,这种方式能在一定程度上不需要上位机了。

最后,相比jilink,没有强大的上位机支持,所有尽可能脱离上位机,加强了离线烧录,离线RTT等功能,目前这些功能有的还不是特别完善,后期可能会进行固件升级,或是加入新的芯片支持,加入新的功能,如通过SPI接口烧写FLAH芯片,或是外接传感器之类,升级功能也做好了,我们按住这个按钮插入电脑,设备就进入自身固件升级模式,然后就是和上面一样的拖拽,OK, 虽然该调试器源于DAPLINk开源项目,但修改和附加功能太多,并不兼容原固件,可以通过扫描这个二维码连接,寻求新的固件,当然,如果喜欢,或是有什么建议,欢迎在下面留言讨论,谢谢大家。