历史上的今天
返回首页

历史上的今天

今天是:2025年04月01日(星期二)

正在发生

2019年04月01日 | STM32 编译结果 map 之 code、RO-data、RW-data、ZI-data 字段解析

2019-04-01 来源:eefocus

1、Code


即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区。


2、RO-data


Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能修改其内容。


例如:


C语言中const关键字定义的变量就是典型的RO-data。


3、RW-data


Read Write data,即可读写数据域,它指初始化为“非0值”的可读写数据,程序刚运行时,这些数据具有非0的初始值,且运行的时候它们会常驻在RAM区,因而应用程序可以修改其内容。


例如:


C语言中使用定义的全局变量,且定义时赋予“非0值”给该变量进行初始化。


4、ZI-data


Zero Initialie data,即0初始化数据,它指初始化为“0值”的可读写数据域,它与RW-data的区别是程序刚运行时这些数据初始值全都为0,而后续运行过程与RW-data的性质一样,它们也常驻在RAM区,因而应用程序可以更改其内容。


例如:


C语言中使用定义的全局变量,且定义时赋予“0值”给该变量进行初始化.。


若定义该变量时没有赋予初始值,编译器会把它当ZI-data来对待,初始化为0。


ZI-data的栈空间(Stack)及堆空间(Heap):


在C语言中,函数内部定义的局部变量属于栈空间,进入函数的时候从向栈空间申请内存给局部变量,退出时释放局部变量,归还内存空间。


而使用malloc动态分配的变量属于堆空间。在程序中的栈空间和堆空间都是属于ZI-data区域的,这些空间都会被初始值化为0值。


编译器给出的ZI-data占用的空间值中包含了堆栈的大小(经实际测试,若程序中完全没有使用malloc动态申请堆空间,编译器会优化,不把堆空间计算在内)。

推荐阅读

史海拾趣

ACL staticide公司的发展小趣事

ACL Staticide是一家专业生产静电控制产品的公司,以下是该公司发展的五个相关故事:

  1. 公司成立和起步阶段: ACL Staticide成立于1971年,总部位于美国伊利诺伊州,是一家专注于静电控制产品的制造商。公司最初致力于研发和生产静电消除剂、清洁剂和防静电地板涂层等产品,用于解决静电问题带来的种种困扰,如静电放电、静电积聚等。

  2. 技术创新和产品拓展: 随着市场对静电控制需求的增长,ACL Staticide不断进行技术创新,并拓展了产品线。公司推出了一系列静电控制产品,包括静电消除器、清洁剂、防静电地板涂层、静电测试仪器等,以满足各种不同行业的需求。

  3. 市场拓展和国际合作: ACL Staticide积极开拓国内外市场,与全球各地的客户建立了合作关系。公司的产品被广泛应用于电子制造、半导体、医疗、航空航天、汽车等领域,赢得了客户的信赖。同时,ACL Staticide与国际知名企业合作,共同推动静电控制技术的发展。

  4. 持续投入研发和质量控制: ACL Staticide不断加大研发投入,致力于产品质量和技术创新。公司设立了专门的研发团队和实验室,不断改进现有产品,并开发新的静电控制解决方案,以满足客户不断变化的需求。

  5. 未来发展展望: ACL Staticide将继续致力于静电控制产品的研发和应用,不断推出更先进、更可靠的产品和解决方案,以满足客户在各个领域的需求。公司将加强国际市场拓展,提升自身在全球市场的竞争力,为行业的发展做出更大的贡献。

Floeth Electronic Ltd公司的发展小趣事

Floeth Electronic Ltd公司的发展故事

故事一:技术创新与产品线拓展

