使用IAR创建库以及如何使用库

如题所述

在使用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中默认没有.同时时我们可以在Release中根据需要把优化等级调高一点.最后,Release模式下生成的库文件小一点.和平时一样建一个工程,或者随便打开一个你自己的STM32工程.然后添加库,两种方法可以添加库:1.可以直接像添加源文件一样,在工程中右键-add files,然后添加.a文件.2.右键属性,在Linker选项中的Library选项卡中的additional libraries:中添加.而且可以在Debug属性中添加Debug模式产生的库,release中添加release模式生成的库.需要注意的是不能只添加路径,文件名也要写上. 比如:E:/IAR_LIB/Stm32/stm32_d.aOK,这时你就可以把像stm32f10x_gpio.c这样的文件从工程中Remove了.(使用库)和(不使用库手动添加stm32f10x_gpio.c)之间,在实际工程中,最终生成的可执行文件的大小是一样的.最后,在实际工程中:只需将stm32f10x_conf.h, stm32f10x_it.h, stm32f10x_it.c复制到工程文件夹,然后把stm32f10x_it.c添加进工程就行了(当然,前面已经说过,无论是在ARM工程,还是库工程中,IAR都不需要添加头文件,添加了反而会编译出错,只需要源文件中#include)另外上述三文件最好不要创建成库,因为它们在不同的工程下都是不一样的,这个就不用我说了吧.:)
温馨提示:内容为网友见解,仅供参考
无其他回答

使用IAR创建库以及如何使用库
在使用STM32的固件库的时候,需要往工程中添加使用到的功能的对应源文件,比如:stm32f10x_gpio.c等等,一个个添加很麻烦不说,每次在rebuild的时候都要编译这些基本不变的文件.而通过使用库则可以解决这些问题,首先只需添加一次库文件,第二Rebuild的时候只编译我们自己写的源文件创建库的过程(IAR中):新建...

怎样在IAR中加入编译所需库的头文件?
1、首先打开电脑,然后在电脑桌面中,找到并双击IAR打开软件,如图。2、然后在打开的页面中,点击上面的“Help”,如图。3、接着在下拉列表中选择“About”选项,如图。4、接着在下拉菜单中,选择“Prodect info”选项,如图所示。5、最后在弹出的对话框中,就可以看到IAR的程序版本号了。

怎样在IAR工程中添加库文件
直接把库文件加入到工程里面(就像添加源文件一样),从提示可以看出,uCGUI3.2.lib不是iar的库文件。IARARM库后缀是.a

iar怎么添加stm32固件库
简单的办法,去下载STM32Cube_FW_F0_V1.0.0,去项目路径下随便找个硬件板,如\\Projects\\STM32F030R8-Nucleo\\Templates,在Templates下直接打开IAR工程即可。这个已经是包含全部库的工程模版了。或者 右键:Add->Broup,新建一个外设库组,然后在这个组里加入库文件(.c)右键:Options->C\/C++ Compile...

iar怎么打开开源库内历程
1、首先打开电脑并输入密码进入主页面。2、其次点击iar工程文件并在里面找到开源库。3、最后在开源库找到历程即可

IAR下 MSP430 如何把自己写的库文件变成代码不可见 但是可以包含到main...
1)这个比较简单,不过需要注意的是什么library configuration,其他的都是基本配置。2)具体说下如何配置:选择opinion——> general opinions ——>output——>output file——>library。3)选择opinion——>general opinions ——> library configuration——>CLIB。4)选择opinion——>library buider —...

在IAR编译器里怎样调用数学库math.h
include <math.h>是从编译器目录搜索文件 include "math.h"是从当前目录下搜索文件试试看

IAR中添加了STM8库函数 怎么报这么多错啊
首先include头文件,不需要把文件 放到工程中,通常需要使用函数文件的时候,把.c文件放到工程里。只需要把头文件夹路径在IAR中 配置下就可以啦。。你把.h文件在工程中去掉,路径包含下,看看行不行。还有,我通常那个包含的都是stm8s.h这个文件,在库中有的,你这个我没包含过。

IAR怎样建—FLASH工程
1. 创建项目目录、复制公共文件(1)在E盘下创建名为的Example文件夹,即项目根目录为E:\\Example。(2)在项目根目录下建立一个EWARMv5文件夹用于存放项目文件、工作空间文件和项目配置相关文件。(3)解压标准外设驱动文件库(stm32f10x_stdperiph_lib_V3.1.2.zip),将其中的“Libraries”文件夹...

我用IAR MSP430写程序,用到malloc动态分配内存时,编译没错误,但调试...
1.你选的什么库?2.是否设置了堆的大小?3.malloc是否支持地址不对齐的申请?对于32位系统,每次申请要求是4的整数倍,16位系统应该是2的整数倍,像你这样每次申请5,先不说支持不支持,即使支持,多浪费啊,因为内部都是定长分配,方便寻址

相似回答