当前位置: 首页 > news >正文

GD32F103系列单片机片上FLASH和ARM介绍

   本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发

       后续项目主要在下面该专栏中发布:

手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客

       感兴趣的点个关注收藏一下吧!

       电机驱动开发可以跳转:

手把手教你嵌入式国产化-实战项目-无刷电机驱动(1)-CSDN博客

       BMS电源系统开发可以跳转:暂未放链接

本项目配套开发板:

基于GD32F103RCT6国产GD32平台,以下教程编写基于该开发板

图片:

a83f44e3ba7542238ec2f3c3d9002bbe.jpeg​​​​

原理图以及例程请联系客服获取!

注意:

本教程致力于解决所有在调试中出现的所有问题,如有未包含在的问题,请联系QQ:2049363803,有奖更新文档!

介绍

GD32F103RCT6的教程已经出了一部分了,GD32F407的教程待更新,F103现在已经在出UCOSIII的教程了,那么谈到UCOSIII的操作系统想要挂载到F1上面,那么我们关心的最重要的一个点就是,F1他能不能放得下,那么我们本次将会介绍一下F1系列对应的一个FLASH空间。

官方资料

那么我们首先来看一下官网所提供的资料:

这是官方提供的各类型号的硬件资源选项,从这里我们可以清楚的看见各类常用单片机的片上FlashARM的大小。

这里整理出了常用的几类芯片:

芯片型号片上FlashARM
GD32F103C8T6       64KB20KB
GD32F103RCT6256KB48KB
GD32F103VET6512KB64KB
GD32F103ZET6512KB64KB

那么其对应的在单片机中的地址寻找,让我们打开keil5的魔术棒就可以看见:

GD32F103C8T6

Flash起始地址为0x8000000,尺寸为0x10000H对应大小为64KB
RAM起始地址为0x2000000,尺寸为0x5000H对应大小为20KB

这里大家可能会疑惑,明明我是GD32F103C8T6为什么编译器会出现128K的大小?按理说只有和GD32103RCT6引脚一样但是Flash大小不同的GD32F103CBT6才会有128K的大小才对,在官方参考手册中可以明确看见如下:

其中c864KB对应0x8000000H~0x800FFFFH

cb64KB对应0x8000000H~0x801FFFFH

但是实际使用中会发现,你选c8也是默认下载算法里面出现128KB的选项。

GD32F103RCT6

Flash起始地址为0x8000000,尺寸为0x4000H对应大小为256KB
RAM起始地址为0x2000000,尺寸为0xC000H对应大小为48KB

在实际使用中我们也能发现,标称是256KB,但是下载算法中依旧是512KB

GD32F103RCT6Flash内存是256KB

GD32F103RET6Flash内存是512KB

GD32F103VET6

Flash起始地址为0x8000000,尺寸为0x80000H对应大小为512KB
RAM起始地址为0x2000000,尺寸为0x10000H对应大小为64KB

GD32F103ZET6

Flash起始地址为0x8000000,尺寸为0x80000H对应大小为512KB
RAM起始地址为0x2000000,尺寸为0x10000H对应大小为64KB

至于是为什么出现上述情况,我们在ST的论坛中会发现ST系列也会存在着这样的问题,但是好玩的是,超过部分的内存,实际读可以被读取到。这里用ST论坛上的话来说是个福利?如果有知道的,可以给我们大家科普一下这是为什么?在日常使用中,并不推荐对超出部分进行操作,造成程序的崩溃或者读写错误之类的问题就得不偿失了。

这里提供一份官方的内存寻址文件作为参考:

文件我无法用CSDN上传资源,去看了一下,有人把GD32官方的免费文件给上传以后收费了,笑死我了,没办法只能贴个百度网盘的链接了,大家有需要自取:

链接:https://pan.baidu.com/s/1pC2OXZXkMs1kqGhlzlEndQ?pwd=5caz 
提取码:5caz 
--来自百度网盘超级会员V3的分享

http://www.lryc.cn/news/357033.html

相关文章:

  • Ansible自动化运维中的Setup收集模块应用详解
  • 再次学习History.scrollRestoration
  • python PyQt5 数字时钟程序
  • 骨传导耳机哪个品牌值得入手?精选五大不容错过的王者品牌推荐!
  • Vue.js|项目安装
  • 多线程新手村4--定时器
  • 如何衡量安全阀检测的价格与价值?一文揭晓答案
  • Sectigo证书介绍以及申请流程
  • 网络安全-钓鱼篇-利用cs进行钓鱼
  • 机器学习-6-对随机梯度下降算法SGD的理解
  • windows 11 精简版下载
  • rpm与yum扩展、命令
  • SpringBoot实现接口防抖的几种方案,杜绝重复提交
  • 了解VS安全编译选项GS
  • python 垃圾回收机制
  • 深度学习设计模式之组合模式
  • C++ 网络编程
  • 服务案例|网络攻击事件的排查与修复
  • 如何使用宝塔面板搭建Tipask问答社区网站并发布公网远程访问
  • Git学习和使用指南简单篇
  • HTTPS单双向认证流程详解与联想
  • 防止浏览器缓存了静态的配置等文件(例如外部的config.js 等文件)
  • 【Umi】umi-max 中使用 Dva
  • Inno Setup 深入浅出-文件的显示
  • 数据链路层协议——以太网协议
  • 一篇讲透数据结构之链式队列
  • 【408真题】2009-24
  • 6年IT找工作想法
  • TOPSIS综合评价
  • 修改vuetify3的开关组件v-switch在inset模式下的大小