历史上的今天

今天是:2024年09月17日(星期二)

2019年09月17日 | Keil(MDK-ARM)系列教程(一)_新建软件工程详细过程

发布者:吾道明亮 来源: eefocus关键字:Keil  MDK-ARM  新建软件工程 手机看文章 扫描二维码
随时随地手机看文章

Ⅰ、写在前面

本文使用目前(2016年11月)最新版本Keil(MDK-ARM)V5.21a开发环境、以STM32的处理器为例给大家讲述新建一个软件工程的详细过程。


Keil(MDK-ARM)V4和V5新建软件工程基本一样,本文也适合与V4版本的新建软件工程。


本文使用的处理器是ST公司的STM32F1系列芯片,ST公司其它系列(如:F4等)、其它公司(如:TI)新建软件工程的过程也是一样。


为方便广大STM32学习者,我将在下面把STM32F0 - F4各个系列芯片新建好的Demo软件工程、相关的工具和文档提供给大家下载。


本文内容已经整理成PDF文件,提供给大家下载:


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


作者:strongerHuang


所有,未经允许,禁止用于其它商业用途!!!


Ⅱ、本文要点

从本文标题可以看得出,重点是新建软件工程的过程。但是作为ARM开发的软件工程,一般都会包含部分源代码(如:库),意思就是说需要准备一些工程所包含的源代码文件。


本文基于STM32F1系列芯片为例来讲述(其他系列芯片类似),将简单描述一下准备STM32F1标准外设库、Demo源代码(LED闪烁例程)。


准备工作之后新建软件工程才是本文是要点,新建软件工程的过程主要针对初学者,大部分工程的配置就选择默认,如要查看更多关于软件工程的详细配置可以进入博客或关注微信公众号查看。


Ⅲ、准备工作

俗话说“磨刀不误砍柴工”,准备工作虽然与题目关系不是很大,但也是本文的重点,做好了准备工作,后面新建软件工程的工作就很容易实现了。


1.安装Keil(MDK-ARM)软件工具

本文必备工具,这里不多说,详情请看我的另一篇文章【Keil(MDK-ARM)介绍、下载、安装与注册】:


博客:http://blog.csdn.net/ybhuangfugui/article/details/51501781


PDF:http://pan.baidu.com/s/1nuJ0RDR


2.STM32标准外设库下载

官网下载链接(需要ST账号登陆):


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),如下图:

也可以到我百度网盘下载(和官网一样):


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


3.整理工程文件夹

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


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


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


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


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


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


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


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


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


我们使用标准外设库主要提取的文件是Libraries下面的文件,但有些文件及文件夹也是多余的。因此,我将多余的文件及文件夹去掉,保留需要的文件和文件夹。


B.新建文件和文件夹


除了标准外设库文件之外,我们需要建立存放自己代码的文件和文件夹。我这里主要需要新建三个文件夹:


App: 应用部分代码


Bsp: 底层部分代码


Doc: 说明文档


在自己新建的文件夹下面还需要新建自己的文件,文件里面添加源代码,我们提供的Demo工程,实现的功能比较简单,就是一个LED闪烁。这里不描述,具体可以在最后下载查看。


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

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


Ⅳ、新建软件工程

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


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



1.建立工程

建立工程的步骤是基础,也比较简单。


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


B.选择路径,保存名称

C.选择芯片型号

D.基础工程

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


2.添加文件

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


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

 

 

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


3.配置工程

配置工程对于初学者来说,大部分内容只需要默认即可,这里只讲述几个常见的配置,能满足基本的功能。更多配置可进入我微信公众号或博客查看。


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

B.输出Hex文件


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

C.C/C++配置


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


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


【这里只针对于STM32F103大容量芯片,其他芯片视情况而定】

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


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


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

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

D.选择下载调试工具


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

E.下载复位并运行设置


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

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

关键字:Keil  MDK-ARM  新建软件工程 引用地址:Keil(MDK-ARM)系列教程(一)_新建软件工程详细过程

上一篇:中断-按键控制LED灯
下一篇:Keil(MDK-ARM)系列教程(二)_工具栏详细说明

推荐阅读

   2018年对高通来说是不平凡的一年,从年初开始,高通似乎就开启了自己不顺风不顺雨的“诸事不顺”之路,先是高通被博通来势汹汹的收购,结果遭总统强势叫停,接着高通为了巩固自己在汽车智能领域的地位,耗资440亿美元收购恩智浦结果失败,为了弥补投资人开始回购普通股,最后7nm的首发也被苹果的A12跟华为的麒麟980相继夺去,在5G方面更是被华为等对...
