历史上的今天
返回首页

历史上的今天

今天是:2025年08月17日(星期日)

2018年08月17日 | stm32f10x在keil环境下的配置

2018-08-17 来源:eefocus

针对32开发,最理想的开发IDE还是keil,keil前几年被arm收购,对本家芯片的支持无疑是最好的。

下面介绍一下,keil环境下针对stm32开发环境的配置,软件的安装、破解这里不再赘述,不明白的可以百度。

STM32开发分为,寄存器版本开发还有库函数开发,依据库函数搭建的环境能运行寄存器版本例程,

寄存器版本开发环境,不能运行库开发的例程。

工作中为了方便代码移植,建议选择搭建库环境作为开发环境。

下面介绍一下模板工程创建,工程创建完毕每个工程均可以在此基础上进行开发,

第一步:下载官方库 stm32固件库V3.5 里面包含官方固件库源码,还有官方参考板的参考例程。

对于开发环境搭建而言,我们主要关注其中固件库源码以及针对32单片机的启动代码、中断管理等文件。

固件库

解压后查看文件列表

那么我们新建自己的工程模板。

首先新建个文件夹,命名依据自己的喜好


这里我命名为 STM32Project  

在文件夹内部新建四个文件夹


第一个文件夹ASM存放与单片机相关的汇编文件,里面是与单片机启动相关的内容

STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

这个根据自己单片机的情况选择,选择方式通过后缀,一般md中等容量,hd大容量··· ···主要依据容量区分。也可以全部复制到ASM文件夹

在创建工程时在工程内部进行选择。这里我们全部复制过去。

第二个文件夹内部LIB内部存放固件库源码与头文件

源码头文件的位置在  STM32最新固件库v3.5\Libraries\STM32F10x_StdPeriph_Driver 路径下 将src inc两个文件夹复制到LIB文件夹下

第三个文件夹 System 存放与内核相关或者中断入口定义等相关的文件,还有一些重要的头文件

这些文件在

STM32最新固件库v3.5\Libraries\CMSIS\CM3\CoreSupport

STM32最新固件库v3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

STM32最新固件库v3.5\Project\STM32F10x_StdPeriph_Template

路径下可以找到

进行到这里工程所需要的文件已经准备齐全,接下来就进行工程的软件配置,打开keil(我用的是5版本的)

点击新建工程,选择路径刚刚新建的工程文件夹,我新建的工程文件夹叫STM32Project。文件名就是工程名称,这里

我填写的名称与文件夹名称相同STM32Project

点击保存后出现芯片选择界面,这里我选择的型号是STM32F103VE  大家可根据自己实际芯片进行选择。

点击OK 下面还会弹出一个窗口,这是自动配置相关内容,我们这里直接点击ok,不进行选择任何东西,稍后进行手动工程配置

点击项目目录规划按钮,进行工程目录配置,让工程开发条理清晰

处理方式与建工程文件夹下的内容基本一致,需要向其中添加一些文件

添加完成后点击OK

工程预览如下,ASM文件夹依据我使用的芯片,选择xxxxhd.s,LIB文件夹选择最基本的中断管理、IO操作、时钟配置三个源文件

(例如ADC 串口等没有添加,可根据开发情况选择性添加),这三个文件因为每个工程都会用到,所以添加了这三个文件。

System目录将所有.c文件添加进来即可。也可以将所有文件包含进来(.h)。方便工程配置。

接下来进行工程软件配置,点击目标配置按钮


在output选项中,如果采用串口下载勾选生成Hex文件选项,如果采用ST-Link下载不用勾选

在c/c++选项中,需要做两项工作,1、配置宏(宏第一个内容根据单片机容量进行填写),2、选择头文件的路径,点击保存

在Debug选项中,选择调试工具STLink 或者JLink等等,点击旁边setting按钮勾选Flash Download选项中的Rest ang Run选项,点击保存


在Utilities选项中去掉调试之前更新目标选项,点击ok

工程配置完毕,验证一下工程配置。

