如何建立一个ARM工程文件

2 篇文章 0 订阅

1.首先新建文件夹ARM_LIB(文件名自己定,所有文件名建议都用英文),在ARM_LIB文件夹下新建6个文件夹,他们分别用来存放不同的文件,CORE(用来存放核心文件和启动文件)、HARDWARE(存放外设相关的文件,串口通信、跑马灯等)、OBJ(存放hex和编译产生的中间文件)、STM32F10x_FWLib(存放ST官方提供的库函数源码文件)、SYSTEM(存放delay、sys、uart文件)、USER(存放工程文件、主函数文件 main.c、以及其他包括system_stm32f10x.c 等等)

2.打开KEIL MDK新建工程并保存在USER文件夹下,我在这里命名为ARM_LIB

3.选择自己的STM32单片机型号并点击OK,我这里用的是STM32F103RCT6,弹出的界面点×就行

4.接下来我们需要往ARM_LIB文件夹中添加工程所必须的文件,打开下载的固件文件,我用的固件库为STM32F10x_StdPeriph_Lib_V3.5.0,根据目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver

将其中两个文件inc,src添加进我们之前建立的STM32F10x_FWLib文件夹里

将目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下的core_cm3.c 和core_cm3.h文件复制到CORE下

将目录

STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm里的文件startup_stm32f10x_hd.s (这是根据单片机的容量来定的,我的是大容量,所以选用这个文件,要视情况来选)复制到CORE下

定位到目录STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面 将里面的三个文件 stm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h,复制到我们的 USER 目录之下。然后将 STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面 的 4 个文 件 main.cstm32f10x_conf.hstm32f10x_it.cstm32f10x_it.h 复制到 USER 目录下面。

自此,文件添加就结束了。

5.接下来需要在KEIL MDK中进行相关的设置,点击圈中图标,在弹出图框中将Source Group 1改为ARM_LIB,并在右侧新建5个文件夹

接下来选中不同文件夹,点击右下脚的Add Files添加相关文件,找到我们的工程文件夹,在STM32_FW中添加STM32F10x_FWLib/src下的所有.c文件

同样的方法,将CORE中的文件core_cm3.cstartup_stm32f10x_hd.s(点击All Files才会显示出来),

USER中的文件main.cstm32f10x_it.c, system_stm32f10x.c.进行添加,其余两个文件夹为个人.c文件的添加路径,大家可以自己写相关文件进行添加。

6、要想正确编译文件还需要设置头文件路径,点击魔术棒弹出窗口如图

点击C/C++,在Define中添加STM32F10X_HD,USE_STDPERIPH_DRIVER,在Includes Paths中点击...,添加找到包含头文件的一级目录文件夹CORE,USER,inc,注意必须是一级目录,否则无法成功。HARDWARE和SYSTEM文件夹同理。自此,ARM工程模板就基本完成了。

尾注:本博客编写到后期愈发的没耐心,有些细节可能没涉及到,例如OBJ文件夹的用途,SYSTEM文件夹中可包含的文件都没添加上去,如果写的哪里不对的地方还望大家进行指正批评!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勿知

一块不多,一毛不少

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值