Nordic nRF52 系列多口下载工具 实现
一,需求:工作项目需要,工厂需要一个多口下载的工具来提供生产率(Nordic原生的下载工具不支持多口)
二,编程语言:Python
小聊一下 为什么选择Python开发?
1,近几年Python比较火,尝试感受一下用它来开发 和 VS开发有什么不一样
2,之前做windows界面开发都是用的MFC,感觉里面的数据类型用起来很恼火
3,MFC程序的免安装运行 感觉不好弄
4,Nordic官方也提供了Python库和demo来指导开发
三,debug过程中遇到的一下问题以及相关的解决办法
开发环境:python + wxPython+pyCharm+cx_freeze
解释:python ——》开发语言
wxPython——》Python上面的GUI库
pyCharm——》IDE环境
cx_freeze——》程序打包工具
1,使用wxPython de Gauge(进度条控件),不能设置这个控件的显示颜色
——》解决办法:
用pygauge
import wx.lib.agw.pygauge as PG
self.processBar = PG.PyGauge(self.panel, size=(350, 20))
2,用Nordic 提供的 MultiAPI,debug的时候 可以实现 多口下载。但是,用cx_freeze打包之后,运行exe,
只要执行到MultiAPI的时候,exe会再执行一次,感觉程序奔溃了。调了好久都没有找到原因,后来放弃了
——》间接的解决办法:
调用nrfjprog.exe(在源码中可以看的见)
四,程序打包
1,原来用的打包工具是cx_freeze,后来发现这个工具不好用,pyinstaller比这个工具好用的多。
2,用pyinstaller打包,出来执行exe文件的时候报错,如下所示
在python的安装目录相应外部库目录下找到nrfjprog.dll文件,拷贝到exe同级目录下。再运行,包如下错误:
删掉上面拷贝的nrfjprog.dll文件,在python的安装目录相应外部库目录下找到pynrfjprog,把整个包拷贝到exe同级目录下。程序正常允许。
注:源码很少,需要包含一些DLL文件,我把它打包放在我的博客的“文件”里面,不知道怎么分享出来,有需要的可以在评论留言联系方式,我私发出来。