历史上的今天
今天是: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文件外,其它都可删除,当然可别把自己辛苦写的应用层程序删除。
史海拾趣
|
关于DDK开发中的Build SoftICE Symbols的问题,我编译的工程生成了.sys文件,但没有生成.nms等用于调试的文件,不知是否和下面的出错信息 以下是出错的内容,我不明白“Matching PDB file not found.”是什么意思,是不是说生成的.sys文件里面没有编译信息? --------------------Configuration: RepSample - Win32 Free-------------------- Compiling resources with DDK resource c ...… 查看全部问答> |
|
问题1: if(pUSBCtrlAddr->OCSR1.out_pkt_rdy) { fifoCnt=pUSBCtrlAddr->OFCR1.out_cnt_low; d ...… 查看全部问答> |
|
RT,目前要吧windows上的一个程序移植到wince上去,其他功能都实现了,唯独关于excel部分有些错误 windows上的方法是AfxOleInit()之后就用CWorksheet、CWorkBook.....这几个类操作,在windows上运行没有错误 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...… 查看全部问答> |
|
1. LPC2366的三个VDD(DCDC)(3V3)引脚是否一定要接3.3V电源?周立功的资料说这三个引脚不使用可以悬空。。。但是当这三个引脚悬空时整个单片机根本就没有工作,H-JTAG无法识别芯片,ISP也无法连接,说明这三个脚应该是给内部某些关键模块供电的 ...… 查看全部问答> |
|
ST-LINK2进行STM32FLASH调试偶尔不能进入调试(有图) 我使用ST-link2进行FLASH调试,前一段时间偶尔出现不能进入调试界面,给板子断电,然后关闭IAR,重新打开IAR又可以 ...… 查看全部问答> |




