如何用MPLAB进行PIC反汇编

如何用MPLAB进行PIC反汇编,第1张

MPLAB

应该就可猜袭以。

所谓的机器码应该就是二进制文件吧?

MPLAB IDE 可以进行反汇肆兆灶编(相信它也是最准确最全的PIC反编译工具)

。具体步骤如下:

1.

启动MPLAB IDE 执行Configure菜单下的Select Device选择好芯片

.

2. File菜单下Import导入要反编译的HEX文件

.

3.View菜单下Program Memory 查看程序存储器的内容

,

在程序存储器内容显示窗口的左下角切换到Machine或Symbolic,

在这个窗口上就可以看到每裂扮一个地址和HEX文件对应的ASM“反编译”就是察看源代码,其实最佳的PIC“

反编译”工具就是MPLAB-IDE,也具有察看源代码的功能。不过大家要注意

由于PIC采用分页技术,“反编译”后的源程序再次编译后一般FILE-->IMPORT-->IMPORT TO MEMORY -->调入.HEX文件(你的机器码应该是bin文件或者hex文件,都差不多了!)

然后再WINDOW中打开PROGRAM MEMORY窗口,就得到了源程序

注意所有未用的程序段反汇编后全部成了XORLW 0FFH

首先,你用的C18编译器只能编译PIC高端的8位单片机PIC18系列单片机。

不建议初学者开始就先学PIC18单片机,建议先学PIC10、PIC12、PIC16系列单片机。如需要编译C文件,可以在Microchip的官网下载HT-PICC for PIC12/16那个。

但也不建议初学者开始学就用C编写。如果你不了解单片机内部结构和指令(指令就是汇编),那你永远也没法学懂单片机(不管是否PIC的)。

啰嗦的话说完了,现在说一下你的问题。装好以后,先要建立好一个项目,在建立项目的时候需要你指定编译器,则找到Microchip C18 toolsuite,并且确认下面的编译器和连接器的路径都指向MCC18目录下。

建立好项目后,加载的头文件不是PIC.H(这个是PIC12/16系列的头文件),慧高而是你用什么单片机则加载什么头文件,比如说PIC18F4680这款单片机,那就加载PIC18F4680.H这个文件需要注意的是并不是所有的单片机都有“自己名字.H”这样的文件,你需要查看具体的单片机的数据手册,这可以在Microchip网站上免费下载。

然后还需要把对应的LIB文件加载上比如说PIC18F4680.LIB,还有对应lkr文件,比如PIC18F4680.lkr。

还需要配置的是“Project”—》“Build Options”—》“Project”,在在d出的对话框中找到“Directories”标签,看到一个Show directories for:旁边的下拉选项,分别找到“Include Search Path”“Library Search Path”“Linker-Script Search Path”,这三前肢尺个选项,这三个分别是指定头文件目录(Mcc18\h)、Lib库文件目录(Mcc18\lib)和LKR目录(Mcc18\bin\lkr)的。点击那个“New”按钮建立路径。

如果还不行,把编译的错误信息发给我看看。

不过如果你是为了长期从事PIC单片机开发的话,我还是建议你先学PIC12、PIC16,并先学汇编开始。不管单片饥滚机还是计算机,不都是从汇编指令开始学起的么!

你仔细检查下你的编译器路径设置是不是 正确 很容易出错的,

另外是不是有文件加密了?

可以参悔带考下面这个链接

http://www.burnon.com/forum/showtopic-10433.aspx 就是加密的原因

你也可源卖以把你的雹前逗编译器 换个更新的版本 试试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12334329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存