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文件,我把它打包放在我的博客的“文件”里面,不知道怎么分享出来,有需要的可以在评论留言联系方式,我私发出来。

posted @ 2019-07-30 14:44  TCM_zy  阅读(597)  评论(0编辑  收藏  举报