不过在调试的时候,用HEX文件比较多,因为可以包含更多的信息,而且,如果没有用到全部空间的话,尤其是不是连续的块的话,HEX会比BIN文件更合适,也可能会小得多。<br />当然,不管用什么文件格式,都需要上位机来进行转换,变成一个下位机能认识的统一的格式,这个格式可能不是HEX也不是BIN而是适合上位机和下位机通讯的格式。<br />这个涉及到上位机和下位机通讯协议的问题。<br />一般来讲,通讯协议都是以"帧"为单位的,<br />一般的主从式通讯帧包括帧头,命令,参数1,参数2.. 参数N,校验,帧尾。<br />从机应答帧包括,枕头,结果1,结果2,...结果N,校验,帧尾。<br />一主多从式的还要包括从机地址。<br />因为凡事通信都会有误码,所以校验是必须的,<br />关于帧的长度,一般来讲,帧越短,则通讯效率越低,因为帧头,帧尾等控制字是要占一定空间的,而有效数据的比例降低了。但是帧短,灵活,误码率(丢包率)低,对存储空间要求小。<br />帧越长,通讯效率越高,但是误码率也会提高,且反应时间变长,反应变慢,对主机和从机需要的存贮资源要求增加。帧长超过一定数值后,通讯效率的提高就不是那么明显了。<br />所以综上所属,一般单片机通讯,帧长为几个到数十个字节,8到16个字节的帧长相对采用比较多。<br />再说烧录flash,也是把数据分成一小块一小块的传给下位机,<br />而且这个通讯帧,不但包括了烧录,还能包括擦出,校验,读取等,甚至能控制下位机做出各种动作,实现各种功能,也能检测下位机的状态,调试程序等,所有你想到的功能。<br />当然这些功能不用帧结构可能也能实现,但是帧结构统一了格式,实现起来简单容易。
|