用PICkit3 Programmer读取一个pic的程序固件,如下:
这应该是读保护了吧,用什么办法能把固件提取出来吗
用PICkit3 Programmer读取一个pic的程序固件,如下:
引自免费微信小程序:皆我百晓生
要解除DSPIF33的代码保护并提取固件,你需要通过特定的步骤和工具来进行操作。由于你已经使用了PICkit 3 Programmer,接下来我会提供一种可能的方法,但这可能会破坏你的设备,因为这涉及到对芯片进行编程,所以请谨慎操作。
理解配置寄存器:
在你提供的信息中,可以看到Code Protect
配置选项为0043
,这个值表示代码保护是启用的。在dsPIC33系列微控制器中,第0位(从右向左数)控制着代码保护功能。如果该位置1,则代码保护处于开启状态。
禁用代码保护:
要禁用代码保护,你需要将Code Protect
寄存器中的第0位设置为0。这意味着你需要将Code Protect
寄存器的值更改为0000
。
重新编程: 使用PICkit 3 Programmer或其他支持的编程工具,执行以下操作:
Code Protect
寄存器的新值(例如0x0000
)写入到内存地址F80008
处。Code Protect
行看到新值,确认代码保护已关闭。注意:此过程可能导致你的设备永久失去代码保护,因此在尝试之前一定要确保你了解风险,并且你有足够的权限和责任去执行这些操作。此外,不同的开发环境和工具可能有不同的界面和步骤,这里仅提供了基本的指导。
下面是一个简单的伪代码示例,展示了如何修改配置寄存器值:
# 假设pk3_programmer 是 PICkit 3 Programmer 的对象
# 假设 new_code_protection_value = 0x0000 是新的配置寄存器值
def disable_code_protection(pk3_programmer, new_code_protection_value):
# 写入新的 Code Protect 寄存器值
pk3_programmer.write_memory(0xF80008, new_code_protection_value)
disable_code_protection(your_pk3_programmer_instance, 0x0000)
请注意,上述代码并非实际可运行的代码,而是为了说明目的而编写的伪代码。你需要根据实际使用的编程工具和API来实现相应的操作。如果你不熟悉具体的编程工具和API,建议寻求专业人士的帮助,以免损坏你的硬件。