"); //-->
以下是我对用HEX500做的目标文件的剖析,包括启动表的内容
欢迎大家补充!共同进步啊。
http://www.guangdongdz.com/special_...e/200203/11.htm
上面网页最后有一段启动表格式的定义,可以和我的剖析对照一下。
该目标文件中间的内容我删除了,以便于了解概念。
目标文件是以“:”冒号开始的。其他内容是我添加的。数据之间的“-”也是我加的分隔符号
便于观看。
.boot sections***********************************
20-该行长度
0000-flash写入的该段起点地址
00-类型(代码)
***************************
08AA-boot loader表启动方式(8位)
7FFF-SWWSR值
F800-BSCR值
*****************************
0000-程序入口XPC
3065-程序入口地址 _c_int00
0008-该段的长度(.boot sections)
0000-该段入口XPC(.boot sections)
2400-该段的入口地址(.boot sections)
10AA-2400程序代码8个(.boot sections)
6B-该行的校验码(第一行的20个字节校验,08AA-2400,补码格式)
********************************
0000+20=0020-(.text sections的起点,下一个段)
:20-0000-00-08AA-7FFF-F800-0000-3065-0008-0000-2400-10AA-7FFF-F000-0000-2B00-1500-0000-2400-6B
.text sections*********************
20-该行长度
0020-flash写入地址
00-类型(代码)
***************************
12AD-该段的长度(.text sections)
0000-该段入口XPC(.text sections)
2408-该段的入口地址(.text sections)
7728-3F00程序代码(20H-6H)个(.text sections)
B9-该行的校验码(第一行的20个字节校验,12AD-2400,补码格式)
********************************
0020+12AD*2+6=2580-(.cinit sections的起点,下一个段)
:20-0020-00-12AD-0000-2408-7728-5000-772B-0000-7729-0000-F7BB-68F8-001D-00FF-69F8-001D-3F00-B9
这一行从4801开始都是代码了,公20个字节
:20-0040-00-4801-8801-7700-FFFF77580000F495F495F495F495775897FFF495F495F495F495DD
:2000600077260019F495F495772509C3F495F49577260429F495F495F6BBFC004A07F7B6B7
*此处代码略去
:2025600056F800F2F27336B2F4954E02F020807FF3E71802F1A081025602EE048A11FC00FD
.cinit ections***********************
:20-2580-00-00C8-0000-36B5-0001-010F-0001-0001-0110-0000-0001-051A-0001-0001-0111-0064-0001-CB
:162700000000000106A90000000106AA366E000106AB366E000068
.vectors sections****************
:20-2716-00-0078-0000-3F80-F273-3065-F495-F495-F4EB-F495-F495-F495-0000-0000-0000-0000-0000-E6
*此处代码略去
:1627F600F495F495F495F4EBF495F495F495F4EBF495F495F4953E
:20280C000074000000804A989680447A000000000000449C400047C350004627C5AC449CCA
*此处代码略去
:0E28EC00000000000000FF7FFFFF7F7FFFFF66
:20338C00002000001D40FD12FCE80AA02346304823460AA0FCE8FD12000000000000000020
:2033AC000000000000000148065F0FC219AA1DFA19AA0FC2065F0148000000000000000066
:0833CC000000000000000000F9
:00-0000-01FF
最后以此行代码结束
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。