Ⅰ、写在前面
本文使用目前(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”就可实现,下载完程序马上运行了。
至此,一个新建立的工程就算完成了(当然,我新建的文件是添加了正确的源代码),只需要编译,接上下载器就可以下载运行了。
上一篇:中断-按键控制LED灯
下一篇:Keil(MDK-ARM)系列教程(二)_工具栏详细说明
推荐阅读
史海拾趣
Davico Industrial Ltd公司发展故事一:技术突破与创新
Davico Industrial Ltd公司自创立以来,始终将技术创新作为企业发展的核心动力。在公司成立初期,面对电子行业竞争激烈的局面,Davico凭借对市场的敏锐洞察和对技术的不断追求,成功研发出了一款具有划时代意义的电子元器件。这款产品以其高性能、低能耗的特点,迅速在市场中占据了一席之地。此后,Davico不断加大对研发的投入,通过引进高端人才、建立先进的研发实验室等举措,持续推出了一系列具有竞争力的新产品,为公司的发展奠定了坚实的基础。
Davico Industrial Ltd公司发展故事二:市场拓展与品牌建设
随着技术实力的不断增强,Davico开始积极拓展国内外市场。公司通过与国内外知名企业的合作,不断提升产品的知名度和美誉度。同时,Davico还积极参与各类行业展会和论坛,展示公司的最新成果和技术实力,赢得了广大客户的认可和信赖。在品牌建设方面,Davico注重塑造企业形象和文化内涵,通过广告宣传、公益活动等方式,提高了品牌的社会影响力和知名度。
Davico Industrial Ltd公司发展故事三:质量管理与持续改进
Davico深知产品质量对于企业生存和发展的重要性。因此,公司始终将质量管理放在首位,建立了完善的质量管理体系和检测手段。通过对生产过程的严格控制和对产品质量的不断追求,Davico的产品在市场中赢得了良好的口碑。同时,公司还积极开展持续改进活动,通过引进先进的生产设备和工艺、优化生产流程等措施,不断提高生产效率和产品质量。
Davico Industrial Ltd公司发展故事四:人才战略与团队建设
Davico高度重视人才队伍建设,通过制定合理的人才战略和激励机制,吸引了一批批优秀的人才加入公司。公司注重员工的培训和发展,通过定期的技能培训、知识更新等活动,不断提升员工的综合素质和专业技能。同时,Davico还建立了完善的团队协作机制,鼓励员工之间的沟通和合作,形成了一支高效、团结、富有战斗力的团队。
Davico Industrial Ltd公司发展故事五:绿色发展与社会责任
随着全球环保意识的不断提高,Davico积极响应国家绿色发展的号召,将环保理念融入到企业的生产经营中。公司通过引进环保设备、改进生产工艺等措施,降低了生产过程中的能耗和污染排放。同时,Davico还积极参与社会公益事业,通过捐款捐物、扶贫济困等方式,回馈社会、造福人民。这些举措不仅提升了企业的社会形象,也为公司的长远发展注入了新的动力。
在发展过程中,B&B公司注重与上下游企业的合作与共赢。公司与多家知名的芯片制造商、原材料供应商建立了长期稳定的合作关系,确保了产品的质量和供应链的稳定性。同时,公司也积极与集成商、解决方案提供商等合作伙伴开展深度合作,共同为客户提供更加完善的服务。
Fastron公司深知产品质量对于企业的重要性。因此,公司建立了严格的质量控制体系,从原材料采购到产品生产、检测等各个环节都实行严格的质量控制和管理。Fastron还引进了先进的检测设备和技术手段,确保每一款产品都符合高标准的质量要求。这种对品质的执着追求使得Fastron的产品在市场上具有极高的竞争力。
“精工半导体”是另一家值得一提的Discrete Semiconductor Industries公司。该公司自创立之初就坚持以品质为核心,对每一个生产环节都进行严格的质量控制。通过引进先进的生产设备和技术,精工半导体不断提高产品的可靠性和稳定性。同时,公司还建立了完善的售后服务体系,确保客户在使用过程中能够得到及时的技术支持和解决方案。正是凭借这种对品质的执着追求,精工半导体逐渐树立了良好的品牌形象,赢得了市场的广泛认可。
随着数字化时代的到来,Aptiv积极拥抱数字化转型,通过引入先进的信息技术和管理系统,提升了企业的运营效率和市场竞争力。例如,公司向汽车行业某公司发出EDI对接邀请,计划通过EDI系统实现双方的数据共享和业务协同,从而提高了工作效率和下单准确性。这种数字化转型不仅有助于Aptiv在激烈的市场竞争中保持领先地位,还为整个电子行业的数字化转型提供了有益的借鉴和参考。
这五个故事展示了Aptiv公司在电子行业中的发展历程和成就,从技术创新到全球布局、创新合作、社会责任以及数字化转型等方面,都体现了公司的实力和担当。Aptiv以其卓越的技术实力和市场表现,成为了电子行业中一颗璀璨的明星。
2020年,受全球疫情影响,许多中小电容器厂家面临供应链中断、生产受阻等困境。然而,艾华集团凭借其在行业内的深厚积累和强大的研发实力,迅速调整生产策略,优化供应链管理,成功应对了疫情带来的挑战。同时,公司还加大了对新兴市场的开拓力度,进一步巩固了在全球市场的地位。
本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 求求求 那位大哥有 余弦数据生成 器 阿???!!!1 … 查看全部问答∨ |
|
为了能在用TI图形库方便些特做了个小工具,且不断一步步增加完善中 9。24 [ 本帖最后由 蓝雨夜 于 2011-9-24 09:13 编辑 ]… 查看全部问答∨ |
小弟在读取spi类flash W25Q128时,发现速度很慢,经测试,只达到300KB/S作用的速度。与要求相差甚远,于是想,是否可用DMA方式来读取,以便速度能提高。 首先说一下SPI与DMA的配置,配置 ...… 查看全部问答∨ |
自从2008年注册eeworld已经5个年头了。期间,在论坛上下载了很多东西。但是由于个人原因,从中汲取的知识很少。后来有幸,做了PCB部分的版主,但我自己感觉给论坛出力很少。近来由于公司工作较为繁多,所以很少登陆eeworld。但是一有时间就会登陆ee ...… 查看全部问答∨ |
型号: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,有兴趣的联系吧 … 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- HP8712ET/E4407B/HP8711B/TDS3014/HP8713B/HP8711C/13168727426
- DSP builder中的MegaCore Function没有任何东西
- STM8207的PA1和PA2使用不顺畅
- 整流后可否不滤波,直接将脉动直流输入三相逆变桥
- 【Altera soc 体验之旅】+基于自组网的无线路由设计在FPGA-SOC上的实现(4)
- wince flash播放器spark例子修改成边解析边显示
- 求通过蓝牙蓝牙控制一些装置的方法
- 【LPC54100】iic读取MPU6050相关数据
- s3c2440或s3c2410芯片怎么辨别全新的还是旧的
- ADC12 疑问