点击file,新建文件保存在工程目录下USR目录,命名main.c,在目录树USR目录分组双击添加main.c文件,将main.c包含进工程

在mian.c写入实验内容,编译进行验证。


输出0 错误 0警告工程搭建没问题

采用库函数开发时,最好是用到那部分内容就将哪部分内容添加到工程,例如用到adc就把adc.c添加到工程,不用全部添加,固件库模块声明在stm32飞0x_conf.h中

没有用到的部分可以注释掉,这样在变异程序时可以加快编译效率。


推荐阅读

史海拾趣

Amphenol Piher公司的发展小趣事

Amphenol Piher 是 Amphenol 公司的一部分,专注于设计、制造和销售电子行业中的传感器和电位器等产品。以下是关于 Amphenol Piher 公司发展的五个相关故事:

  1. 创立与初期发展:Amphenol Piher 公司的历史可以追溯到20世纪60年代,在西班牙的Valencia成立。最初,公司主要致力于生产电位器和传感器等电子元器件,为不同行业的客户提供定制化的解决方案。随着市场需求的增长和公司技术实力的提升,Amphenol Piher 逐渐赢得了客户的信任和市场认可。

  2. 技术创新与产品多样化:Amphenol Piher 公司在技术研发方面持续投入,并不断推出新型的传感器和电位器产品。公司专注于提升产品性能、精度和可靠性,满足客户对高品质电子元器件的需求。除了传统的电位器和传感器,Amphenol Piher 还推出了一系列新型产品,如角位移传感器、线性位移传感器等,为不同应用领域提供多样化的解决方案。

  3. 客户合作与定制化解决方案:Amphenol Piher 公司与客户建立了紧密的合作关系,致力于开发定制化的传感器和电位器解决方案。公司的工程团队与客户密切合作,根据客户的需求和应用场景,设计和制造符合特定要求的产品。这种定制化解决方案能够满足客户个性化的需求,为客户提供更加专业和完善的服务。

  4. 质量控制与认证标准:Amphenol Piher 公司高度重视产品质量控制,并严格遵循国际质量管理体系标准。公司的生产工艺和质量管理体系符合ISO 9001质量管理体系认证标准,以确保产品质量的稳定性和可靠性。此外,Amphenol Piher 公司的产品还通过了各种行业和应用领域的认证标准,如汽车行业的TS16949认证等,确保产品符合行业标准和规定。

  5. 全球市场拓展与合作伙伴关系:除了在西班牙的生产基地外,Amphenol Piher 公司还在全球范围内设有多个销售办事处和代理商网络,拓展了国际市场份额。公司与全球各种行业领先企业建立了长期稳定的合作关系,共同推动产品的创新和市场拓展。通过全球市场拓展和合作伙伴关系,Amphenol Piher 公司不断扩大业务规模,增强了在电子行业中的市场竞争力。

这些故事展示了 Amphenol Piher 公司从成立初期到如今在技术创新、产品多样化、客户合作与定制化解决方案、质量控制与认证标准以及全球市场拓展与合作伙伴关系等方面取得的重要进展。

Crystal Clear Technology公司的发展小趣事

随着环保意识的日益增强,Crystal Clear Technology积极响应国家号召,将环保理念融入产品研发和生产过程中。公司采用环保材料和节能技术,降低产品对环境的污染。同时,公司还加强废弃物处理和资源回收利用,努力实现可持续发展。这一举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实基础。

D3 Semiconductor公司的发展小趣事

为了更好地拓展市场,D3 Semiconductor与全球知名的电子元件分销商贸泽电子(Mouser Electronics)建立了合作伙伴关系。根据协议,贸泽电子储备了D3 Semiconductor的完整650伏额定电压超结MOSFET产品线,并将其推向全球市场。这一合作不仅加强了D3 Semiconductor在全球市场的竞争力,也为公司带来了更多的商业机会。

Andigilog公司的发展小趣事

在不断发展壮大的过程中,D3 Semiconductor逐渐将业务拓展至电机控制领域。公司开发的功率MOSFET产品,在电机控制应用和电源中表现出色,提供了更高的效率、集成和性能。这一领域的拓展不仅丰富了D3 Semiconductor的产品线,也进一步巩固了公司在电子行业中的地位。