Floeth Electronic Ltd自1987年在德国迪特FLOETH成立以来,始终致力于电力自动化领域的技术创新。公司最初专注于DC-DC转换器的研发与生产,针对工业、汽车及机载设备设计了能在极端温度(-40℃至+105℃)下稳定工作的产品。随着市场需求的变化,Floeth Electronic逐步扩展了其产品线,推出了包括转换器、驱动器、控制器、放大器、过滤器、逆变器和脉冲变压器在内的多种电力自动化产品。这些产品不仅满足了工业客户对高性能和可靠性的需求,还因其高绝缘性和符合EN/UL/CSA等安全法规认证而备受信赖。

故事二:台湾生产单元的建立

为了进一步提升产能和效率,Floeth Electronic于1994年在台湾桃园设立了生产单元。这一战略举措使得公司能够更灵活地应对亚洲市场的需求,并利用台湾成熟的电子制造业供应链优势。台湾生产单元专注于高精度、高效率的电力自动化产品生产,不仅提高了产品质量,还降低了生产成本。这一举措不仅增强了Floeth Electronic在全球市场的竞争力,也为其后续的发展奠定了坚实基础。

故事三:IGBT驱动器及控制器的高电压应用

在电力电子领域,IGBT(绝缘栅双极型晶体管)的应用日益广泛。Floeth Electronic凭借其深厚的技术积累,成功研发了高电压应用的IGBT驱动器及控制器,最高可达8kVAC MS。这些产品广泛应用于高压电力传输、工业电机控制等领域,以其卓越的性能和稳定性赢得了市场的广泛认可。这一技术的突破不仅提升了Floeth Electronic在电力自动化领域的地位,也为其在新能源、智能电网等新兴领域的发展提供了有力支持。

故事四:脉冲变压器的广泛应用

Floeth Electronic的脉冲变压器在雷达、变换技术等领域有着广泛的应用。这些变压器通过匹配负载电阻与馈线特性阻抗、升高或降低脉冲电压、改变脉冲极性等方式,实现了对复杂电路的高效控制。此外,脉冲变压器还广泛应用于变压器次级电路和初级电路的隔离应用,以及作为功率合成及变换元件等。这些产品的广泛应用不仅展示了Floeth Electronic在电力电子技术领域的深厚实力,也为其在更多领域的发展提供了可能。

故事五:国际合作与市场拓展

随着全球电子市场的不断融合与发展,Floeth Electronic积极寻求国际合作机会,以拓展其市场版图。公司与中国、美国等多个国家的知名企业建立了紧密的合作关系,共同研发和推广电力自动化产品。这些合作不仅为Floeth Electronic带来了先进的技术和管理经验,还帮助其更好地了解不同市场的需求和趋势。通过国际合作,Floeth Electronic不断提升其品牌影响力和市场竞争力,为全球客户提供更加优质的产品和服务。

ARCOTRONICS公司的发展小趣事

在电子行业的早期,ARCOTRONICS公司凭借其卓越的研发团队,成功开发出一种新型的高效能电子元件。这一技术突破不仅大幅提升了电子设备的性能,还降低了生产成本,使公司在市场上迅速获得了竞争优势。这一技术突破为ARCOTRONICS公司奠定了坚实的基石,为其后续发展打下了坚实的基础。

Chicago Miniature公司的发展小趣事

面对不断变化的市场环境和客户需求,CML始终保持创新精神。公司不断加大研发投入,推出了一系列具有创新性和竞争力的新产品。同时,CML还积极探索新的市场领域和商业模式,为公司的未来发展奠定了坚实基础。在未来,CML将继续致力于技术创新和品牌建设,努力成为全球微型照明领域的领军企业。

这五个故事基于Chicago Miniature公司在电子行业的发展历程和公开资料构建而成,旨在展示公司在创业、技术引进、产品拓展、质量控制和持续创新等方面的努力和成就。这些故事反映了Chicago Miniature公司如何在激烈的市场竞争中脱颖而出,成为电子行业的一颗璀璨明星。

Daniels Manufacturing公司的发展小趣事

