Keil系列教程02_新建基础软件工程

2023-05-16

1写在前面

目前Keil的四款产品(软件):MDK-ARM、C51、C251、C166,在用法上极为相似,包括本文讲述的新建软件工程。

本文以目前(2018年10月)最新Keil MDK-ARM V5.26、STM32F103标准外设库为例,来给大家讲述新建软件工程的具体步骤。

本文讲述的新建软件工程,只是最基础的软件工程(一个工程,一个目标)。其中只修改了必要的配置,大部分配置默认。

如果你是Keil C51、或者其它MCU器件,本文也适用,只是针对MCU器件有略微差异。

2

准备工作

俗话说“磨刀不误砍柴工”,做好了准备工作,后面新建基础软件工程的工作就很容易实现了。

这里针对STM32会下载“标准外设库”这个准备工作,如果你是C51,或者不用库,这个准备工作就可略过。

2.1 下载安装Keil工具

本文必备工具,详情请参看该系列教程上一篇文章《Keil系列教程01_Keil介绍、下载、安装与注册》。

2.2 下载STM32标准外设库

这一节是准备源代码(库),如果你使用C51、寄存器开发,本节内容可以略过。下面提供官方下载链接,嫌麻烦的朋友可以在我百度网盘下载。

A.官网下载

http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software.html?querycriteria=productId=SC961

根据芯片型号下载对应的标准外设库(如芯片为STM32F103ZE,则下载对应的STM32F10x_StdPeriph_Lib),如下图:

B.百度网盘

http://pan.baidu.com/s/1qYbBKMK

提示:如果以上链接失效,可以关注微信公众号,获取更新链接。

2.3 整理工程文件夹

这一小节的内容可根据自己习惯来整理,我整理的文件及文件夹结构是按照常规的整理方式。你如果觉得合理,可以引用;

首先建立一个存放工程文件的总文件夹:STM32F103ZE(Keil)_Demo

A.提取ST标准外设库文件

ST标准外设库里面源代码文件我们只需要使用部分文件。因此,提取需要使用的文件及文件夹到我们的工程中。

解压“STM32F10x_StdPeriph_Lib”,可以看到在主目录下面有四个文件夹:

_htmresc:图片文件夹(不提取)

