打印
[应用相关]

使用静态库加快Keil编译速度(转载)

[复制链接]
633|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
labasi|  楼主 | 2019-6-17 13:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
使用Stm32CubeMx生成的源文件数量比较多,编译的时候会占用很长的时间,我们仔细观察这些文件除了main.c外,其它的文件我们基本上是调用其中的函数,并不需要对其进行改动。所以,可以仿照Freescale MQX的设计方法,分层进行编译,下图是在进行项目设计时候的层次结构。



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

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


使用特权

评论回复
沙发
labasi|  楼主 | 2019-6-17 13:58 | 只看该作者

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

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

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


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


使用特权

评论回复
板凳
labasi|  楼主 | 2019-6-17 13:59 | 只看该作者
第2层的处理方法,可按如下步骤:

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

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

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



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



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

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


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

3344

帖子

2

粉丝