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

重庆网站建设套餐seo站长工具推广平台

重庆网站建设套餐,seo站长工具推广平台,中信建设有限责任公司在朝阳区哪个街道,网站模板 免费文章目录 0 前言1 开发方式选择2 标准库模板的创建3 遇到的问题和解决方法 0 前言 因为项目关系,需要使用GD32。之前对此早有耳闻,知道这个是一个STM32的替代品,据说甚至可以直接烧录STM32的程序(一般是同型号)&#x…

文章目录

    • 0 前言
    • 1 开发方式选择
    • 2 标准库模板的创建
    • 3 遇到的问题和解决方法

0 前言

  因为项目关系,需要使用GD32。之前对此早有耳闻,知道这个是一个STM32的替代品,据说甚至可以直接烧录STM32的程序(一般是同型号),但是GD32型号的编排更加复杂,不能和STM32一一对应,所以,从长远角度来看,还是建议按照官方推荐的方式来开发,其实本质上和STM32开发是差不多的,所以对于熟练STM32开发的人来说上手还是挺快的,关键是要学会查找和使用资料。

GD32开发资料下载——记得点开右上角的箭头可以展开更多

1 开发方式选择

  可能是为了跟上STM32的脚步,兆易最近(2024.04)也开发了适配自家产品的集成开发环境——Embedded Builder,对标STM32的CubeIDE。

在这里插入图片描述

但是我体验下来的感觉并不好,一个是支持的型号有限(没有我正在使用的型号),一个是win7(莫得选择)支持不太好,打开之后不知道为啥显示屏一大段黑条,关掉软件之后就立刻好了(可能是显卡要求比较高?)。

  综上,我不得不放弃私以为更好用的HAL库,转而使用标准库进行开发。以下是开发记录。

2 标准库模板的创建

  标准库开发的第一步,毫无疑问肯定是搭建一个项目工程的模板,这样之后的项目可以直接复制这个模板,然后在此基础上添加自己需要的代码即可,非常方便。

  1. 下载资料
      首先打开上面那个链接,然后在左侧找到对应的芯片型号,这里以GD32E230为例,首先点开 “GD32E2 MCU” 标签页,然后在右侧就能看到这个型号相关的资料:

在这里插入图片描述

当然,这些资料不是都需要下载的,如果是初学,只需要下载必要的文件即可,其他的留个印象,之后如果涉及到可以再来翻阅。

  主要需要下载的有以下几个资料:

  • GD32E230xx Datasheet 芯片数据手册,查看外设引脚必备;
  • GD32E23x User Manual 用户手册,主要是介绍芯片的特性,存储,外设及其相关寄存器等,编程必备;【注意,这个文件有中文版,不想翻译的可以考虑只下载这个】
  • GD32E23x AddOn 软件支持包,使用Keil开发必备;
  • GD32E23x Firmware Library 标准固件库,搭建模板必备。

另外,“用户手册”和“其他资料”中有很多“AN”开头的文件,适用于特定问题的解决,最好留个印象,这样遇到相关的问题不至于不知道去哪里找资料了。

  1. 创建标准库模板工程
      基本流程和STM32配置差不多,这里只展示文件的目录结构,具体的配置流程可以参考之前的一篇文章。
|-- CMSIS                   # 内核文件
|   |-- gd32e23x.h
|   |-- gd32e23x_libopt.h
|   |-- startup_gd32e23x.s
|   |-- system_gd32e23x.c
|   `-- system_gd32e23x.h
|-- Hardware               # 自定义外设
|   |-- usart.c
|   `-- usart.h
|-- Objects                # 编译链接文件
|   |-- gd32e23x_adc.d
|   |-- gd32e23x_adc.o
|   |-- ......
|   `-- usart.o
|-- RTE                    # Real Time Environment,Keil自带的内核相关文件 
|   `-- _Target_1
|       `-- RTE_Components.h
|-- StdPeriph              # 标准外设库
|   |-- Include
|   |   |-- gd32e23x_adc.h
|   |   |-- gd32e23x_cmp.h
|   |   |-- gd32e23x_crc.h
|   |   |-- ......
|   |   `-- gd32e23x_wwdgt.h
|   `-- Source
|       |-- gd32e23x_adc.c
|       |-- gd32e23x_cmp.c
|       |-- gd32e23x_crc.c
|       |-- ......
|       `-- gd32e23x_wwdgt.c
|-- User                   # 用户文件
|   |-- gd32e23x_it.c
|   |-- gd32e23x_it.h
|   |-- main.c
|   |-- main.h
|   |-- systick.c
|   `-- systick.h
|-- gde2_project.uvguix.Zoey  # 最外层目录的这些文件都是项目相关的文件
|-- gde2_project.uvoptx
`-- gde2_project.uvprojx9 directories, 112 files

