历史上的今天
返回首页

历史上的今天

今天是:2024年09月12日(星期四)

正在发生

2018年09月12日 | STM32L0开发笔记3: 使用静态库加快Keil编译速度

2018-09-12 来源:eefocus

    使用Stm32CubeMx生成的源文件数量比较多,编译的时候会占用很长的时间,我们仔细观察这些文件除了main.c外,其它的文件我们基本上是调用其中的函数,并不需要对其进行改动。所以,可以仿照Freescale MQX的设计方法,分层进行编译,下图是在进行项目设计时候的层次结构。


    第0层用于存储Stm32CubeMx生成的工成文件,第2层处理除main.c以外的所有文件,第3层加入应用层的逻辑结构。

    第0层的处理方法,大家参考Stm32CubeMx的使用方法,就可以了。


    第1层的处理方法,也非常简单,可通过以下步骤完成:

    1、在工程目录结构中,移除main.c。

    2、选择Options for Target,打开对话框后,选择Output页,进行如下图所示的设置即可。


    3、对工程进行编译,我们就可以得到相应的静态库了,我这里是bsp.lib。


    第2层的处理方法,可按如下步骤:

    1、我们首先复制第1层为第2层,可更名为app。

    2、打开目录后,移除main.c以外的所有文件,并重新规划工程目录结构。

    3、在工程目录下建立Lib文件夹,将第1层生成的bsp.lib文件复制到该文件夹。


    4、重新建立工程目录结构,引入bsp.lib文件,如下图所示。


    5、重新对工程进行编译即可。

    6、由于引入了库文件,所以可将不需要的文件进行删除,以减小工程占用的磁盘空间,其原则是除去.h和.lib文件外,其它都可删除,当然可别把自己辛苦写的应用层程序删除。


推荐阅读

史海拾趣

EMC Component Group公司的发展小趣事

由于篇幅限制,我无法完整提供五个长达500字以上的关于EMC Component Group公司(通常简称为EMC)的发展故事。然而,我可以概述五个与公司发展历程相关的重要事件或阶段,每个事件以精简的方式描述。

  1. 成立与初期发展

1979年,Richard Egan和Roger Marino两位创始人决定不再为别人打工,共同创立了EMC公司。最初,公司的业务并不专注于存储,而是销售办公家具。随着对市场的深入了解,他们发现了内存市场的商机,开始成为英特尔的渠道代理,为小型机提供内存。这一转变为EMC积累了第一桶金,也为公司未来的发展奠定了重要基础。

  1. 业务转型与内存业务的发展

在一位客服的建议下,EMC开始研发并销售Prime Computer的兼容内存。这些产品以同类产品一半的价格提供更高的性能,迅速在市场上获得认可。随着内存业务的不断发展,EMC逐渐成为了该领域的领导者。

  1. 存储解决方案的推出

进入21世纪,EMC开始将业务重心转向存储解决方案。2002年,公司推出了Centera,这是世界上第一个内容寻址存储(CAS)解决方案。此后,EMC不断推出创新的存储产品和技术,如CLARiiON CX系列、Symmetrix DMX系列等,这些产品和技术在业界产生了深远的影响。

  1. 云存储与软件定义技术的探索

随着云计算和软件定义技术的兴起,EMC也开始了在这一领域的探索。2014年,公司收购了全闪存初创公司,并试图将自己变成灵活的云供应商。此外,EMC还通过升级高端和低端产品线扩展了其产品线,并推出了针对闪存的基础特性进行开发和设计的XtremIO产品。

  1. 与Dell的合并

在EMC的发展历程中,一个重要的里程碑是与Dell的合并。这次合并不仅加强了EMC在存储和云计算领域的实力,也为其未来的发展提供了更广阔的空间。合并后,EMC成为了Dell Technologies的一部分,继续为全球客户提供创新的存储和云计算解决方案。

Hongfa公司的发展小趣事

宏发公司的发展离不开自主研发和技术创新。1998年,宏发成立了精合公司,开启了自主研发自动化设备设计及制造的征程。此后,公司不断加大在技术研发上的投入,建立了博士后科研工作站和院士专家工作站,形成了从产品研发、模具制造、零件制造到自动化成品装配及在线检测的一体化全产业链。通过技术创新,宏发不仅提升了产品性能和质量,还成功打破了国外技术垄断,实现了高端继电器的自主研发和生产。

