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