值得一提的是,这里的RTE文件夹并不是自己建立的,而是在创建项目时首先添加到工程中的:

在这里插入图片描述

之所以要添加这个貌似是因为GD32E2xx固件库中,不存在这个core文件?总之必须得添加这个,不然编译的时候一堆报错。

注意,这个步骤仅限于部分型号,加不加其实取决于固件库的文件夹中有没有内核文件,如果有,直接添加文件即可,因为这一步本质上就是复制Keil安装的支持包中的内核文件而已。

这里再提一下gd32e23x_libopt.h这个文件,相当于是一个选择外设的文件,可以根据需要注释或取消注释包含的头文件,默认全部包含,但是它可能和其他文件不在一个文件夹内,而是在example文件夹中。

  添加好文件之后,接下来就是点击魔法棒来配置项目工程了,首要的肯定是先将自定义文件夹的路径包含在项目中,然后在宏定义中加上:

USE_STDPERIPH_DRIVER,GD32E230

后面这个芯片型号取决于实际使用的是啥,好像也可以不加

  配置好之后,点击编译,如果没有问题的话,一般是 0 Error(s) ,但是!可能会有一堆Warnings,如果有强迫症的,可能已经开始将警告内容复制去浏览器搜索解决方案了,我也尝试过,但无果。
  后来和其他项目工程模板仔细比对之后发现,因为使用了RTE,工程的默认编译器变成了AC6,而且不能换成AC5,所以出现了很多语法格式上的警告,所以解决办法也很简单,将警告的等级降一降:

在这里插入图片描述

亲测有效!

掌握了标准库项目模板的构建,基本也算是入门了,其他的主要就是外设的使用了,这个将在后续博客中介绍。

3 遇到的问题和解决方法

  • 下载程序之后不运行
    当发现程序运行结果和想象中不一样时,可以使用仿真器单步运行。然后就发现代码卡在开始文件的汇编代码中,也就是后缀为.s的文件。最后发现是系统的时钟配置错误。在这里插入图片描述
    如注释所示,这里要选择一个时钟源和主频,然后如果板子上没有使用外部晶振,这里仍然选择了后缀为8M_HXTAL25M_HXTAL的选项,时钟选择错误,导致系统不运行。

    关于时钟的选择,芯片特性手册和使用手册上都有提到,可以去参考。

http://www.mnyf.cn/news/35912.html

相关文章:

  • 旅游网站建设方seo排名优化代理
  • 用于网站建设的费用怎么备注网络营销策划书的主要内容
  • 企业建站用什么主机枸橼酸西地那非片的作用及功效
  • 北京性价比网站建设深圳网站营销seo费用
  • wordpress收录慢长沙seo网站排名
  • 长春做网站建设的公司制作一个网站的全过程
  • 成都门户网站建设多少钱app推广刷量
  • 武汉建网站seo优化招商
  • java网站开发的书籍站长之家最新域名查询
  • 网站虚拟主持人seo优化就业前景
  • 哪个网站可以做行程表域名注册管理中心网站
  • 网站建设与网页设计考试题b2b网站大全免费
  • 微信公众号排行榜网站seo快速排名优化的软件
  • 怎么挖掘网站的关键词微软优化大师
  • 南宁网站建设哪家公福州网站建设方案外包
  • 网站关键词优化公司哪家好整合营销沟通
  • 物流系统网站策划书东莞今天的最新通知
  • 已注册商标查询官网短视频矩阵seo系统源码
  • 深圳网站建设列表网网站友情链接交易平台
  • 新疆网站建设网络推广服务线上推广的公司
  • 微信扫一扫登录网站如何做深圳网络品牌推广公司
  • 源码站深圳网络营销推广专员
  • b站网页入口免费不收费国外b站浏览器
  • 制作图片的免费网站最近一周新闻大事摘抄
  • 金水郑州网站建设湖南网站建设推荐
  • 网站建设毕业设计指导老师意见厉害的seo顾问
  • 怎样做网站用html上海网站排名优化公司
  • 什么是网站名称网页制作工具
  • 布吉网站建设哪家公司靠谱网店运营具体做什么
  • 做兼职的网站打字员国内最大的搜索引擎