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

零、所需文件及环境:

1、固件库的压缩包 GD32F4xx_Firmware_Library_V3.2.0.7z 官网

2、GD32F407的keil支持包  官网 兆易创新GigaDevice-资料下载兆易创新GD32 MCU

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

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

4、一个GD32F407VET6硬件

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

解压出来装上,keil里面就能找到GD的芯片了

解压出来备用,库文件就得从这儿复制

壹、新建文件夹

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存放底层驱动文件

贰、复制文件

2.1进入解压后的GD32F4xx_Firmware_Library_V3.2.0文件夹将Firmware文件夹复制至Libraries文件夹下

2.1进入解压后的GD32F4xx_Firmware_Library_V3.2.0/Template文件夹将这六个复制到Project

叁、打开MDK5创建工程

3.1 点击project 选择 new uvision project 

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

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

3.4 弹出这个Manage Run-Time Environment 直接关闭了 如果使用这个有时候换台电脑源码可能就编译不过去

3.5 新建成功如图所示

肆、向工程中添加文件

4.1 点击这个品字形图标

4.2 创建如下目录

4.3 向startup中添加  Libraries/Firmware/CMSIS/GD/GD32F4xx/Source/ARM文件夹下 startup_gd32f407_427.s 文件

4.4 向CMSIS中添加 Libraries/Firmware/CMSIS/GD/GD32F4xx/Source文件夹  system_gd32f4xx.c文件

4.5 向FWLIB中添加  Libraries/Firmware/GD32F4xx_standard_peripheral/Source文件夹下 所有文件  

4.6 向user中添加Project文件夹下 main.c、gd32f4xx_it.c、systick.c

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

4.8 添加完毕点击ok退出

  

伍、修改main.c

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

陆、添加头文件路径

6.1 点击魔术棒

6.2  把这个编译器换过来,新版的keil没有自带要自己装,换过来降版本使用

6.3 把这个也勾上 后期printf重定义的时候可能会报错。

6.4 添加根文件目录,添加完毕点击ok退出

6.5 添加宏GD32F407,USE_STDPERIPH_DRIVER 

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

柒、编译

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

7.2 一个错误main.h未定义,屏蔽掉或者删掉再次编译

7.3 一个错误led_spark()未定义,屏蔽掉或者删掉

7.4 再次编译 无警告无错误

捌、下载

8.1  j-link  swd模式下载程序

8.1.1 继续点魔术棒 选择jlink并点击设置  自己是啥下载器就选择什么

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

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

8.1.4 出来后记得点ok

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

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

结尾:根据以前经验,感觉还要修改晶振,不过咋说呢,串口的时候在说,有示波器的情况下,定时器,延时然后看io口状态,就可以看出来。这不是懒得动弹不是。

有时候还会提示编译会提示缺少 RTE_Components.h,看了下文件调用的东西都是一些预编译的东西,你自己写一个把那些预编译全部开通,为了裁剪用的,刚开始不明白,不懂就全部开通

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法金 | 来了,pandas 2.0

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 210/10000 Pandas 是一个强大的数据分析库,广泛应用于科学研究、金融分析、商业智能等领域。它提供了高效的数据结构…

[WUSTCTF2020]level4题解 入土为安的第三天

二叉树 Practice my Data Structure code..... Typing....Struct.....char....*left....*right............emmmmm...OK! Traversal! Traversal type 1:2f0t02T{hcsiI_SwA__r7Ee} Traversal type 2:20f0Th{2tsIS_icArE}e7__w Traversal type 3: //type3(&x[22]); No w…

C++基础篇(2)

目录 前言 1.缺省参数 2.函数重载 2.1函数重载的基本规则 ​编辑2.2注意事项 2.3 重载解析(Overload Resolution)--补充内容 3.引用 3.1引用的概念和定义 3.2引用的特性 3.3引用的使用 3.4const引用 4.指针和引用的关系 结束语 前言 上节小编…

感应灯光画纯电路开源版本

前言 之前那版灯光画用的从垃圾佬淘的电路板拼出来的,功能不全,显示效果不太好而且无法固定到相框上,这次改版用的嘉立创smt,贴了5片板子(19元),功能上的改进是加了无极触摸调光、添加了黄白两…

debian固定ip

debian固定ip 前言 安装好的Debian系统后,为了确保每次登陆的ip不变,需要固定 方法 命令如下 ip addr | grep inet因为有有线网和无线网 2 种连接方式,因此需要区别。 其中 enp 的是有线,wlp 的是无线 查看网关 IP 命令如下 …

互联网末法时代的一些思考

