新建STM32F427IIH标准库工程

实验前准备:最新版本的固件库,开发板,Jlink,keil5

采用最新固件库版本“V1.8.0最新标准固件库”(可上官网下载)

这边介绍从零开始搭建的方法。

注意事项:

1、不要导入stm32f4xx_fsmc.c,原因是F42不支持FSMC,支持FMC,f407才支持FSMC,导入之后

会报30个错。

2、所有文件最好不要命名中文,即文件路径不要出现中文,否则可能莫名其妙报错。

3、如果在keil中发现自己的某个文件上有一个黄色的小钥匙,说明该文件是被设置了只读模式,需要

返回到文件夹中全选所有文件->右击鼠标->属性 然后把只读的那一项取消。

一、新建一个文件夹

新建XXX作为工程的根目录文件夹,下设以下几个子文件夹。这些文件夹的名字是可以按照自己

的喜好改变的,原则上怎么方便后面写程序怎么来,所以我们会发现不同的人写的工程文件,每个文

件夹命名和内容都是不一样的。

CORE:用于存放STM32的CPU核心相关的文件和启动文件

FWLIB:存放STM32的外设库,大大简化了编程。

Project:MDK工程相关的目录,KEIL工程相关的文件

OBJ:放一些将来自己写的程序文件的.o .d .crf等类型的文件

Middlewares:下设一个System文件夹,System文件下设Inc和Src文件夹,Inc放头文件,Src放.c文

件,将来植入FREETOS也放在这

USER:存放如BSP(板级支持包)、APP(一些重要的子.c文件)、将来自己写的程序文件。下设

两个子文件夹inc和src,前者存放.h,后者存放.c文件。

二、新建一个工程

1、打开 Keil,点击 Keil 的菜单:

Project –>New Uvision Project ,然后将目录定位到刚才建立的文件

XXX之下的Project子目录,工程的名字可以根据自己的要求设置。Project文件夹就用来存放工

程的文件。

2、处理器选择我的芯片型号STM32F427IIH

3、后面弹出的对话框直接点OK

三、搭建工程环境

1、打开官方固件库包,定位到我们之前准备好的固件库包的目录:

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver 下面,将目录下

面的 src,inc 文件夹 copy 到我们刚才建的FWLIB文件夹下。

2、打开官方固件库包,定位到目录:

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Template

s\arm 下面,将文件 startup_stm32f427_437xx.s 、startup_stm32f427x.s(启动文件)复制到 CORE

目录下面。

3、打开

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Includ , 将 里 面 的 四 个 头 文 件 :

core_cm4.h 、core_cmSimd.h 、core_cmFunc.h 、 core_cmInstr.h 复制到 CORE 目录下面。

4、复制工程模板需要的一些其他头文件和源文件到我们工程

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 将里面的

2 个头文件 stm32f4xx.h 和 system_stm32f4xx.h 复制到 Project目录之下。

5、然后进入目录:

\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates ,将 目 录 下

面 的 6个 文 件 main.c ,main.h, stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h ,

system_stm32f4xx.c 复制到 Project目录下面

6、导入文件到keil工程

点击

中的

将之前复制的文件导入到我们的工程,




注意不要导入stm32f4xx_fsmc.c

原因是F42不支持FSMC,支持FMC,f407支持FSMC,导入之后会报30个错。

7、设置头文件存放路径。

这一步骤非常重要。很多时候系统报错说找不到文件什么的可能就是这个没有设置好

点击魔术棒

STM32F427X,USE_STDPERIPH_DRIVER,__FPU_USED,__FPU_PRESENT,ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING

复制到第一行Define

然后在Include Path 导入我们的文件路径

8、编译

发现没有错误,有错误可能是多/少导入了文件

9、LED测试

打开main.c,

将这一段里的A改为G,并且随便改GPIO_Pin_x(1<=x<=8)即点亮我的板子上的x灯(每个人的开发

板不同所以要看情况)

10、设置下载方式

点击魔术棒的Dubug,再点击Setting

选择Port为SW模式,因为我的开发板支持SW模式下载,视情况而定

11、下载到板上,发现对应的灯亮,OK。

