找回密码
 会员注册
查看: 40|回复: 0

嵌入式参数配置工具(python+pylink)(三)--pylink的使用

[复制链接]

2

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2024-9-11 19:30:31 | 显示全部楼层 |阅读模式
背景:设备中包含大量参数,需要配合非程序员同事修改参数进行测试。没有可用的人机交互接口,只能通过串口AT指令或烧录的方式访问。目标是做成一款人人可以上手的工具,快速对设备进行自定义的配置。目录pylink安装pylink接口介绍open:PC连接jlink盒子opened:检查是否有可用的jlink和DLLset_tif:选择设备连接接口connect:连接jlink和设备target_connected:检查设备和Jlink是否连接flash_file:写文件到设备flasherase:擦除整片more:pylink使用连接设备检查文件路径写入文件借助JLink.exe擦除指定区域系列文章:产品参数配置工具(python+pylink)(一)--方案设计-CSDN博客产品参数配置工具(python+pylink)(二)--bin文件生成和调用-CSDN博客产品参数配置工具(python+pylink)(四)--pyqt界面设计-CSDN博客产品参数配置工具(python+pylink)(五)--打包exe-CSDN博客pylink安装pylink是用python写的调用jlink库函数的包,安装后可以在python中importpylink包,调用jlink相关接口函数,实现烧,写,读,调试等操作。安装方法:pipinstallpylink-square安装后,还需要在执行目录下放置DLL文件,x86位机放JLinkARM.dll,x64放JLink_x64.dll也可以选择将这两个文件的目录加入系统环境变量中。原因是在windows上,会按照以下顺序搜索dll,dll中包含有pylink接口实现。1.当前执行目录。2.Windows系统目录。3.Windows目录。pylink接口介绍open:PC连接jlink盒子可以通过设置serial_no和Ip_addr指定连接某个jlink。如果只插了一个jlink,可以不设置。opened:检查是否有可用的jlink和DLLset_tif:选择设备连接接口可选择的接口有:JTAG,SPI,SWD;例如:将pylink.enums.JLinkInterfaces.SWD作为参数传入函数,则是选择SWD作为jlink和设备连接接口connect:连接jlink和设备speed默认为4000hz,chip_name不能为空,需要根据要连接的芯片设置。这里一定要使用try-except,及时发现连接失败给用户提示,避免卡死。target_connected:检查设备和Jlink是否连接在做读写擦操作前都可以检查一下是否连接,确保不会在操作前由于设备断电等,导致设备断连,读写擦卡死闪退。flash_file:写文件到设备flash在调用该函数后,会周期性的调用on_progress定义的函数,参数包含当前动作,提示说明,进度(0-100)。可以定义该函数用于显示进度。该函数会主动先Compare对比当前flash内容和目标内容,若无不同则不再重现烧录;若有不同,则主动Erash擦除原内容,然后再Flash写入erase:擦除整片目前pylink的erase接口只能整片擦除,因此这里我采用了直接调用J-Link.execommandline的方式擦除目标区域more:以下是pylink的说明文档,方便查看。本文只介绍小工具需要的接口,其他内容感兴趣的朋友可以自行研究。Installation—PyLinkpylink使用连接设备importpylinkjlink=pylink.JLink()defjlink_connect(device):try:jlink.open()except:return-1ifnotjlink.opened():return-1jlink.set_tif(pylink.enums.JLinkInterfaces.SWD)try:jlink.connect(device)exceptpylink.errors.JLinkException:return-2ifjlink.target_connected():return1else:return0检查文件路径需要注意的是,调用flash_file的时候,要求路径不能有中文,否则会报错卡死。因此这里需要增加一个路径中文检测,避免卡死闪退。defis_chinese(word):forchinword:if'\u4e00'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-27 14:52 , Processed in 0.435343 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表