STM32开发笔记16: 使用静态库加快Keil编译速度
2019-07-17 来源:eefocus
单片机型号:STM32L053R8T6
使用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文件外,其它都可删除,当然可别把自己辛苦写的应用层程序删除。
相关文章