Amaze Electronics Pte Ltd公司的发展小趣事

为了支撑公司的持续发展,Amaze Electronics高度重视人才培养。公司建立了完善的培训体系,为员工提供丰富的培训资源和学习机会。同时,公司还积极引进优秀人才,为研发团队注入新的活力。这些举措使得公司的研发团队不断壮大,为公司的技术创新和业务发展提供了有力保障。

Chip Supply Micro Devices公司的发展小趣事

在追求经济效益的同时,Chip Supply Micro Devices也积极践行环保理念。公司注重节能减排和资源循环利用,通过采用环保材料和工艺,降低了生产过程中的环境影响。此外,公司还积极参与社会公益活动,推动电子行业的可持续发展。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实基础。

以上五个故事都是基于电子行业的一般情况和趋势虚构的,旨在展示一家微电子器件供应公司可能经历的发展历程。请注意,这些故事并非基于真实事件或公司。

问答坊 | AI 解惑

理解和应用数模转换器

数模转换器(DAC)是非常通用的器件,其能力远远超出电平设置的范畴,而且延伸到通信、视频、音频、电位计和替代可变电阻器、信号合成以及许多其它应用。    DAC的一些技术指标   DAC是最基本最重要的混合信号构建模块,其输出可以是单端 ...…

查看全部问答>

ZigBee遭遇基于IP的竞争对手

无线传感器网络标准ZigBee要有麻烦了。一家与无线传感器技术相竞争的公司最近推出了基于通用网络标准IP的产品。     基于IP:可与企业网相连     PhyNet就是这家名为Arch Rock的公司新推出的产品,同ZigBee一样,它也可 ...…

查看全部问答>

LED倒装技术是怎么回事啊?

replyreload += \',\' + 374033; 1、倒装(Flip chip)   1998年Lumileds公司封装出世界上第一个大功率LED(1W LUXOEN器件),使LED器件从以前的指示灯应用变成可以替代传统照明的新型固体光源,引发了人类历史上继白炽灯发明以来的又一场 ...…

查看全部问答>

私活报价,大家给点建议,合理就散分。

接了一私活,单片机软件编程,硬件由别人完成。  功能包括:uart通信,lcd显示,键盘操作,io输出。大家看看该报个什么价。…

查看全部问答>

在c#中如何显示大与1.5兆的图片

我用c#做了一个wince下的看图程序,每当打开一个大于1.5mb的图片时就出错,提示outofmemoryexception错误,而有些文章上介绍用SHloadImagefile但是为什么c# api中没有呢,大家有没有好的解决方法,如果c#中有那么他在那个动态库下呀,谢谢各位大哥 ...…

查看全部问答>

空pro没希望了,最简的呢??

所谓最简, 包括所有基本设置,基本文件------主要是包括maim() while1{}===========当然,在while1{}之前或者内部,添加程序,可以执行....哪位 有??…

查看全部问答>

给香香公主拜个晚年

                                 今后少不得要常来。今天先来认个路。…

查看全部问答>

STM32PWM问题

                                 请问版主 STM32 PWM要怎么配置才能实现6步换相? 用一个定时器 还是两个定时器实现…

查看全部问答>

FPGA电源管理问答

    现场可编程门阵列(FPGA)是可以包括数千个典型的、可编程逻辑单元。一个由线和可编程开关的矩阵与单独的逻辑单元互连。典型的设计包括指定每个单元的简单逻辑功能和选择性地关闭互连矩阵中的开关。 FPGA主要用于原型IC系统。当 ...…

查看全部问答>

msp430和usb系统采样速度问题

最近使一个msp430f149和国产的usb芯片ch372,之前以为会很麻烦,结果用了labview的visa,居然可以生成usb芯片的驱动,然后就可以利用usb协议的批量(bulk)管道直接上下传数据,官方提供的dll都不用了。想了解的可以联系我,这个我已经弄好了。 问 ...…

查看全部问答>