这篇文章也是临时起意,很长一段时间没写个人思考类的文章,主要原因也是时间完全不够用。随着年龄的增长,看待问题的视角也逐渐发生变化,例如从关注现象到关注动机,从关注结果到关注起因,2021年的时代我曾经…

java面向对象进阶篇--static

一、前言 java进阶篇已经开始了,先从面向对象开始,由于时间原因今天就只更新了static部分,内容上特别详细,一些特别的注意事项也在反复的提醒大家。 温馨提示一下,往后的java篇会越来越难,希望大家能够坚…

P2p网络性能测度及监测系统模型

P2p网络性能测度及监测系统模型 网络IP性能参数 IP包传输时延时延变化误差率丢失率虚假率吞吐量可用性连接性测度单向延迟测度单向分组丢失测度往返延迟测度 OSI中的位置-> 网络层 用途 面相业务的网络分布式计算网络游戏IP软件电话流媒体分发多媒体通信 业务质量 通过…

python编程:从入门到实践(第三版) 笔记

文章目录 资源网站:https://www.ituring.com.cn/book/3038配置VSCode推荐资源网站推荐资源网址 资源网站:https://www.ituring.com.cn/book/3038 配置VSCode 推荐资源网站 推荐资源网址 英文版主页: https://ehmatthes.github.io/pcc_3e 中文版主页: h…

上市公司企业共同机构所有权数据、机构交叉持股数据(2005-2023)

数据来源:基础数据来源于上市公司企业年报 时间跨度:2005-2023年 数据范围:企业层面 数据指标: 参考《中国工业经济》杜勇(2021)老师的做法,从 3 个维度构造指标反映上市公司共同机构所有权&…

Vue和Element UI 路由跳转

在Vue.js中,使用Vue Router可以方便地实现页面之间的路由跳转。Element UI是一个基于Vue 2.0的桌面端组件库,它本身并不直接提供路由跳转的功能,但你可以在使用Element UI的Vue项目中结合Vue Router来实现这一功能。 以下是一个基于Vue和Ele…

Proxyman for Mac v5.6.1 抓包调试工具

Mac分享吧 文章目录 效果一、下载软件二、功能三、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 四、运行测试1、打开软件 安装完成!!! 效果 一…

【华为OD笔试】2024D卷命题规律解读【分析300+场OD笔试考点总结】

可上 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1441了解算法冲刺训练(备注【CSDN】否则不通过) 文章目录 相关推荐阅读华为OD笔试2024D卷命题规律解读华为OD算法/大厂面试高频题算法练习冲刺训练 相关推荐阅读 【华为OD笔试】2024D卷机考套题…

C# Opencv实现本地以图搜图

地址:冯腾飞/本地以图搜图

Java面试八股之Redis哨兵机制

Redis哨兵机制 Redis Sentinel(哨兵)模式是一种高可用解决方案,用于监控和自动故障转移Redis主从集群。以下是对哨兵模式详细过程的描述: 1. 初始化与配置 部署哨兵节点:在不同的服务器上部署一个或多个Redis Sentin…

《算法笔记》总结No.7——二分(多例题详解版)

一.二分查找 目前有一个有序数列,举个例子,假设是1~1000,让我们去查找931这个数字,浅显且暴力的做法就是直接从头到尾遍历一遍,直到找到931为止。当n非常大,比如达到100w时,这是一个非常大的量级…

Linux 线程初步解析

1.线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列。在linux中,由于线程和进程都具有id,都需要调度等等相似性,因此都可以用PCB来描述和控制,线程含有PCB&am…

美联储降息应该更早?高盛:有充分理由7月降息,而非9月

KlipC报道:高盛首席经济学家哈祖斯Jan Hatzius表示,美联储“有充分理由”在7月会议上降息,而非等到9月。 在最新发布的报告中,他表明通胀已经取得了足够的进展,回到了美联储2%的长期目标附近,这将使美联储…

实现将Nginx的每个网站配置单独的访问日志

一、问题描述 Nginx默认的访问日志是不会区分哪个网站有哪些日志的,全部糅杂在一起;如果需要哪个网站有哪些访问日志记录,还需要将访问日志下载下来后筛选,比较麻烦;希望将每个网站对应的日志能够单独记录到对应的日志文件里面,方便排查和管理。 # 进入Nginx默认的日志文…

Nest.js 实战 (一):使用过滤器优雅地统一处理响应体

前言 在我们实际的业务开发中,我们可以看到后端接口返回格式都有一定的要求,假如我们统一规定接口的统一返回格式为: {data: any; // 业务数据code: number; // 状态码msg: string; // 响应信息timestamp: number; // 时间戳 }那么在 Nest.…