历史上的今天
今天是:2024年10月12日(星期六)
2019年10月12日 | stm32后生成编译文件大小探索之二
2019-10-12 来源:eefocus
之前总结过编译文件大小的一些研究:
https://blog.csdn.net/ZenNaiHeQiao/article/details/83343504
总结起来是这样的:
(1)

单片机:生产的编译信息中,包含了
code : 代码信息
RO-data: 只读信息–》程序中的指令 和常量
RW-data: 被初始化的变量
ZI-data: 无需初始化的变量
我做了这么一个实验,
①增加一个很大的数组,不初始化或者初始化为0; 它会被分配到ZI-data信息中。
②增加一个很大的数组,切对其进行初始化, 它会被分配到RW-data信息中
烧录文件的大小=code + RO-data + RW-data
增加ZI-data的大小,bin文件未必增大很多。 应该是,对于不需要初始化赋值的变量,ZI-data信息包含了是一些 起始地址 ,数据大小 等等这一些信息。
芯片需要的RAM大小=RW-data+ZI-data
bin文件我们称之为 ARM映像文件(image文件):Image文件包含了RO和RW数据。之所以Image文件不包含ZI数据,是因为ZI数据都是0,没必要包含,只要程序运行之前将ZI数据所在的区域一律清零即可。包含进去反而浪费存储空间。
ARM程序的执行过程:
1. 将RW从ROM中搬到RAM中,因为RW是变量。
2. 将ZI所在的RAM区域全部清零,因为ZI区域并不在Image中,所以需要程序根据编译器给出的ZI地址及大小来将相应得RAM区域清零。ZI中也是变量.
史海拾趣
|
Microsoft Postscript Printer Driver有吗? 我在做一个转PDF的小程序,需要用到虚拟打印机,我现在用到的是HPLJ8550的驱动,但是怕涉及到版权,所以需要一个开源的Postscript Printer 的驱动,发来我找了半天发现别人说windows ddk里面自带了一个Microsoft Postscript Printer Driver,但是我 ...… 查看全部问答> |
|
现在串口丢失数据问题解决了, 但是又迎来了一个新问题。 就是一旦运行某些c#程序,我的串口立即乱码。 经过多次实践证实,这个c#根本和串口一点关系都没有。根本没有打开操作串口的部分。 怎么会这样, ? ———————————————— ...… 查看全部问答> |
|
和华师大的沈老师吃饭,他谈到人的心态问题。很多人很累,是因为一开始设定的目标太高,永远盯着山顶,盯着那个遥远的目标,人会很累、很疲惫。相反,爬了一段山后,找一个山坳休息休息,向下看看,发现山下还有那么多人,会觉得很幸福。所以可以设 ...… 查看全部问答> |
|
* Description : This file includes the LCD driver for AM-240320L8TNQW00H* ...… 查看全部问答> |
|
最近试了一下,把STM32F103的主频调到100M,工作还正常,不知长时间工作如何,如果把电压提高到3.6V是不是会好点。因为S3C2440的CPU内核电压不同时主频的频率也会不同,包括我们PC机上的CPU也是如此,那么STM32是否可以呢,常时间工作是否稳定 ...… 查看全部问答> |
|
默认设置下,没有外接晶振,MCLK=SMCLK=DCO=~800K 而当XIN,XOUT之间接32768晶振,MCLK=SMCLK=DCO=32*32867=1M 是这样的么? 谢谢!!!… 查看全部问答> |
|
看到说明书上说PWM信号在最终从管脚里输出前还得经过控制模块, 控制模块的介绍是这样的♦ PWM输出使能;♦ 输出极性控制;♦ 同步;♦ 故障处理;♦ 中断状态那个输出极性控制是用哪个函数的啊?在驱动库函数里没找到诶?如 ...… 查看全部问答> |
|
为了让您更好的了解MCU设计的解决方案、工具、技巧和实例,安富利科汇在广州承办为期一天的 TI MCU技术研讨会。德州仪器公司的多位MCU专家亲临现场做技术分享,您将获得应用中技术难题的宝贵建议。届时,我们将在现场展示最新的T ...… 查看全部问答> |




