173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

stm32库函数建立一个工程视屏

keros@mark 2023-03-18 资讯中心

正在学习stm32,谁可以告诉我怎么可以用函数库创建一个工程啊,详细点!谢谢了。。。

你是问有官方固件库创建工程吧?我这里给你说说MDK的创建方法,如果你用的时IAR环境也差不多。

1.解压stm32f10x_stdperiph_lib.zip 可以从ST官方网站免费下载。最新标准库版本为 3.5.0

2.创建一个Demo文件夹

2.1 新建子文件夹User,用于存放用户源程序

2.2 新建子文件夹Project,用户KEIL工程文件

2.3 在Project下依次创建Obj和List子文件夹,存放编译过程中产生的中间文件。

3. 复制源代码到Demo文件夹

3.1 将stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.1.2Libraries文件整体复制到Demo文件夹下。这就是ST的标准库,是以源代码形式提供的。

3.2 将库中的演示代码IOToggle中的文件复制到Demo\User文件夹.

4. 新建一个Keil MDK工程

4.1 启动Keil MDK,点击菜单 New uVision Project,然后按向导进行操作

4.2 选择CPU类型为 STM32F103ZE (这是安富莱STM32开发板采用CPU类型)

4.3 当提示是否复制启动代码时,请选择否。(我们用最新的库中的启动代码,不用Keil软件自带的旧版本启动文件)

4.4 根据自己的需要修改Target名字。(名字任意)

4.5 为了便于代码管理,在这个Project下创建几个Group (名字可以任意)

User : 存放用户自己写的源代码

RVMDK : 存放启动文件(汇编文件)

StdPeriph_Driver : 存放ST标准库文件

CMSIS : 存放CMSIS接口文件(这也是库的一部分)

4.6 创建好Group后,我们开始依次添加文件。

5. 修改源代码。我们将修改main.c 文件,换成我们自己跑马灯程序。

6. 配置工程, 点击“Options”按钮

6.1 切换到Output。

选择Object文件夹。

在Create Hex File 前打钩。

6.2 切换带Listing。

选择Listings文件夹

6.3 切换到C/C++

添加两个预编译宏 STM32F10X_HD, USE_STDPERIPH_DRIVER (这是ST库用到了这两个宏)

修改Includes路径

6.4 切换到Debug

选择硬件调试器(缺省是软件仿真),我们选择Cortex-M3 J-Link调试器

再 Run to main前打钩

6.4 切换到Utilities

选额调试器类型,我们选择Cortex-M3 J-Link

点settings按钮,添加Flash编程算法,我们选择STM32高密度器件,Flash容量512K字节

7. 配置工程完毕。下面开始编译。

8. 编译OK,开始调试。

9. 教程结束。

讲得比较清楚了吧 ,还有疑问可以问我。或者联系我,我一步一步教你。

stm32中什么叫基于自编库函数建立工程,什么叫基于固件库建立工程呢?区别是什么呢?

简单说:

固件库又叫做firmware lib,ST官方做了两套,早期是标准库,后面是HAL库,其实就是程序框架。

单片机开发一般包括:驱动开发 + 应用程序

驱动开发就是控制单片机片内外设,如存储、通信接口(uart spi iic等)、定时器等

应用程序就是用户逻辑代码。

ST官方提供的库主要是帮我们简化编程,抽象底层操作,使我们更专注用户程序开发。比如:

我们要控制GPIO,那么我们可能需要去查看寄存器、配置时钟使能、上下拉、驱动能力、输入输出、中断方式、管教复用等,这些很琐碎很容易出错,但是使用库函数调用函数就OK了。

还有一个巨大的好处是:程序移植性更好!!!

ST很良心,当然大牛也可以自己实现自己的库。

如何创建stm32l051工程

1、建立好文件夹,文件夹中有相应的库函数和头文件等等

2、通过keil创建test_creat.uvproj到以目录

选择完芯片以后,弹出窗口一定要选择“否”

3、添加文件,只用添加C文件进去

添加完成以后会看到:

4、头文件路径的添加

stm32f10x_it.h

,stm32f10x.h,

stm32f10x_conf.h

,core_cm3.h,

system_stm32f10x.h

主要添加以上的头文件位置还有各种ppp外设头文件的位置也就是src文件夹

5.编译会出现的问题及解决方法

1、去掉STM32F10X_HD,USE_STDPERIPH_DRIVER

2、去掉conf.h里面的type.h

3、去掉主函数里面的ppp。h的各种包含

4,在stm32里面去掉hse的宏定义511

6.我把这个建立工程模板打包,以后就用这个直接添加外围设备的C就行了,因为头文件的地址已经制定好了,到主函数里面包含就行了,这样就方便每次建立工程写程序了

如何使用MDK建立一个STM32工程

第一步:获取ST库源码

关于获取ST公司的STM32固件库源码,有几种方法。我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载。不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:

END

第二步:新建工程文件夹——《STM32工程模板》

首先,新建工程文件夹《STM32工程模板》,然后再在该文件夹下新建6个文件夹,分别为:《Doc》、《Libraries》、《Listing》、《Output》、《Project》和《User》。其中,《Doc》用于存放各种说明文档;《Libraries》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源文件。具体情况如下图所示:

END

第三步:向建立的工程文件夹中添加库文件

将库文件中的inc和src文件夹复制到模板工程文件夹下的FWLIB文件夹。具体操作情况如下图:

将库文件中CoreSupport文件夹下的文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:

将库文件中DeviceSupport文件夹下的相关文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:

将库文件中startup文件夹下arm中的文件全部复制到工程模板文件夹下的startup文件夹。具体操作情况如下图:

将库文件中Project文件夹下的相关文件复制到工程模板文件夹下的User文件夹中。具体操作情况如下图:

END

第四步:使用MDK(Keil)新建工程模板

首先得选择CPU,这个在新建工程时,会有一个选择芯片的界面,我们只需按提示以及自己的实际情况来选择就好了。具体操作情况如下图:

更改工程名(将默认的工程名改为“Template”的方法:选中工程,按“F2”键)并为工程添加项目组(Add group to project)。具体操作情况如下图:

分别向各个项目组中添加我们刚刚从库中复制过来的文件文件(Add files to group)。具体操作情况如下图:

本文标签:stm32库函数建立一个工程视屏

产品列表
产品封装
友情链接