PIC18F66K80编译的HEX文件分析

开发环境:MPLAB X IDE V3.6

PIC18F66K80源码:

#include <xc.h>
#include "Delay.h"
void  main(void) {
	PORTC=0X00;   
	LATC=0X00;
	TRISC=0x00;    
    while(1){
	     LATC=0X01;   
	     delay();
	     LATC=0X00;    
	     delay();
    }
   
}

设置代码偏移:3000-3FFF
在这里插入图片描述

IDE观察可视化存储器:

汇编代码模式:
在这里插入图片描述
在这里插入图片描述
十六进制模式:
在这里插入图片描述
在这里插入图片描述

下面先了解下HEX格式,再去分析hex文件。

HEX 解析格式如下:

example:
:020000040020DA   

02 = data len
0000 = addr
04 = record type
0020 = data
DA = checksum


record type:
          00    代码数据行
          01    结尾标志行
          02    段地址定位行(PIC16F87X单片机的.HEX文件中没有用到)   
          04    扩展线性地址定位行

扩展性线地址理解:
在这里插入图片描述

PIC18F66K80编译后的HEX文件

:04000000D4EF1FF02A
:103FA8000001D7EF1FF0000E826E000E8B6E000E20
:103FB800946E010E8B6EE6EC1FF0000E8B6EE6EC35
:103FC8001FF0F7D7000E026E000E016E400E015C66
:103FD8001F0E0258D8B01200000E046E000E036EB9
:103FE800045007E1280E035CD8B003D0034A042A22
:083FF800F7D7014A022AEAD7BB
:020000040020DA
:08000000FFFFFFFFFFFFFFFF00
:020000040030CA
:0E00000011087F7CFF0F81FF0FC00FE00F4043
:00000001FF

下面来分析这个hex文件

# 代码部分地址 3FA8-3FFE
:103FA8000001D7EF1FF0000E826E000E8B6E000E20
:103FB800946E010E8B6EE6EC1FF0000E8B6EE6EC35
:103FC8001FF0F7D7000E026E000E016E400E015C66
:103FD8001F0E0258D8B01200000E046E000E036EB9
:103FE800045007E1280E035CD8B003D0034A042A22
:083FF800F7D7014A022AEAD7BB
#0x200000是用户ID的起始地址
:020000040020DA
:08000000FFFFFFFFFFFFFFFF00
:020000040030CA   
# 下面这条指令的地址计算: 30<<16 + 0000  --->30 0000
#扩展线线地址,定位到0x30 0000 地址处(即为配置寄存器地址)
:0E00000011087F7CFF0F81FF0FC00FE00F4043 (配置寄存器的值)
:00000001FF  # hex结束标志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yfw&武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值