在线时间3 小时
UID3288800
注册时间2019-7-9
NXP金币0
该用户从未签到
注册会员

- 积分
- 56
- 最后登录
- 2021-10-25
|

楼主 |
发表于 2021-5-21 14:39:32
|
显示全部楼层
本帖最后由 shidayimeng 于 2021-5-21 14:43 编辑
附个Jlink 读取 Flash 计算 MD5的脚本
- from loguru import logger
- from pylink import JLink, Library
- from pylink.enums import JLinkInterfaces
- from pylink.errors import JLinkException
- JLINK_SN = "123456789"
- def read_back(addr, size):
- try:
- with JLink(lib=Library(r"C:\Program Files (x86)\SEGGER\JLink\JLink_x64.dll"), error=logger.error, warn=logger.warning) as jlink:
- # logger.debug(f"jlink dll name | {jlink._dll._name} | v{jlink.version}")
- jlink.open(JLINK_SN)
- # switch to SWD target interface
- # https://github.com/square/pylink/issues/27
- jlink.set_tif(JLinkInterfaces.SWD)
- jlink.connect("LPC1754", speed=4000)
- jlink.reset()
- read_bytes = bytes(jlink.memory_read8(addr, size))
- return read_bytes
- except JLinkException as e:
- logger.error(f"read back failed from {addr} size {size} | {repr(e)}")
- return None
- def get_md5_hash(addr, size):
- hash = None
- read_bytes = read_back(addr, size)
- if read_bytes:
- hash = md5(read_bytes).hexdigest().upper()
- logger.success(f"addr {addr} size {size} md5 hash {hash}")
- return hash
复制代码
|
|