本帖最后由 mxkw0514 于 2025-3-28 15:03 编辑
#申请原创# @21小跑堂
曾经、现在和未来,PIC单片机在工业控制领域起着重要的作用,尤其是少数量引脚的MCU,在传感器数据的采集、系统功耗的管理、中低速通信协议的转换、稳定可靠的自动化控制应用中,充当着协处理器的角色,有的朋友或许会发现,在某些复杂工控主板上,总能找到一两颗PIC单片机......
在产品生产的过程中,可能会遇到失效的问题,这个问题可能是设计本身存在缺陷造成的,也有可能是供应商产品存在不良品,虽然PIC单片机的不良率控制在百万分之一的范围内,但是也不能完全排除没有。在检查PIC单片机本身问题的时候,有时会去排查FLASH失效的问题。
在没加密的情况下,可以使用MPLAB X IPE软件和对应的烧录工具将良品的Hex和不良品的Hex读出来,使用文件对比工具去分析,查看不良品读出Hex的异常。
IPE软件
相关的调试烧录工具
在Hex文件中,大家应该比较清楚几个重要的地址名称,分别是程序起使地址、中断入口地址、配置字起使地址,可以从数据手册相应的页面中找到。PIC单片机的Hex文件是由一行行Hex码组成,每一行Hex码的组成有着既定的规则。
每一行的Hex组成规则如下图所示,其中“:”是每行的起始字符,“11”是数据字节数,“aaaa"是数据的起始地址,”tt"是记录类型,“[dd....]"是数据字节。”tt"作为记录记录类型,又分为几种类型,其中,00是数据记录,01是文件结束记录,02是扩展段地址记录,04是扩展线性地址记录。
Hex文件组成规则
对于上述描述,举个例子,截取两行如下: :020000040030CA :0A000000FFFFFFFFFFFFFFFFFFFF00 第一行的记录类型是04,所以是扩展线性地址记录,那么第一行的地址30加上第二行的地址0000就是0x300000,这个是PIC单片机的配置字的起使地址,打开数据手册,可以找到如下图片:
但是想了解这一段Hex配置字寄存器具体配置信息,但又不想对着数据手册去查,可以将其导入到IPE软件中,查看相关的信息,如下图所示。配置字展示了设置的时钟、中断、看门狗、烧录模式等信息。如果要要查看和分析其它部分Hex,方法是类似的。
由于本人水平有限,分享内容中难免存在不足,还请麻烦批评指正。
|