当我们的程序复杂度提高,代码量增大,每次编译都会花费更多的时间,虽然相比较Linux动则好几个小时的编译时间,单片机编译的时间已经算很短了,但是一个200多KB的程序编译也得需要好几分钟。如果将一些成熟固定,几乎不会再去修改的程序编译成静态库,那么可以减少一部分编译时间,对于STM系列单片机来说,编译库函数的时间可能甚至超过了应用代码本身,因此非常有必要将这部分程序编译成静态库以减少编译时间。
除了省时外,通过将模块代码编译成静态库还可以对外隐藏技术实现细节,保护自己的技术成果,以下就以STM32F407ZET6为例,介绍如何生成静态库文件。
首先使用keil MDK创建一个工程,就跟普通工程一样,先选择STM32F407ZE芯片,然后添加源文件(启动文件也可以添加),并包含头文件所在相对目录,库函数必备的一些宏也需要添加,如下图所示
然后设置输出,勾选create library。