蓝桥杯嵌入式比赛中,常常需要考生提交单片机程序的HEX文件和CH文件。这两个文件之间的关系如下:
1 HEX文件是单片机程序的可执行文件,可以被烧录进单片机里直接运行。该文件中包含了机器指令、数据、配置等所有单片机程序的信息,是单片机可以理解的二进制码格式。用编程软件编写程序后,将程序编译成HEX文件,然后将其烧录到单片机中就可以将程序运行起来。
2 CH文件是源代码文件,是由编程软件(如Keil、IAR)编写的。这种文件可以被修改、编辑,适用于程序的开发和调试,但不能直接被单片机运行。CH文件中包含了程序的源代码和各种定义、声明等信息,是程序的蓝本或框架。
在蓝桥杯嵌入式比赛中,HEX文件和CH文件都是必须提交的。通常情况下,考生需要先开发和调试出程序代码,生成CH文件,然后再利用编程器将CH文件烧录转化为可执行的HEX文件,最后上传HEX文件进行评测。
简单来说:HEX文档是ascii码的文档。是不能直接烧到单片机中的。中间要有转换程序。但是现在很多编程器都设计成直接可以导入hex文件烧录的,其实这是做了设计的。bin文件是二进制文件,是可以直接烧到芯片中,中间不用转换的。HEX文件中是包含了地址信息的。这和BIN文件不同,BIN文件中只包含了数据信息,所以其实有时候同一个程序,bin文件和hex文件的容量都不相同的,芯片解密出来的文件一般也是bin或者hex格式。
用记事本打开HEX文件时看到的是一个似乎是看不懂的代码,其实不然。请看下面的注解:
:10000000110016DA030166055805301444302B80C0
:1000100012973810091D5E6E7E8E9EAE7A939AAA54
:10002000BACA60708090A0B000000000000000001C
:10003000000000000000000000000050068C5D5031
:100040005D320051505D8C8C1746000000000000AE
:100050000000002A0000000000005700000000001F
:1000600000000000000000000000CECECECE000058
:10007000000000000000000000000000CECECECE48
以上是我打开的一个HEX文件所看到的代码,在这段代码中:
开始的“:1” 是这一行共有几个16字节;“00000”、“0010”、“0020”、“0030”、这些是地址代码就象以下的红色;接后的00也不用管它;就在这个 “00”以后的就是代码了就象以下的蓝色;还有最后的两个代码不管哦。以下是粗黑色的就是不用看的把它去除。然后将代码区的代码每隔两个字符空一格看起来就对啦。不信的朋友不妨试一试啊。
:1000000011 00 16 DA 03 01 66 05 58 05 30 14 44 30 2B 80C0:
以上就是关于蓝桥杯嵌入式考试hex文件和ch文件的关系全部的内容,包括:蓝桥杯嵌入式考试hex文件和ch文件的关系、HEX文件和BIN文件格式的区别、.HEX文件如何打开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)