单片机01天_stm32f407zg_创建新工程

创建“寄存器版工程”

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.hqwc.cn/news/478520.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu22.04@laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module

ubuntu22.04laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module 1. 源由2. 应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 使用 OpenCV DNN 模块进行图像分类3.1 导入模块并加载类名文本文件3.2 从磁盘加载预训练 DenseNet121 模型3.3 读取图像并准备为模型输…

前端|Day3:CSS基础(黑马笔记)

Day3:CSS基础 目录 Day3:CSS基础一、CSS初体验二、CSS引入方式三、选择器1.标签选择器2.类选择器3.id选择器4.通配符选择器 四、盒子尺寸和背景色五、文字控制属性1.字体大小2.字体样式(是否倾斜)3.行高单行文字垂直居中 4.字体族5.font复合属性6.文本缩…

WPF中样式

WPF中样式&#xff1a;类似于winform中控件的属性 <Grid><!-- Button属性 字体大小 字体颜色 内容 控件宽 高 --><Button FontSize"20" Foreground"Blue" Content"Hello" Width"100" Height"40"/></G…

QT编写工具基本流程(自用)

以后有人让你写工具的时候&#xff0c;可以方便用这个模版及时提高工作效率&#xff0c;可以争取早点下班。包含库目录&#xff0c;头文件目录&#xff0c;输出目录以及翻译和部署&#xff0c;基本上都全了&#xff0c;也可以做收藏用用。 文章目录 1、创建项目Dialog Widget都…

NLP_BERT与GPT争锋

文章目录 介绍小结 介绍 在开始训练GPT之前&#xff0c;我们先比较一下BERT和 GPT 这两种基于 Transformer 的预训练模型结构&#xff0c;找出它们的异同。 Transformer架构被提出后不久&#xff0c;一大批基于这个架构的预训练模型就如雨后春笋般地出现了。其中最重要、影响…

ElasticSearch之Index Template 和Dynamic Template

写在前面 在ElasticSearch之Mapping 一文中我们一起看了es的dynamic mapping机制&#xff0c;通过该机制允许我们不需要显式的定义mapping信息&#xff0c;而是es根据插入的文档值来自动生成 &#xff0c;比如插入如下的文档&#xff1a; {"firstName": "Chan…

【Java EE初阶二十】关于http(一)

1. 初识http HTTP 最新的版本应该是 HTTP/3.0&#xff0c;目前大规模使用的版本 HTTP/1.1&#xff1b; 下面来简单说明一下使用 HTTP 协议的场景: 1、浏览器打开网站 (基本上) 2、手机 APP 访问对应的服务器 (大概率) 前面的 TCP与UDP 和http不同&#xff0c;HTTP 的报文格式&a…

CPU设计之分支预测

1、引言 在之前的学习过程中&#xff0c;我们一直在假设程序是顺序执行的。PC每一次都默认4&#xff0c;一直这样周而复始。然而CPU就和人生一样&#xff0c;不可能一直一帆风顺的向前走。在某些场合我们总是需要做出决策&#xff0c;这些决策点&#xff0c;就像高速公路的一个…

LeetCode JS专栏刷题笔记(一)

一、前言 LeetCode 在前不久出了一个 JavaScript 专栏&#xff0c;这个专栏一个目的是为了非前端工程师学习 JS&#xff0c;另一个是为了前端工程师提升 JS 能力。 因此在这个专栏中&#xff0c;基本不涉及什么具体算法问题&#xff0c;都是一些 JS 的入门语法与常见的 JS 面…

Jmeter教程-JMeter 环境安装及配置

Jmeter教程 JMeter 环境安装及配置 在使用 JMeter 之前&#xff0c;需要配置相应的环境&#xff0c;包括安装 JDK 和获取 JMeter ZIP 包。 安装JDK 1.JDK下载 示例环境为Windows11环境&#xff0c;读者应根据实际环境下载JDK的安装包。 JDK下载地址&#xff1a; Java21 下载 …

指针的进阶(C语言)(上)

目录 前言 1、字符指针 2、指针数组 3、数组指针 3.1数组指针的定义 3.2 数组名VS&数组名 3.3数组指针的运用 前言 对于指针&#xff0c;我们已经有了初步认识&#xff08;可以看我写的指针详解那一篇文章&#xff09;。 简单总结一下基本概念&#xff1a; 1、指针就…

LeetCode 热题 100 | 二叉树(中下)

目录 1 基础知识 1.1 队列 queue 1.2 栈 stack 1.3 常用数据结构 1.4 排序 2 98. 验证二叉搜索树 3 230. 二叉搜索树中第 K 小的元素 4 199. 二叉树的右视图 菜鸟做题忘了第几周&#xff0c;躺平过了个年TT 1 基础知识 1.1 队列 queue queue<type> q…