使用aardio写一个基于pyocd的单片机下载器

1 新建工程

最开始本来是打算调用pyocd 的python api的,但是一个是内嵌包一直安装出问题,一个是考虑到本地pack不想重复安装和管理,于是就转做pyocd的前端了,也就是直接调用pyocd,根据返回数据解析,然后执行要做的命令。

所以新建一个普通工程就可以。

2 基本功能

下载 擦除 复位,主要是这几个常用的,
然后要能选择对应的仿真器和单片机型号,能支持的列表,就要用一下pyocd list和pyocd list -t命令查询,根据返回的结果解析。
p.s 其实直接用pyocd json 命令返回json会很容易,但是我一开始没看到这个命令,就算了,正好生成命令pyocd list的执行结果也可以给人看。
其中pyocd list会返回仿真器的列表,我是通过head也就是第一行的标题的位置来得到下面每行内容的分割位置,得到正确的结果。这里发现是每隔一行为一个仿真器信息。
而pyocd list -t 返回可用器件型号,分割方法类似,不过这里不是每隔一行而是连续的每行都是对应结果,一开始这里没看到导致少了一半。
另外这里在使用aardio遇到一个bug就是结构体的值发生了变换(aardio实际上没有结构体而是表),不知道为什么,类似的方法直接赋值给数组就不会出问题。

3 基本实现

在这里插入图片描述

除了基本界面,调整了一下布局,让他能缩放合适,内嵌了字体(软件凭空大了1M多,本来只有几百kb),主要是好不容易调整好了不想改。
把一些生成命令的语句例如pyocd gdbserver收纳到了菜单栏。
基本就这样。

csdn这个鸟平台连附件功能都没有。
这里有我上传的:
http://www.51hei.com/bbs/dpj-228512-1.html

4 总结

aardio确实挺好用的,很能缝合,布局上也是自动缩放,要求不高的话很容易调整到还不错的效果。写起来很快,高分屏的问题也自动处理了,第一次用观感不错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值