如何将STM32的标准库编译成lib库.docx

上传人:b****5 文档编号:8326709 上传时间:2023-01-30 格式:DOCX 页数:10 大小:854.88KB
下载 相关 举报
如何将STM32的标准库编译成lib库.docx_第1页
第1页 / 共10页
如何将STM32的标准库编译成lib库.docx_第2页
第2页 / 共10页
如何将STM32的标准库编译成lib库.docx_第3页
第3页 / 共10页
如何将STM32的标准库编译成lib库.docx_第4页
第4页 / 共10页
如何将STM32的标准库编译成lib库.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

如何将STM32的标准库编译成lib库.docx

《如何将STM32的标准库编译成lib库.docx》由会员分享,可在线阅读,更多相关《如何将STM32的标准库编译成lib库.docx(10页珍藏版)》请在冰豆网上搜索。

如何将STM32的标准库编译成lib库.docx

如何将STM32的标准库编译成lib库

以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。

这个编译过程是一个相当慢的过程!

完全编译大约需要一支烟的时间。

每次建立工程都这么编译,是一个相当浪费时间和香烟的过程。

  于是,我有了将库编译成lib文件的想法。

本文就是我将STM32F4的标准库编译成lib文件并在工程中使用的过程。

  适用对象:

  1、熟悉库,不想再看库里边代码

  2、有稳定的库,库文件更新不频繁

  3、库文件多,每次编译时间长

  下面是我将STM32F4的标准库编译成lib并在工程中使用的过程:

  1、建立创建lib的工程

  2、将库文件拷贝到工程目录:

  将库里边目录\STM32F4xx_StdPeriph_libv1.0.2\STM32F4xx_StdPeriph_Driver下的inc和src两个文件夹拷贝到预创建工程的目录。

我计划在目录E:

\学习\ARM\库\stm32f4-2中创建库。

于是我将两个文件夹拷贝到了这里。

  3、选择芯片:

STM32F407VG

  4、选择NO。

因为这不是可运行的程序,这里不需要加入启动文件。

  5、创建完工程后,工程结构如图:

  6、MDK中点击工具栏上的

设置工程结构,并将库文件加入工程:

  为了通用,我将库中所有的C文件都加入了工程

7、完成后MDK下的目录结构:

  8、MDK下设置输出选项:

  工程选项中设置输出,选择输出lib到目录E:

\学习\ARM\库\stm32f4-2\lib\:

  9、设置C语言预编译宏和引用目录:

  因为要使用STM32F4标准库,预编译选项设置:

USE_STDPERIPH_DRIVER,STM32F4XX

  将刚才拷贝的inc和工程根目录文件夹加入引用:

  10、设置完成后:

11、将stm32f4xx_conf.h文件拷贝到工程:

  这个文件需要在标准库提供的示例工程中找:

  我使用的是\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA\stm32f4xx_conf.h

  这个文件引用了库文件中所有的头文件。

因为不包含在库中,我将这个文件拷贝到E:

\学习\ARM\库\stm32f4-2文件夹。

  12、到此,工程设置完成。

按F7编译,经过一支烟的时间即可生成库的lib。

  生成完成后,MDK工程中:

  13、工程输出目录:

  文件stm32f4lib.lib就是我们生成的lib文件

  14、将库文件加入该工程

  15、新建工程,我命名成stm32f4use,处理器依旧选择STM32F407VG。

  16、这是选择yes,因为这是一个可执行的工程:

17、将标准库示例工程的\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录(E:

\学习\ARM\库\stm32f4-2)中

  18、再次点击菜单上的

设置工程目录结构,将刚才生成的lib库加入到工程中:

  19、将示例工程\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录。

  20、将main.c和system_stm32f4xx.c加入到工程

  21、完成后的目录结构:

  22、加入编译选项

  与上边生成lib相似,预编译选项设置:

USE_STDPERIPH_DRIVER,STM32F4XX

  引用目录:

.\inc;..\stm32f4-2(这里的.\inc;..文件夹就是刚才建立库时候的文件夹)

  输出可执行文件:

23、添加几行简单的代码

  //点亮一个LED

  #include

  #include"stm32f4xx_conf.h"

  #include"stm32f4xx_tim.h"

  intmain()

  {

  GPIO_InitTypeDefGPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;

  GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;

  GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;

  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;

  GPIO_Init(GPIOD,&GPIO_InitStructure);

  GPIO_SetBits(GPIOD,GPIO_Pin_12);

  while

(1);

  }

  24、工程设置完成,按F7试试。

现在编译速度快起来了,点个烟的时间就编译完了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1