历史上的今天
返回首页

历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2021年08月26日 | STM32 MDK 工程创建 图解步骤

2021-08-26 来源:eefocus

好久没有使用MDK编写STM32的程序了,现在上手才发现自己都不太记得创建步骤了,于是再次翻阅书籍,一步一步记录一下-----参考了野火的例子!


---第一步---创建一个文件夹---在文件夹下建立如下文件夹---

---1-1---其中CMSIS是用来存放库文件为我们自带的启动文件和一些CMSIS层文件。

----1-1-1-----上面说的启动文件在startup文件夹中,其中包含了各种STM32芯片的启动文件,主要是按照flash大小来分的,后面工程设置再介绍。

---1-2---其中FWlib是用来存放STM32库中inc与src两个文件夹---这两个文件夹不需要修改----inc中是所有驱动文件的头文件---src中是所有驱动的驱动源文件。

----1-2-1-----inc为头文件---------

----1-2-2-----src为源文件---------

---1-3---其中Output是用来保存软件编译后要输出的文件,这里专门指定一个文件夹是为了便于管理,不然它会默认保存到保存工程的文件夹中,暂无内容。


---1-4---其中Listing是用来保存编译后生成的链接文件,原因也是同上,暂无内容!


---1-5---其中USER文件夹是比较重要的,它是直接存放我们用户自己编写的用户层代码---比如main.c主函数。


----1-5-1-----这里包含有------头文件与源文件----最重要的是main.c与stm32f10x_it.c与stm32f10x_it.h----其它文件都是用户自己编写的代码,然后加入工程去的!

---1-6---最后是PORT是用来单独保存工程文件的,它是要在后面创建工程后才有内容的。


---第二步是创建工程,并且将工程需要的文件加入工程!---


---2-1---新建工程------

----2-1-1-----将新建工程保存在文件夹下的PORT文件夹中---------

----2-1-2-----为工程选址驱动芯片---STM32系列的--------

----2-1-3-----这里选择STM32F103ZE---------

-----2-1-4----确定之后会弹出一个对话框,意思是问你是否需要将工程提供给你的自带启动文件加入工程,这里我们使用前面自己复制的启动文件,故选择---否---!

----2-1-5-----这就新建好了一个空白的工程文件---在PORT文件夹下可以看到,有内容了!

---2-2---为新建的工程添加文件------


----2-2-1-----右键选择进入组件管理器---------

-----2-2-2----组件管理器中可以新建文件夹,修改文件夹名,并且为相应文件夹添加前面保存在相应文件夹下的文件----比如启动文件,驱动源文件等---------

---------完成添加修改后,如下---------

----2-2-3-----最后完成,在主界面上可以看到那些添加的文件夹和文件---------


---2-3---工程新建好了,文件添加了,现在就来配置一下工程,主要是包含头文件路径等等操作。

-----2-3-1----第一次进入设置界面---------不需要设置,直接退出后再次进入!----

----2-3-2-----第二次进入设置界面-----

------2-3-3------设置Target---主要是勾选下图中的Use MicroLIB项---它的目的就是允许使用自带的C库----比如printf等函数。

------2-3-4------设置Output路径---


------2-3-5------设置编译时生成HEX可执行文件---勾选第二项。

-----2-3-6----设置Listing路径---


-----2-3-7----设置C/C++项---添加如下内容---STM32F10X_HD, USE_STDPERIPH_DRIVER------其中STM32F10X_HD代表使用的芯片是大容量,这里有一点要说么,不管我们使用什么容量的芯片,只要填写这个大容量的标识就可以,但是在程序中就不要使用小容量芯片没有的功能。其中USE_STDPERIPH_DRIVER表示我们可以使用ST官方库。

----2-3-8-----设置C/C++项---添加文件路径----最后完成OK----



---第三步是编译main.c文件----最简单的主函数----

---第四步是编译,检查是否有错误---一般使用中间这个---

------无错误,且生成了HEX文件------

推荐阅读

史海拾趣

Antenova公司的发展小趣事

Antenova公司在天线设计领域的创新是其迅速发展的关键因素之一。公司专注于研发高效率、低能耗、高可靠性的天线产品,以满足快速增长的物联网市场需求。通过不断的技术创新和产品升级,Antenova成功在智能家居、汽车、可穿戴设备等多个领域取得了显著的市场份额增长。

ACCUTEK公司的发展小趣事