新建STM32F427IIH标准库工程相关推荐

  1. (一)使用TrueSTUDIO软件新建一个基于STM32标准库工程

    一.TrueSTUDIO说明 不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是破解版的,并没有经过正规渠道授权注册,这就导致了在开 ...

  2. STM32标准库工程中移植TencentOS-tiny

    一.移植前的准备 1. 引言 因为项目的原因需要将原有的标准库工程升级为基于TencentOS-tiny的RTOS工程,所以花费一点时间记录移植过程,提供一份向基于STM32标准库的老工程中移植Ten ...

  3. STM32新建标准库工程

    STM32F103ZET6创建一个自己的工程 笔者自己用的是正点原子的精英版的开发板,有很多习惯也养成跟正点原子创工程的习惯. 作者学生党一枚,写的不对的地方,请大家多多包涵,学习永无止境,闻道有先后 ...

  4. STM32F103ZET6新建标准库的工程

    1.背景: 主要记录STM32芯片在使用标准库的情况下如何新建工程. 2.工程的准备 1)下载并安装STM32F103的芯片包 2)准备好STM32的固件库 2.1:芯片包的下载 芯片包官方链接:ht ...

  5. 1、新建基于标准固件库MDK5工程模板(STM32F103ZET6)

    新建基于标准固件库MDK5工程模板 1.STM32官方库文件夹介绍 如上图,是ST官方提供的STM32标准固件库的文件包结构: STM32官方固件库下载地址: "https://www.st ...

  6. 基于keil5自动配置stm32f103标准库的官网freertos移植

    基于keil5自动配置stm32f103标准库的官网freertos移植 前言 序言:利用keil5自动配置stm32f103标准库工程 闲话 正式篇 移植官网FreeRTOS 前言   当笔者学习s ...

  7. IAR新建stm32工程,完美移植stm32标准库(附源码)

    开发环境:Window 10 64bit 开发工具:IAR Embedded Workbench 硬件:stm32f103c8t6 基于IAR 开发工具,新建立STM32F1系列的最小开发例程,并加入 ...

  8. STM32F103标准库开发:Keil5新建STM32工程

    STM32标准库版工程模板链接 STM32F103标准库开发-目录 首先需要搭建Keil5编译环境,才可以新建STM32工程. Keil5编译环境搭建流程----STM32和GD32 新建STM32工 ...

  9. 【stm32f4 C++与C混合开发】建立keil5的ARM Compiler 6(AC6)标准库开发工程

    文章目录 前言 一.选择正点原子串口实验的工程 二.用AC6编译纯C语言代码 1.打开魔法棒选择default compiler version6 2.编译工程 3.更改包含头文件依赖 4.修改旧版代 ...

最新文章

  1. 关于产品体验以及产品会被抄袭的思考
  2. c printf 缓冲区分析
  3. 二维数组排序php array_work,Arrays.Sort()中的那些排序算法
  4. OpenGait:首个步态识别框架开源了!
  5. 币安宣布Terence Zeng担任大中华区业务负责人
  6. python导入opencv解决no module named cv2问题
  7. [LOJ 6485]LJJ 学二项式定理
  8. 三星安卓4.2手机微信字体缺陷:“兹崖幽噩弱器朋鹏网品晶磊弼” ttf 字体缺失,安卓 4.2.2 微信 6.5.4...
  9. java 合并两个列表_如何在Java中合并两个列表?
  10. python revit二次开发_Revit怎么二次开发?Revit开发问题汇总
  11. Kontakt 6 for Mac(强大的音频采样器软件)
  12. mysql 中电话号码_类型-电话号码和地址的mysql数据类型
  13. 机器学习实战教程(13篇)
  14. 通达信 移动平均算法_【股市钱包】A005号指标:通达信分时图MACD
  15. 记一次kubernetes的搭建遇坑coredns状态为CrashLoopBackOff并不断重启
  16. 使用七牛云存储图片案例
  17. 阿里云对运营10多年来持续最久的故障发布复盘说明
  18. 物联网的云计算、雾计算、边缘计算和MIST计算的基本概念
  19. C++ DLL总结—静动态调用、导出类
  20. 【搬运】电源管理芯片引脚定义

热门文章

  1. 使用putty下载文件
  2. MD软件常见问题解答sp1版
  3. 2021-02-26构造函数
  4. 危险化学品题库及答案
  5. 格雷希尔G72L系列法兰式密封快速连接器的应用
  6. 微信小程序——Web学习day4
  7. STM32的脉冲宽度调制(PWM)
  8. GISer从零开始学习ArcGIS API for JavaScriptArcGIS Online教程(三)免费注册和使用ArcGIS Online
  9. 初识 ❤ TensorFlow |【一见倾心】
  10. linux 修改键盘键值