STM32F407VET6新建固件库工程并下载运行

零、所需文件及环境:

1、固件库的压缩包 stm32f4_dsp_stdperiph_lib.zip (原子、野火资料里都有)

2、 keilkilll.bat   用来删除编译过程文件   可以不要 (原子、野火资料里都有)

3、编译环境MDK5(KEIL5  别用最新版)  

4、一个STM32F407VET6硬件

5、一个下载器j-link 或 st-link等

壹、新建文件夹

1.1新建文件夹   STM32F407工程模版   名字起一个自己喜欢的

1.2 进入文件夹新建二级文件夹  Doc、Libraries、Project、User并将 keilkilll.bat 复制过来 

        Doc:存放说明文档

        Libraries:存放库文件

        Project:工程文件

        User:你自己写的都在这儿

1.2.1 Doc文件夹下新建Readme.txt文件  写一些说明之类的东西

1.2.2 User 文件夹下建立三级文件夹APP、BSP。APP存放应用层文件 BSP存放底层驱动文件

1.2.3 Libraries文件夹下建立三级文件夹CMSIS   存放内核文件

 1.2.3.1 CMSIS文件夹下建立四级文件夹startup   存放一个用汇编写的启动文件

贰、复制文件 
 

2.1 解压stm32f4_dsp_stdperiph_lib.zip进入文件夹STM32F4xx_DSP_StdPeriph_Lib_V1.4.0,将Libraries文件夹下STM32F4xx_StdPeriph_Driver文件夹复制到咱自己的Libraries文件夹下

2.2 将Libraries文件夹下启动文件(具体路径如图)这个文件复制到自己的Libraries/CMSIS/startup下

2.3 将Libraries文件夹下内核文件(具体路径如图)这四个文件复制到自己的Libraries/CMSIS下

2.4 将Libraries文件夹下(具体路径如图)这三个文件复制到自己的Libraries/CMSIS下

CMSIS文件夹下结构如图

2.5 将project文件夹下(具体路径如图)这四个文件复制到自己的project文件夹下

叁、打开MDK5创建工程

3.1 点击project 选择 new uvision project 

3.2 选择工程文件下Project文件夹 在起一个自己喜欢的工程名 点击保存

3.3 选择芯片型号 (选错也无所谓后期都可以改)  点击ok

3.4 弹出这个Manage Run-Time Environment 直接关闭了  keil自带库 这里我们不用这个

3.5 新建成功如图所示

肆、向工程中添加文件

4.1 点击这个品字形图标

4.2 创建如下目录

4.3 向startup中添加  Libraries/CMSIS/startup文件夹下 startup_stm32f40_41xxx.s 文件

4.4 向CMSIS中添加  Libraries/CMSIS文件夹下  system_stm32f4xx.c文件

4.5 向FWLIB中添加  Libraries/STM32F10x_StdPeriph_Driver/src文件夹下 所有文件  并删除stm32f4xx_fmc.c文件

4.6 向user中添加  Project文件夹下 main.c与stm32f4xx_it.c

4.7 向DOC中添加  doc文件夹下 readme.txt 

4.8 添加完毕点击ok退出

  

伍、修改main.c

5.1 记得多敲两行空行  编译器原因 会产生警告

陆、添加头文件路径

6.1 点击魔术棒  

6.3 添加所有含有.h的根目录  添加完毕 点击ok退出

6.4 添加宏STM32F40_41xxx,USE_STDPERIPH_DRIVER 

6.5  切换到Output下  勾上生成hex文件  完成后点击OK

柒、编译

7.1 随便点一个  右边这个是全部编译  左边这个是编译修改过的  因为是第一次编译所以无所谓

7.2 阿欧  533个error  头疼好长时间  最后是由于keil5版本太高因为Keil自V5.37版本之后,不再预装Compiler Version5,所以报错  换到v5.06这个

7.3 仔细看界面有些许变化的

7.4 重新编译一次 一个error  main.h未定义  stm32f4xx_it.c 第32行直接删除main.h引用

7.5 再次编译  又出现一个错误 TimingDelay_Decrement()  直接删掉

7.6 再次编译 无错误无警告

捌、下载

8.1 stm32有三种下载方式  这在画硬件的时候就决定了

        8.1.1 使用串口uart1下载

                需要一个usb转ttl的东西直接连接串口一  但是下载的时候要使用操作boot0、boot1管脚使其对应下载模式和运行模式   优点设备便宜 缺点要操作硬件

        8.1.2 使用j-link st-link等

                购买j-link  、st-link  或者自制(网上有教程)

                使用JTAG模式或swd模式 我比较喜欢swd 只需接三根线 没有JTAG下载快 也不能仿真 但是就我那程序量快也快不了多少 同时我有硬件 用不着仿真

                根据个人实际情况选择 只是我比较习惯用自制的j-link使用swd模式(小巧 u盘大小装兜就走)

        8.1.3 使用任意总线下载程序

                自己写一段bootload引导程序,使用自己准备的总线分析仪下载,新手不推荐。第一种方法只是bootload引导程序让st官方写了。

8.2 j-link  swd模式下载程序

8.2.1 继续点魔术棒

8.2.3 点击settings 更改为swd模式(根据自己实际情况选) 右边有东西说明找到CPU了  找不到情况下 看看线序对着没 硬件晶振是不坏了 cpu是不坏了   电源是不没接上等  硬件故障自己查找

8.2.3 点击flash and run  勾上reset and run   点击确定

8.2.4 出来后记得点ok 

8.2.5 编译下载  养成习惯 每次下载前编译一下

8.2.6 下载成功 已经运行  为什么没有任何反应呢   因为我们啥也没写呀 

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值