之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:

我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。

从上图可以看出,hex有128K。

我有两点疑问,

1. 只是一个很简单的平衡小车程序而已,有128K,这么大吗?

2. 就算有128K,能下载到只有64K容量的单片机中去?

这可能是一道送命题!

下面开始我们的探索之旅,以STM32开发为例。

在keil中进行程序编译之后,在界面部分:

很多朋友估计看到这界面,也只关心2个点:

第一、自己编写的程序是否正确生成了hex!

第二、自己编写的程序有没有错误,有没有警告!


在图中红线部分:

有4个:Code、RO-data、RW-data、ZI-data。
Code:表示所要执行的代码,程序中所有的函数都位于此处。
RO-data:表示只读数据,程序中所定义的全局常量数据和字符串都位于此处。
RW-data:表示已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。
ZI-data:表示未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。


从描述中可以得出:

1. 下载到单片机FLASH的程序是:Code+RO-data+RW-data(上图中数据为字节数,kb=byte/1024);

hex=(39546+5862+12428)/1024=56.48

2. 运行在RAM中的数据是:RW-data+ZI-data;

原来window下显示的hex大小,并非是我们下载到单片机中的hex大小。

关于为什么显示不同,这又是一个十分有趣的问题,有兴趣的朋友可以一起探讨下。

最后,貌似C8T6这个芯片的资源差不多被榨干了,要考虑换芯片了。

-END-

猜你喜欢

谁更了解你,是女朋友吗。不,是这些推荐算法。

为什么我们应该支持华为

晶振,数字电路的心脏~

最 后

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

单片机的程序有多大?相关推荐

  1. 文件 单片机_如何查看你写的单片机程序有多大?

    单片机我们都用过,我们知道单片机的FLASH有4K的,有8K的,单片机程序我们也写过,但是我们写好的程序有多大,你知道吗?程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件,这个 ...

  2. lpc2000 filash utility 程序烧写工具_单片机烧录程序的次数

    单片机是可编程器件,开发者把程序写好.编译完之后,需要烧录到单片机中,单片机才能按照开发者的逻辑去执行.在这个烧录的过程中需要用到专用的烧录工具.比如51单片机的USB/TTL.STM单片机的STli ...

  3. 单片机的程序结束后都干嘛去了?

    对于嵌入式系统,如果没有运行RTOS,那么程序开发中的主函数main()需要通过某种机制使其永远愉快的运行下去,它没有终点.如果想从main函数中退出,具体干什么是由所使用的C语言编译器决定的. 一. ...

  4. 单片机 架构 程序 经验总结_avr单片机工作经验总结

    AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU) 精简指令集高速8位单片机.可以广泛应用于计算机外部设备.工业实 ...

  5. 【跑飞、死机】单片机 msp430程序跑飞原因和解决方式积累

    目录 单片机 msp430程序跑飞原因和解决方式积累 MSP430 数组填充越界引起的栈溢出 导致程序跑飞 [单片机重启]MSP430重启/频繁重启/跑飞 原因分析 单片机 msp430程序跑飞原因和 ...

  6. Windows自动启动程序的十大藏身之所(转载)

    Windows自动启动程序的十大藏身之所 Windows启动时通常会有一大堆程序自动启动.不要以为管好了"开始→程序→启动"菜单就万事大吉,实际上,在Windows XP/2K中, ...

  7. 这可能是程序员学习大数据架构师的最佳之路!另附送1024G学习资料!

    随着大数据时代的到来,[这次国家教育部的改革要动真格了],JAVA程序员们仅有的一点点竞争力很快就不复存在,为什么这么说呢? 人生别只顾低头拉车,更要抬头看路! 国家教育部全面改革:大数据领衔 所有高 ...

  8. 单片机 解释型 c语言脚本,解释型单片机应用程序的研究.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp学术论文&nbsp>&nbsp自然科学论文 解释型单片机应用程序的研究.pdf5页 本文档一 ...

  9. 计算机行业中的烧写怎么翻译,单片机怎么烧录程序_单片机烧录程序步骤说明...

    描述 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器ROM.多种I/O口和中断系统.定时器/ ...

最新文章

  1. html编写app页面代码,编写html页面代码需要了解的--综合编
  2. 线上慢查询?试试这几个优化思路!
  3. linux 时间会跳吗,linux系统时间暂时跳跃
  4. Python time asctime()方法
  5. Vue移动端项目——字体图标的使用
  6. 如何获取投票提交地址_简单实用 | 2019全国医院擂台赛投票攻略(县域版)
  7. python——argsort函数
  8. Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 文件的关系
  9. Java方法——方法的重载
  10. ENVI用ROI进行裁剪
  11. 手机号码格式和邮箱格式校正
  12. TMS320F2837x + Spartan6/国产FPGA低成本高实时注塑机运动控制器软硬件设计方案
  13. 就业、养老、住房、出行等领域稳步前行 这一年,民生改善实实在在
  14. 在线可视化布局HTML
  15. 电脑图片格式怎么批量转换jpg?几个小妙招轻松转换
  16. c语言题 设圆的半径,C语言初学者:编程序:设圆半径r圆柱高h,求圆周长面积圆柱体积圆球表面积...
  17. Q3财报“牛虎“斗日趋激烈,能否追上美国券商大户“罗宾汉“?
  18. 函数定义涉及的三要素C语言,c语言函数的调用
  19. 网管必看的好东东(十)
  20. linux系统fflush函数

热门文章

  1. 如何查找SAP Fiori UI上某个字段对应的底层数据库表
  2. How is setModel triggering propery binding
  3. How UI5 and FIORI deliver central Javacript library code MIME
  4. how is OData url select option implemented in the backend
  5. 如何处理JCO版本太旧引起的问题
  6. 如何用postman发送新浪微博
  7. workaround: 从product category移除settype时绕过check
  8. 如何处理Partner function occurs less than specified in customizing error message
  9. IPM: 使用代码删除Acquisition contract上的IP Product
  10. Java Spring源代码研究之Bean的名称是大小写相关吗?