Libraries:库文件夹(提取大部分

Project:  示例工程(提取少部分

Utilities: 公共代码、评估板代码(不提取)

我们需要使用Libraries和Project目录下的文件,但也有部分不用。因此,我们需要删除不用的文件。(具体保留了哪些,可以下载我提供例程查看)

B.新建文件和文件夹

除了上面提取的文件之外,我们需要建立存放自己代码的文件和文件夹。我这里主要新建三个文件夹:

App: 应用部分代码

Bsp: 底层部分代码

Doc: 说明文档

在新建的文件夹下面还需要新建自己的源文件,源文件里面添加源代码。我们提供的Demo工程,实现的一个LED闪烁的功能。(这里不描述)。

上面两个步骤完成之后,我们就可以看到在“STM32F103ZE(Keil)_Demo”下面整理的文件夹:

至此,准备工作算完成了,上面提取的文件、新建的文件里面具体的内容请下载Demo工程查看。

3

新建软件工程

新建一个简单、基础的软件工程大概需要有三个步骤:建立工程、添加文件和配置工程

上面的准备工作做好之后,就可新建自己的软件工程了,下面将一步一步讲述从零开始新建一个软件工程的详细过程。

3.1 建立工程

建立工程的步骤是基础,也比较简单,下面一步一步教大家新建一个空的工程。

A.打开软件,新建立工程(Project -> New uVision Project)

B.选择保存路径,保存名称

C.选择芯片型号

D.基础工程

一个基础的工程就完成了,但还不够,还需要下面的步骤。

3.2 添加文件

准确的来说,应该是添加组(文件夹)和添加文件。直接的说,就是将你自己的源代码(前面提取的库、新建的文件等)添加到工程中。

这里的工程项目管理可根据自己的想法来定义(类似于自己分类、命名文件夹和文件),我这里按照常规的方式进行管理项目。

点击“项目管理”快捷按钮,或者Project -> Manage -> Project Items 进入“项目管理”界面。

·

·

一步一步添加,直到最后完成

·

·

3.3 配置工程

配置工程对于初学者来说,大部分内容只需要默认即可,这里只讲述几个常见的配置,能满足基本的功能。

A.点击“工程目标选项”进入配置(或Project -> Options for Target)

B.输出Hex文件

很多朋友初学的朋友都会问怎么输出Hex,只需要勾选上【Project -> Options for Target -> Output】“Create HEX File”即可。

C.C/C++配置

这个选项的配置参数比较多,对于大型项目来说比较重要,但对于初学者来说,只需要简单配置两项就行。

第一处配置---预定义:

【这里以STM32F103大容量芯片为例】

预定义STM32F10X_HD,等同于#define STM32F10X_HD.

有些工程还预定义USE_STDPERIPH_DRIVER。由于都是使用“标准外设库”,我个人习惯把USE_STDPERIPH_DRIVER,定义在stm32f10x.h文件里面,所以在这里就看不到我定义的这一项了。

第二处配置---包含路径:

由于我们前面工程中有很多文件夹,因此需要添加对应的路径,这样编译器才能找得到。

·

·

一步一步添加,直到最后完成

·

·

D.选择下载调试工具

这个选项根据自己的下载调试器来选择(比如:ST-Link)

E.下载复位并运行设置

有些初学的朋友说“为什么我下载程序之后,需要按一下复位键才能运行?”,只需要在工程中勾选上“Reset and Run”就可实现,下载完程序马上运行了。

至此,一个新建立的工程就算完成了(当然,我新建的文件是添加了正确的源代码),只需要编译,接上下载器就可以下载运行了。

4

下载

为方便广大STM32学习者,我将常见的STM32“Demo软件工程”已经建好,里面还包含EWARM建立的工程供大家下载。

STM32F0工程模板:

http://pan.baidu.com/s/1pKSkSxt

STM32F1工程模板:

http://pan.baidu.com/s/1c1AWupM

STM32F2工程模板:

http://pan.baidu.com/s/1o8yGWg6

STM32F3工程模板:

http://pan.baidu.com/s/1boVXh2f

STM32F4工程模板:

http://pan.baidu.com/s/1qYzYMuS

STM32L1工程模板:

https://pan.baidu.com/s/1rNPC3JQD7iLchVUEJlTjCQ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keil系列教程02_新建基础软件工程 的相关文章

  • stm32f103最小系统板详细介绍

    一 什么是单片机最小系统 常见的单片机最小系统为单片机能独立运行程序及控制外围电路的最简单电路 xff0c 主要由单片机 晶振电路 复位电路三部分构成 Stm32f103c8t6也不例外 xff0c 构成最小的运行电路也需要以上三部分 St
  • vscode集成gitee

    第一步 1 百度搜索Git xff0c 出现的第一个网站 xff08 如下图 xff09 Git xff09 2 下载 3 下载之后 双击安装 xff08 安装过程中只需要默认下一步 不需要多余操作 放心大胆的点击下一步 xff09 第二步
  • #include<string> #include<cstring>

    C 43 43 strings string 只能用cin cout处理 xff0c 不能 用scanf xff0c 和printf transform s begin s end s begin tolower 转换成小写的函数 tran
  • 一步步教你如何安装idea

    1 下载idea安装包 2 打开后完成解压 3 点击Next进入下一步 4 选择好我们需要安装的位置 xff0c 这里我选择D盘的一个文件夹进行安装 5 下面根据自己电脑的型号去选择 xff0c 32位或者64位 xff0c 我的电脑是64
  • 一步步教你如何配置Java环境变量(超级详细)

    1 首先需要去官网下载jdk的安装包 xff0c 下载网站 xff1a www oracle com 2 选择版本 xff0c 然后安装开发工具JDK 3 先右击此电脑 xff08 win10 然后点击属性 4 然后找到右边的高级系统设置
  • VMware虚拟机 ——Operation inconsistent with current state。操作与当前状态不一致解决方法

    今天一打开VMware虚拟机 就跳出个界面 xff0c 如下图 所示 xff1a Operation inconsistent with current state xff0c 这句话的意思是操作与当前状态不一致 我想着试试恢复快照行不行
  • MobaXterm远程连接虚拟机的Network error: Connection timed out 网络错误:连接超时解决办法

    今天打开MobaXterm远程连接我VMware虚拟机的时候出现以下界面 xff0c 问题详情如下 xff1a Network error Connection timed out Session stopped Press lt retu
  • 内外网端口映射

    总的来说 xff0c 外网就是我们一般说的Internet 相对的内网是指局域网 xff0c 内网需要一台服务器或路由器做网关 通过它来控制能否访问外网 映射的概念 xff1a 路由器一口接外网 一口接内网的交换机 交换机连接到各个电脑 路
  • VMware虚拟机进行配置网络 Linux

    1 首先输入账户密码登录我们要配置网络的那台虚拟机 2 开始手动输入命令 xff1a vi etc sysconfig network scripts ifcfg ens33 3 进行修改 xff1a 通过移动键盘的方向键将光标移到要修改的
  • 教你如何在idea里进行设置实现快捷键自动生成序列化版本号

    1 打开IDEA 2 找到左上方的File并点击 xff0c 然后找到下面的Setting xff0c 就是前面是个小扳手的 xff0c 点进去进行设置 3 开始设置 找到左边Editor并点左边箭头展开 xff0c 再找到下方的Inspe
  • 关于IDEA的一些设置

    一 IDEA 软件设置Settings页面 Settings是对软件本身的一些属性进行配置 xff0c 例如字体 主题 背景图 插件等 二 如何打开Settings设置页面 左上角File gt Setting 三 Appearance a
  • Linux命令退格键变成^H的解决办法

    方法一 xff1a 按住ctrl键再去按退格键 xff08 backspace xff09 xff0c 就ok了 xff1b 方法二 xff1a 把 stty erase H 添加到 bash profile中 操作如下 xff1a 1 v
  • Typora图床设置

    1 使用SM MS xff0c 进入User Login SM MS Simple Free Image Hosting 2 注册并登录 3 进入typora 的偏好设置中 4 选PicGo Core然后下载 xff0c 下载完毕之后打开配
  • loading加载效果(纯css)

    一 平滑加载 lt div class 61 34 loading 1 34 gt lt div gt box sizing border box loading 1 margin 0 auto width 120px height 20p
  • PX4和Pixhawk的故事

    Pixhawk由Lorenz Meier于2008年创建 2008 寻找自主飞行 故事始于对自主飞行的追求 xff0c Lorenz想让无人机使用计算机视觉自主飞行 xff0c 他在苏黎世联邦理工学院攻读硕士学位的时候开始了一个研究项目 x
  • 备赛电赛学习STM32(十四):MPU6050

    一 MPU6050的简介 6轴是3轴加速度 3轴角速度 9轴就是3轴加速度 3轴角速度 3轴磁场强度 10轴就是3轴加速度 3轴角速度 3轴磁场强度 气场强度 这么多的数据 经过融合之后可进一步得到姿态角或者叫欧拉角 以我们这个飞机为例 欧
  • 【STM32】STM32单片机结构及部件原理

    STM32是目前比较常见并且多功能的单片机 xff0c 要想学习STM32 xff0c 首先要去了解它的基本构成部分以及各部分的原理 单片机型号 xff1a 正点原子STM32F103ZET6 目录 STM32内部结构总览图 xff1a 2
  • hadoop伪分布模式搭建(详细步骤)

    一 前期准备 1 关闭防火墙 2 安装好JDK 3 准备hadoop安装包 二 安装hadoop伪分布模式 1 在home hadoop software 路径下创建hadooptmp目录 2 解压hadoop 3 3 0 tar gz 3
  • ZooKeeper does not recover

    ZooKeeper does not recover from crash when disk was full Description The disk that ZooKeeper was using filled up During
  • FreeRTOS基础知识学习笔记

    先说RTOS xff0c 在以前单片机中要执行完上一个程序才会执行下一个程序 xff08 当然有中断来临会先执行中断程序 xff09 xff0c 在RTOS中会将两个程序交叉进行 比如 xff0c 写作业和锻炼在单片机中写作业时锻炼是没有执

随机推荐

  • cmake使用教程(十,带你全面掌握高级知识点

    执行该脚本后 xff1a Stepfile git master cmake P write cmake Stepfile git master tree test test txt test txt write cmake 1 direc
  • 【回溯法】八皇后问题

    问题描述 在国际象棋棋盘 8 8 8 times8 8 8 上放置八个皇后 xff0c 要求每两个皇后之间不能直接吃掉对方 皇后
  • java——spring boot集成kafka——kafka线上问题优化——如何实现延迟消费

  • FreeRTOS入门笔记(任务管理,消息队列,信号量)

    FreeRTOS 一 任务 FreeRTOS操作系统支持多任务并发执行 xff0c 可以看成每个任务可以写一个 main 函数 xff0c 在死循环里执行 1 任务创建与删除 创建 xff08 1 xff09 任务可以在CubeMx中创建
  • java数组中删除元素或一个数组元素

    java数组中删除元素或一个数组元素 删除数组中单个元素删除数组中多个元素 xff08 数组表示 xff09 这里直接介绍两种情况 xff1a 1 删除数组中单个元素 2 删除数组中多个元素 xff08 数组表示 xff09 删除数组中单个
  • 大数据工具Maxwell的使用

    1 Maxwell简介 Maxwell 是由美国Zendesk公司开源 xff0c 用Java编写的MySQL变更数据抓取软件 它会实时监控Mysql数据库的数据变更操作 xff08 包括insert update delete xff09
  • YOLOV4-pytorch环境配置

    YOLOV4 pytorch环境配置 环境配置过程 xff1a 创建环境安装pytorch安装包遇到的坑 xff1a 1 scikit image2 opencv python 训练过程 xff1a 数据集格式转换 xff1a 训练过程中遇
  • 嵌入式服务器boa移植

    移植嵌入式服务器boa的过程 xff0c 在论坛里面可以搜到好多 xff0c 其中也会有出现错误时对应的解决方法 xff0c 在这里就不赘述了 在这里我介绍一下我移植过程中出现的问题 xff1a boa not found 总结一下这个问题
  • 数据架构简介

    01 数据架构的起源 追根溯源是一个数据人的底层思维逻辑 xff0c 因此 xff0c 我们先说一说数据架构的起源 xff08 来源也行 xff0c 一个意思 xff09 其实 xff0c 我们现在IT行业经常说的软件架构 系统架构 XX架
  • 【Python基础教程】print语法的使用

    大家好 xff0c 这里是万瑞科技 今天我们来学习一下Python中最基础的语法 print语法 首先我们来看一下print语法该怎样写 xff1a print 34 34 上面的语法是输出 打印某段文字的语法 但要注意 xff1a 语法中
  • STM32驱动步进电机 梯形算法库函数版

    关于梯形算法的原理查看 xff1a AVR446 Linear speed control of stepper motor 里面有原理和代码 xff08 库函数版F4 xff09 废话不多说直接上链接 xff1a 梯形算法驱动步进电机 z
  • VC6.0下载和安装教程

    Microsoft Visual C 43 43 xff0c xff08 简称Visual C 43 43 MSVC VC 43 43 或VC xff09 是Microsoft公司推出的以C 43 43 语言为基础的开发Windows环境程
  • Code::Blocks使用教程

    使用之前我们先准备一段代码 include lt stdio h gt include lt stdlib h gt int main printf 34 欢迎进入www dotcpp com编程网站 xff01 34 system 34
  • Dev-C++下载和安装教程

    Dev C 43 43 是一个Windows环境下的一个适合于初学者使用的轻量级 C C 43 43 集成开发环境 xff08 IDE xff09 它是一款自由软件 xff0c 遵守GPL许可协议分发源代码 它集合了MinGW中的GCC编译
  • Dev C++使用教程

    我们在使用之前先准备一段C语言代码 include lt stdio h gt int main printf 34 欢迎进入C语言网 xff01 34 return 0 初步使用这款软件 xff0c 我们先选择源文件进行创建 xff0c
  • Altium Designer安装教程

    Altium Designer 21软件简介 xff1a Altium Designer 21是一款由Altium开发团队全新推出的简单易用 xff0c 与时俱进 xff0c 功能强大的PCB设计软件 xff0c 可以方便用户快速完成各类原
  • Matlab 2021b安装教程-Matlab分析软件下载方法

    MATLAB是美国MathWorks公司出品的商业数学软件 xff0c 用于算法开发 数据可视化 数据分析以及数值计算的高级技术计算语言和交互式环境 xff0c 主要包括MATLAB和Simulink两大部分 下载方法 https docs
  • STM32嵌入式面试知识点总结

    一 STM32F1和F4的区别 xff1f 解答 xff1a 参看 xff1a STM32开发 STM32初识 内核不同 xff1a F1是Cortex M3内核 xff0c F4是Cortex M4内核 xff1b 主频不同 xff1a
  • Keil系列教程01_Keil介绍、下载、安装与注册

    1写在前面 对于学习单片机和嵌入式开发的朋友来说 xff0c 掌握Keil这款软件可以说是必备的技能 鉴于目前网上没有完整的Keil教程 xff0c 因此我打算整理一套完整的Keil系列教程 目前Keil有四种产品 xff08 软件 xff
  • Keil系列教程02_新建基础软件工程

    1写在前面 目前Keil的四款产品 xff08 软件 xff09 xff1a MDK ARM C51 C251 C166 xff0c 在用法上极为相似 xff0c 包括本文讲述的新建软件工程 本文以目前 xff08 2018年10月 xff