2.CC2530-hex文件解析

需要用到程序升级,所以需要简单了解一下单片机生成的hex文件。
2.CC2530-hex文件解析
通常hex文件打开如上图所示:冒号+一堆十六进制数据;
各部分含义如下

数据长度1Byte+偏移地址2Byte+指令类型1Byte+数据nByte+校验值1Byte

指令类型:
00:数据,要写入的code,在hex文件中最多;
01:文件结束,在hex文件的最后一行,此行数据长度为,00;
02:扩展段地址;
03:起始段地址;
04:扩展线性地址,配合偏移地址,允许32bit寻址,通常此行数据长度为02;
05:起始线性地址,在hex文件的倒数第二行,偏移地址不使用默认0000,数据段位32bit的起始地址,CPU从此起始地址开始运行;

校验值:从数据长度+…+数据位最后一位的结果,按位取反加1;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------根据IOCC2530.H文件,可知00-8f为CC2530中断向量
2.CC2530-hex文件解析

code中用到的中断服务函数都是从这边跳转过去的;
例如第五行:03005B0002168A00
数据长度为3byte,数据偏移地址:005B,指令类型:00,数据:02168A,校验值:00;
查表可知0X5B指向T3_VECTOR,所以此行意义为:跳转到定时器3的服务函数:即0x168A处;