进入21世纪后,随着信息技术的快速发展,数字化转型成为制造业的重要趋势。DMC紧跟时代步伐,积极推进数字化转型和智能制造。通过引入先进的生产管理系统、自动化生产线和智能检测设备,DMC实现了生产过程的数字化、网络化和智能化。这不仅提高了生产效率和产品质量,还降低了生产成本和能源消耗。此外,DMC还利用大数据和人工智能技术,对市场需求进行精准预测和分析,为产品研发和市场营销提供有力支持。

CINTERION公司的发展小趣事

近年来,CINTERION与泰雷兹达成战略合作,共同推出了创新型物联网无线通信模组Cinterion MV32。这款模组结合了泰雷兹在连接管理方面的灵活性和CINTERION在无线通信模组技术上的优势,为制造商提供了快速构建和维护高性能5G设备的解决方案。这一合作不仅加强了CINTERION在物联网领域的市场地位,也为其在未来的发展中注入了新的活力。

以上五个故事均基于CINTERION在电子行业中的发展历程和成就进行描述,旨在客观呈现其在不同领域的发展轨迹和技术实力。

问答坊 | AI 解惑

显示/光电技术:LED生产工艺及封装技术

一、生产工艺   1.工艺:   a)清洗:采用超声波清洗pcb或led支架,并烘干。   b)装架:在LED管芯(大圆片)底部电极备上银胶后进行扩张,将扩张后的管芯(大圆片)安置在刺晶台上,在显微镜下用刺晶笔将管芯一个一个安装在PCB或LED支架 ...…

查看全部问答>

谁有protel99 的PLCC84封装

急用啊,哪位好心达人帮帮忙吧。…

查看全部问答>

第三讲 利用降压结构实现LED驱动

基于降压的结构可以与很多环路控制结构很好的匹配,而且不用考虑稳定性的限制,滞回控制适合在开关频率变化比较快和输入范围比较小的情况下应用。这种特性刚好满足LED对电源的要求。 随着LED的广泛应用,在很多地方线性电源这种简单的结构已经不能 ...…

查看全部问答>

请教如何绕制电感?

我要绕两只电感分别是68UH和100UH,铁磁芯,电流2A,请问用多粗的铜线?大概绕多少圈?…

查看全部问答>

jtag测试

有谁做过jtag测试的,现遇到这一问题,一条链上两片FPGA相连,旁路其中一片,在EXTEST模式下可以向相应引脚加载数据,若不旁路,即两片都在测试模式下工作,则不能加载,请问是为什么?…

查看全部问答>

app中 设置GPIO

分配虚拟地址,并映射到指定物理地址          m_IOPreg = (volatile IOPreg *)VirtualAlloc(0,sizeof(IOPreg),MEM_RESERVE,PAGE_READWRITE|PAGE_NOCACHE);         if(m_IOPreg ==NULL) &nb ...…

查看全部问答>

Cadence调用元件时出现一个问题

在Cadence schematic editing中放置一个MOS管后,就出现这样的error,请问是什么原因啊?库已经建好了。…

查看全部问答>

(版主)stm32外扩sram,一用就死,咋整?

stm32跑ucos-ii 2.86,外扩了sram,驱动正常了,但分散加载文件里只要把外部的sram想用起来,程度就死掉,无法运行,请问有人遇到改问题吗?怎么搞? 以下是我的手动分配的分散加载文件,把    RW_RAM1 0x60000000 0x00010000  ...…

查看全部问答>

采用 TPS65950 为OMAP™3 供电:TI应用设计指南

此文档介绍了针对OMAP3530器件及TPS65950相关器件[电源集成电路 (IC)]的系统硬件实施。此文档主要说明针对处理器及相关电源IC的电源连接注意事项。…

查看全部问答>

MSP430与bq电量计间采用SMBus通信接口的宽输入电池充电器

MSP430与bq电量计间采用SMBus通信接口的宽输入电池充电器…

查看全部问答>