Eutech公司的发展小趣事

在电源适配器和服务器电源市场,EUtech公司凭借技术创新迅速崛起。他们不断优化产品设计,提高产品性能,同时注重节能环保。随着下游AI行业的快速发展,公司及时抓住机遇,推出了一系列高性能、高可靠性的电源产品,赢得了市场的广泛认可。

安信可(Ai)公司的发展小趣事

在快速发展的过程中,安信可通过收购与合作的方式,不断增强自身的综合实力。例如,在2016年,安信可被博安通投资收购,成为其旗下的一员。博安通作为一家专注于物联网领域的技术密集型高新技术企业,为安信可提供了更多的技术支持和市场资源。通过与博安通的合作,安信可进一步巩固了在物联网市场的地位。

Global Mixed-Mode Technology Inc公司的发展小趣事
三相缺相报警灯电路的维护周期和注意事项应根据实际情况来制定。一般来说,建议定期检查电路的连接情况、继电器的动作情况以及报警灯的工作状态等。同时,还需要注意保持电路的清洁和干燥以防止短路或腐蚀等问题的发生。在维护过程中应严格遵守操作规程和安全规范以确保人员和设备的安全。
ALTERA(阿尔特拉)公司的发展小趣事
如果报警灯频繁误报或漏报,可能是由于电路中的元器件损坏、接触不良或设置不当等原因造成的。此时需要检查电路中的元器件是否完好、连接是否牢固以及设置参数是否正确等。如果发现问题需要及时修复或更换损坏的元器件并重新调整设置参数以确保电路的正常工作。同时还需要注意定期对电路进行维护和保养以延长其使用寿命并提高其可靠性。

问答坊 | AI 解惑

关于DDK开发中的Build SoftICE Symbols的问题,我编译的工程生成了.sys文件,但没有生成.nms等用于调试的文件,不知是否和下面的出错信息

以下是出错的内容,我不明白“Matching PDB file not found.”是什么意思,是不是说生成的.sys文件里面没有编译信息? --------------------Configuration: RepSample - Win32 Free-------------------- Compiling resources with DDK resource c ...…

查看全部问答>

图片显示问题

我现在图片可以显示了,是在Onpaint函数里显示的,直接画了窗体上的。如果我想显示比我大的图怎么办? 我希望通过滑动条来显示? MFC不熟,谢谢指导,我加了滑动条,但滑动没效果的…

查看全部问答>

EBOOT的USB下载驱动问题,请教高手!

问题1:   if(pUSBCtrlAddr->OCSR1.out_pkt_rdy)     {                 fifoCnt=pUSBCtrlAddr->OFCR1.out_cnt_low;                 d ...…

查看全部问答>

关于ARM体系结构主存与辅存运行

对于ARM体系取指,是从程序存储器flash中直接取出去译码(像51那样),还是先把程序换入内存,指令从内存中读取? 金币不多,对不起!…

查看全部问答>

求助高手关于wince下对excel的操作

RT,目前要吧windows上的一个程序移植到wince上去,其他功能都实现了,唯独关于excel部分有些错误 windows上的方法是AfxOleInit()之后就用CWorksheet、CWorkBook.....这几个类操作,在windows上运行没有错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...…

查看全部问答>

LPC2366的几个问题

1. LPC2366的三个VDD(DCDC)(3V3)引脚是否一定要接3.3V电源?周立功的资料说这三个引脚不使用可以悬空。。。但是当这三个引脚悬空时整个单片机根本就没有工作,H-JTAG无法识别芯片,ISP也无法连接,说明这三个脚应该是给内部某些关键模块供电的 ...…

查看全部问答>

LTC1605

各位大哥:         谁有LTC1605应用代码,在线等待。TKS!…

查看全部问答>

LPC2214 擦除问题

请问在擦除前是不是要用串口线把板子和主机相连. 第一次做,有点不明白,请高手指点一下. 怎么确实板子和主机已经连接成功了,成功又该怎么做. 谢谢!!…

查看全部问答>

ARM的相关问题

我刚接触单片机,能不能请各位高手解释一下ARM和单片机的关系。…

查看全部问答>

ST-LINK2进行STM32FLASH调试偶尔不能进入调试(有图)

                                 我使用ST-link2进行FLASH调试,前一段时间偶尔出现不能进入调试界面,给板子断电,然后关闭IAR,重新打开IAR又可以 ...…

查看全部问答>