日前,中国通信研究院公布了2019年8月国内手机市场的数据报告,在过去的一个月,国内手机市场总出货量3087.5万部,同比下降5.3%。其中,2G手机117.7万部、3G手机0.1万部、4G手机2947.8万部、5G手机21.9万部。  今年六月份开始,国内5G手机开始上市,目前已经有9款支持5G的手机上市,包括华为Mate 20 X 5G,iQOO Pro 5G等等。比较意外的是,目前为止...
期盼已久的 2020 年首届 AUTOSAR 技术应用大会在上海索菲特大酒店圆满落幕,本次大会聚焦 AUTOSAR 经典平台与自适应平台在不同场景下的应用、AP AUTOSAR 技术如何落地、软件定义汽车以及 AUTOSAR 架构设计等;深入讨论了行业难点热点问题,推动了整车制造企业和零部件厂商在技术上的疑难问题解决。 根据主办方的会后相关数据统计,本次会议共安排了 9...
具体实现功能系统由STC89C52单片机+4乘4按键模块+LCD1602液晶显示屏+电源构成。具体功能:利用输入采用4×4矩阵键盘,可以进行加、减、乘、除等几种数字运算,并在LCD1602上显示操作过程及结果。设计背景计算器的市场需求较大,应用范围广泛,任何一个办公地点不可缺少的都需要计算器,常见的计算器有:算术型计算器,可进行加、减、乘、除等简单的四则运...

史海拾趣

问答坊 | AI 解惑

GPS的一个新亮点

光照传感器Po 188手机、GPS的一个新亮点    屏幕更润眼,产品更节能    对于GPS而言,地图的画面视觉效果是非常重要,如果清晰度差,又或是受外界环境光线影响太刺眼?亮度不够看不清?那么,再强的功能或是大容量也得不 ...…

查看全部问答∨

求求求 那位大哥有 余弦数据生成 器 阿???!!!1

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 求求求 那位大哥有 余弦数据生成 器 阿???!!!1  …

查看全部问答∨

linux 嵌入式技术爱好者交流群

linux 嵌入式技术爱好者交流群68158867 欢迎各位爱好者能加入!!!!…

查看全部问答∨

超声波扫描转换演示

$(\'swf_BQm\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjgwODg4MDA4/v.sw ...…

查看全部问答∨

TI图形库widget配置工具一 Canvas

为了能在用TI图形库方便些特做了个小工具,且不断一步步增加完善中 9。24 [ 本帖最后由 蓝雨夜 于 2011-9-24 09:13 编辑 ]…

查看全部问答∨

使用DMA方式读取spi flash问题求助

     小弟在读取spi类flash W25Q128时,发现速度很慢,经测试,只达到300KB/S作用的速度。与要求相差甚远,于是想,是否可用DMA方式来读取,以便速度能提高。       首先说一下SPI与DMA的配置,配置 ...…

查看全部问答∨

PADS_原理图器件封装制作过程

自从2008年注册eeworld已经5个年头了。期间,在论坛上下载了很多东西。但是由于个人原因,从中汲取的知识很少。后来有幸,做了PCB部分的版主,但我自己感觉给论坛出力很少。近来由于公司工作较为繁多,所以很少登陆eeworld。但是一有时间就会登陆ee ...…

查看全部问答∨

TI Sitara入门培训资料分享1-AM335X家族介绍

型号:CM-AM335X基于TI的AM3359处理器,500、600、720MHZ,ARM CORTEX-A8,内存DDR2 1GB,NANDFLASH 256MB.    CM-AM335X是莱得科技专门针对工业产品应用做的低成本平台,高达720MHZ的 Cortex-A8处理器能满足各种工业应用。针对工控领域 ...…

查看全部问答∨

锐鑫同创LM3S9B96+仿真器,有人要么?交换或白菜价出手

本帖最后由 ddllxxrr 于 2016-1-7 16:52 编辑 做多媒体或者以太网都很好,卖掉或者交换,废话不多说,直接上图 东西暂时还没有挂淘宝,QQ21305767,有兴趣的联系吧 …

查看全部问答∨

YUV4:2:2转换4:2:0

CCD捕获的视频原始流一般为YUV 4:2:2,而通常编码支持4:2:0视频源,因而需要格式转换,文挡是基于DM6446的Resizer的具体实现.…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved