加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MDK编译后生成bin文件占用FLASH大小说明

发布时间:2020-12-15 19:56:03 所属栏目:百科 来源:网络整理
导读:MDK编译程序完成后,如下所示 : linking... Program Size: Code =4972 RO-data =268 RW-data =52 ZI-data =1700 ? FromELF: creating hex file... After Build - User command #1: C:Keil_v5ARMARMCCbinfromelf.exe ?--bin -o ?..OBJUSART.bin ..OB

MDK编译程序完成后,如下所示

linking...
Program Size:
Code=4972RO-data=268 RW-data=52 ZI-data=1700 ?
FromELF: creating hex file...
After Build - User command #1: C:Keil_v5ARMARMCCbinfromelf.exe ?--bin -o ?..OBJUSART.bin ..OBJUSART.axf
"..OBJUSART.axf" - 0 Error(s),0 Warning(s).
Build Time Elapsed: ?00:00:20


Code ? ? ? = 4972 :是代码占用4972?的空间

RO-data ?= 268 ? : Read Only 表示只读常量,占用268字节,如const型,字符串常量

RW-data = 52 ? ? :?RW-data 表示已经初始化的可读写变量,占用52字节

ZI-data ? = 1700 ?:ZI-data表示未初始化的可读写变量,ZI-data不占用FLASH。


烧写的时,占用FLASH的段为: ?Code ??+ ? ?RO-data ??+ ? ?RW-data
程序运行时,芯片内部RAM占用的空间为:RW-data + ZI-data

上电后,初始化时RW-data从FLASH拷贝到RAM

所以生成的bin文件大小为:4972 +?268 +?52 = ? 5292 ?即 ?0x1A4C ??


如下:转载自:an笛声的专栏

http://blog.csdn.net/IDOshi201109/article/details/50901615
YModem协议使用循环冗余码校验作为检错的方法。YModem是一种比较高效的文件传输协议,每包数据1024bit或者128bit。**YModem协议理解**

Modem协议是使用更大数据块,以追求更高效率的调制解调器所使用的一种纠错协议。它类似于Modem协议。

一、YModem协议传输的完整的握手过程如下图所示:?

ymodem协议图片

二、YModem协议解释:? SENDER:发送方。(文件名:fileName.bin)? RECEIVER:接收方。? 具体握手的步骤如下:? 1、接收方发送一个字符‘C’,也就是十六进制‘43’。代表接收方已经处于接收数据的状态。? 2、发送方接收到‘C’之后,发送头帧数据包,内容如下:? SOH 00 FF fileName.bin NULL[116] CRC CRC? 数据包内容解释:? 2-1 SOH(第1字节):表示本数据区大小有128字节。(STX表示本数据包数据区大小1024字节)。? 2-2 00 (第2字节):数据块编号。 第一包为00,第二包为01,此后依次累加。FF后,继续从00循环。? 2-3 FF (第3字节):数据块编号的反码。 编号00—FF,01—FE,此后依次类推。? 2-4 fileName.bin NULL[116]:数据区。128字节。 fileName.bin是文件名,超级终端下,在文件名后面还有文件大小。 数据区不足128字节的,用0x00补齐。? 2-5 CRC校验(最后2个字节):16位CRC校验,高位字节在前,地位字节在后。(注意:只有数据区参与了CRC校验,不包含头、编码、编码反码)。? 3、接收方收到数据包后,发送ACK正确应答,然后发送一个字符‘C’。? 4、发送方收到‘C’后,开始发送第二帧数据。第二帧数据存放的是第一包数据。? 5、接收方收好数据包后,发送ACK正确应答,然后等待下一包数据传送完毕,继续ACK应答。(循环)? 6、数据传输完毕后,发送方第一次发EOT,第一次接收方以NAK应答,进行二次确认。? 7、发送方收到NAK后,第二次发EOT。接收方第二次收到结束符,依次以ACK和C做应答。? 8、发送方收到ACK和C之后,发送结束符—>SOH 00 FF 00…00[128个00] CRCH CRCL。? 9、接收方收到结束符之后,以ACK做应答,然后通信正式结束。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读