随着技术的不断进步,ACCUTEK公司意识到要想在竞争激烈的电子行业中脱颖而出,必须不断进行技术创新和产品升级。公司加大了对研发的投入,引进了一批高素质的研发人才,并与多所高校和研究机构建立了合作关系。经过数年的努力,公司成功开发出了多款具有自主知识产权的高精度数控设备,这些产品在市场上获得了广泛好评,为公司的发展奠定了坚实基础。

Fanstel公司的发展小趣事

Fanstel公司自成立以来,一直将技术创新视为发展的核心驱动力。在成立初期,公司面临技术瓶颈,产品性能难以满足市场需求。然而,公司研发团队通过不懈努力,成功突破了一项关键技术,推出了一款具有行业领先水平的新型通信设备。这款产品的推出不仅为公司赢得了大量订单,也奠定了Fanstel在电子行业的技术领先地位。

Electro-Films Inc Semi-Films Div公司的发展小趣事

进入21世纪后,随着全球电子产业的蓬勃发展,Semi-Films Division 开始积极拓展国际市场。公司参加了多个国际性的电子产品展览会,与全球各地的客户建立了联系。同时,公司还加大了对海外市场的投入,设立了多个海外办事处和代理商,为客户提供更加便捷的服务。这些举措使得 Semi-Films 的产品逐渐走向世界,成为国际知名的薄膜材料供应商。

大毅科技公司的发展小趣事

大毅科技一直注重技术创新和研发投入。公司拥有一支高素质的研发团队,不断推出具有市场竞争力的新产品。其中,高压电阻和可修整电阻等产品得到了客户的广泛认可。此外,大毅科技还积极投入于新型材料的研发,以提高产品的性能和降低成本。这些技术创新的成果不仅使大毅科技在市场中保持了领先地位,还为公司的持续发展奠定了坚实基础。

Gemmy Electronics Co Ltd公司的发展小趣事
电路中的元件损坏、接线错误或外部环境潮湿等都可能导致电路短路,影响捕鼠器的正常工作。

问答坊 | AI 解惑

最新版本的keil软件--uvision4beta1及其使用手记

上传一份最新版本的KEIL 51 软件vision4beta1,看起来很不错的,这个是没有PJ的版本,如果你的机子上装有注册过的uvision3,那直接安装就可以使用,无需另外注册!!刚下载下来,简单打开看了下,就拿出来和大家分享了,里边有一份网上找的使用手记 ...…

查看全部问答>

创建SQLCE数据库

能不能用VS2003在PC机上创建一个SQLCE数据库并操作SQLCE数据库??救救命啊…

查看全部问答>

关于BOOTlLOADER写数据命令的问题

                                 写两个以上的数据时他的校验和是他们依次异或的结果,那要是写一个数据时校验和是什么呢?…

查看全部问答>

cortex-m0社区热闹程度大减!

关于M0的讨论不是很热闹呀! 发帖顶一下!…

查看全部问答>

求助啊,去明尼苏达的事

首先我一直关注学校有个2+2的项目,是去明尼苏达双城校区的。不过我大概了解到,一年所有的费用大概在20万左右,不知道你觉得是大概一个怎样的数目? 然后我家的情况不是特别好,只能这样说,最多够支付我一年的学费,也就是20万。而且我估计是家 ...…

查看全部问答>

stm32 CAN通信遇到问题

    我用的stm32F103VC控制器外接一个TJA1050CAN收发器,加一个CAN分析仪(确定可用USBCAN-II(iTEK公司的))进行测试,至于stm32的CAN测试程序,首先采用回环模式,使能CAN接收中断,调试发现,可以进入接收中断,而且接收的数据与发送的数 ...…

查看全部问答>

同时有12V、5V、3.3V的系统,TI有没有单片电源器件?

有个东东,需要的电源有12V(或15V)、5V、3.3V,TI的电源IC有没有单片解决方案?…

查看全部问答>

【PSoC4心得】对PSoC的一些感受

收到板子后就开始装软件,软件装了两次,第一次不知道为什么没装成功,第二次直接安装到C盘 ,安装类型选的全部,装好后可以用了。 我是听大学的老师说起PSoC的,感觉挺不错的就申请了一套板子,打算用到公司的方案上。       &n ...…

查看全部问答>

2014 C2000研讨会课程汇总 带有DSP灵魂的MCU

2014 C2000研讨会课程汇总 https://www.eeworld.com.cn/traini ... ex&a=lists&catid=25 TI C2000是业界公认的最适合各种对实时性要求高的场合 工业应用是TI近几年明确的最重要的发展应用,即把工业应用作为其公司发展战略的重中之重, 因此C20 ...…

查看全部问答>