单片机01天_stm32f407zg_创建新工程

news/2025/1/20 18:25:54/

创建“寄存器版工程”

1、创建工程文件夹

创建工程文件夹“Project”,内部包含文件夹“CMSIS”&&“USER”。

CMSIS:Cortex系列内核接口驱动文件。

USER:存放用户编写的程序文件。

“USER”文件夹内包含“Inc”&&“Src”。

在“存放用户自己编写的程序文件”的文件夹下再建立两个分类文件夹并自定义命名,

Src:用于存放“C源程序文件”

Inc:存放“源程序文件对应的头文件”

2、准备工程文件

固件库可从网址:www.stmcu.org.cn下载。

 ①把固件库中“Libraries”文件夹下的“CMSIS”文件夹中的“Include”(Cortex系列内核接口驱动文件对应的头文件)文件夹复制到工程,存放到CMSIS文件夹下。

 ②把“STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include文件夹下”的“stm32f4xx.h(STM32F40x芯片工程头文件)”和“system_stm32f4xx.h”(系统时钟头文件)文件复制到工程,存放到CMSIS。

③把“\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm”文件夹下的“startup_stm32f40_41xxx.s”(STM32F40x芯片启动文件)文件复制到工程,存放CMSIS文件夹下。

④把“\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates”文件夹下的“system_stm32f4xx.c”(系统时钟源程序文件)文件复制到工程,存放CMSIS文件夹下。

1.

打开Keil软件,在“Project”菜单栏下选择“New μVision Project”命令新建一个工程,并对工程进行自定义命名(工程名不需要后缀名)后保存到新建的工程文件夹下。

2.

根据工程使用的芯片,选择具体对应的芯片信号(STM32F407ZGTx)。

3.

配置工程选项(点击“工具栏”中“品字形”按钮)

        ①第一列为工程的名称,双击可以更改工程名称或工程版本号。

        ②第二列为工程组别,点击“新建(New)”按钮创建两个工程分组,并自定义命名。两个工程分组分别是“内核接口组(建议命名CMSIS)”和“用户组(建议命名USER)”。

        ③第三列为工程组相关联文件。

        ④内核接口组:点击“ADD File”按钮,把存放在“Cortex系列内核接口驱动文件CMSIS”的文件夹下的“startup_stm32f40_41xxx.s(启动文件)”和“system_stm32f4xx.c(系统时钟文件)”添加到“内核接口组”中。然后点击OK.

4.

设置工程参数(点击“工具栏”中“魔术棒”按钮)

        ①Output选项卡:勾选“Create HEX File”选项。

        ②C/C++选择卡:

                1)在“Define”栏中填入“STM32F40_41xxx”。主要是为了告诉编译器,工程使用哪一款主控芯片,在选择芯片的头文件中,执行相应的程序。STM32F40_41xxx

                2)在“Include Paths”栏中设置Keil软件头文件的查找路径。

                        .\ CMSIS\Include

                        .\ CMSIS

                        .\USER\Inc

                3)Debug选项卡:设置调试相关的调试器硬件型号(ST-LINK Debugger)。

                4)Utilities选项卡:去掉勾选“Use Dubug Driver(软件仿真功能)”选项,并选择对应的硬件仿真器型号(ST-LINK Debugger)。然后在“Settings”选项中勾选“Reset and Run”选项。

                5)如果窗口界面不小心删除或者找不到,可以选择恢复界面显示。

3、新建工程文件
  1. 点击“工具栏”中“新建文件”的命令图标或在“File”菜单栏中选择“New”命令来新建一个工程文件。
  2. 把新建的工程文件按照文件的类别保存到“用户自己编写的程序文件夹”下的相应文件夹中,并自定义命名,命名时需要添加文件的相关后缀名(源文件的后缀名为.c,头文件的后缀名为.h)。
  3. 把新建个工程源文件关联到工程相应的组别中。

注:工程中只需要关联源文件,头文件不需要关联,但必须把头文件保存到指定的路径文件夹下。STM32F40x系列工程头文件为“stm32f4xx.h”。点击“Build”图标为编译工程修改过的地方(第一次编译时,会编译整个工程);“Rebuild”图标为重新编译成功工程。


http://www.ppmy.cn/news/1356908.html

相关文章

【leetcode】贪心算法介绍

详细且全面地分析贪心算法常用的解题套路、数据结构和代码逻辑如下: 找最值型: 每一步选择都是局部最优解,最后得到的结果就是全局最优解。常用于找零钱问题、区间覆盖问题等。一般情况下,可以通过排序将数据进行处理,…

探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来

探索AI视频生成新纪元:文生视频Sora VS RunwayML、Pika及StableVideo——谁将引领未来 sora文生视频,探索AI视频生成新纪元 由于在AI生成视频的时长上成功突破到一分钟,再加上演示视频的高度逼真和高质量,Sora立刻引起了轰动。在S…

如何确定分库还是 分表?

分库分表 分库分表使用的场景不一样: 分表因为数据量比较大,导致事务执行缓慢;分库是因为单库的性能无法满足要求。 分片策略 1、垂直拆分 水平拆分 3 范围分片(range) 垂直水平拆分 4 如何解决数据查询问题&a…

c++类和对象新手保姆级上手教学(中)

前言: 类和对象中篇,这里讲到的前4个默认成员函数,是类和对象中的重难点,许多资料上的讲法都非常抽象,难以理解,所以我作出这篇总结,分享学习经验,以便日后复习。 目录 6个默认成员…

DNS服务器出现异常如何解决

DNS,全称为域名系统(Domain Name System),是由解析器和域名服务器组成的。它的主要作用是将域名(如http://www.dexunyun.com)转换为对应的IP地址(如192.168.1.1),使得人们…

Kubernetes基础(二十二)-K8S的PV/PVC/StorageClass详解

1 概述 先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。所有Pod使用存储只有一个原则:先规…

基础antdesign的业务型 短时间控件封装(复制即可使用)

{/* startFieldName 开始时间标识 endFieldName 结束时间标识 label 同form lable rules 是否开启规则校验 默认开启 detailData 详情数据,用于编辑回显 dateRange 限制结束时间的范围 例如:开始时间选择了 2024-02-05 ,加上 dateRange3 后 只…

THM学习笔记——Basic Pentesting

Find the services exposed by the machine What is the name of the hidden directory on the web server User brute-forcing to find the username & password What is the username? 有SMB,进行枚举 enum4linux -a 10.10.136.231 What is the password? Enumerate …