在使用STM32的固件库的时候,需要往工程中添加使用到的功能的对应源文件,比如:stm32f10x_gpio.c等等,一个个添加很麻烦不说,每次在rebuild的时候都要编译这些基本不变的文件.
而通过使用库则可以解决这些问题,首先只需添加一次库文件,第二Rebuild的时候只编译我们自己写的源文件
创建库的过程(IAR中):
新建一个DLib工程,把stm32f10x_xxx.c这样的文件和对应头文件全部复制到工程文件夹下(不复制也可以),然后添加进去,还有core_cm3.c, misc.c, system_stm32f10x.c, 这些都添加进去.(注意:不要添加.h头文件,这和KEIL是不一样的,IAR里不用添加头文件,只需要源文件里#include就行了.)
.s启动文件则可以根据实际需要添加,当然你也可以每种型号都分别创建一个对应的库.然后在实际工程中根据不同的片子选择不同的库.
添加进去后,打开工程属性设置.
general option:
target属性框里选择芯片;
output属性框里的Output file里选择Library(如果新建的工程是DLib的话,这里默认已经是了);
Library Configuration属性框里的Library选项选择None; (这里注意哦)
C/C++ compile:
optimizations里可以选择优化等级.
Preprocessor里,additional include directories栏里添加包含文件的路径.如同一般工程一样把头文件的路径添加进去.
OK,设置如上.编译后,将会后成一个.a文件.
以上是Debug模式下生成的库文件,Release下的设置同上.两者间的不同的是Debug选项中默认输出调试信息,而Release中默认没有.同时