jlink烧写脚本-python

模块:pylink
个人微信: wzdhh991
邮箱: wzd991@126.com
个人比较懒,CSDN更新缓慢,有相关问题可发邮箱或个人微信交流!
烧写:

import pylink
#固件下装方法
def down_load_file(device= 'APM32072CB',filex_name,address):
        try:
        
            filex = 'test.bin'
            self.jlink = pylink.JLink()
            self.jlink.open()
            self.jlink.set_reset_pin_low()
            time.sleep(0.05)
            self.jlink.set_reset_pin_high()
            self.jlink.set_tif(pylink.enums.JLinkInterfaces.SWD)  # 成功返回True
            
            self.jlink.connect(device)  # 成功无返回
            self.jlink.halt()
            self.jlink.erase()
            self.jlink.flash_file(filex_name, address)
            self.jlink.reset()
        except Exception as e:
            msg = '{}:{} {} '.format(e.__traceback__.tb_frame.f_globals["__file__"], e.__traceback__.tb_lineno, e)
            self.signal_jlink_log_add.emit(msg)
        finally:
            self.jlink.close()

jlink读取内存:

    def slot_jlink_read_mem(device= 'APM32072CB',address, size):
        try:
            self.jlink = pylink.JLink()
            self.jlink.open()
            self.jlink.set_tif(pylink.enums.JLinkInterfaces.SWD)  # 成功返回True
            # 
            self.jlink.connect(device)  # 成功无返回
            temp = bytearray(self.jlink.memory_read(address, size))
            return temp
        except Exception as e:
            msg = '读取失败..  {}:{} {} '.format(e.__traceback__.tb_frame.f_globals["__file__"],
                                                 e.__traceback__.tb_lineno, e)
            print(msg)
        finally:
            self.jlink.close()
            return None

片擦除:

    def slot_jlink_erase_chip(device= 'APM32F072CB'):
        try:
            self.jlink = pylink.JLink()
            self.jlink.open()
            self.jlink.set_reset_pin_low()
            time.sleep(0.05)
            self.jlink.set_reset_pin_high()
            self.jlink.set_tif(pylink.enums.JLinkInterfaces.SWD)  # 成功返回True
            self.jlink.connect(device)  # 成功无返回
         
            self.jlink.halt()
            self.jlink.erase()

cpu硬复位:

    def slot_jlink_reset(device= 'APM32F072CB'):
        try:
            self.jlink = pylink.JLink()
            self.jlink.open()
            self.jlink.set_reset_pin_low()
            time.sleep(0.05)
            self.jlink.set_reset_pin_high()
        except Exception as e:
            msg = '复位失败..  {}:{} {} '.format(e.__traceback__.tb_frame.f_globals["__file__"],
                                                 e.__traceback__.tb_lineno, e)
            self.signal_jlink_log_add.emit(msg)
        finally:
            self.jlink.close()

版权声明:本文为weixin_45538467原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。