【GD32F310开发板试用】浅谈IAR环境下GD32的插件功能

news/2024/12/5 8:12:03/

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。

首先很感谢极术社区此次的活动,之前没有接触过GD32的芯片,在工作中一直使用的ST,NXP和TI的芯片,目前由于缺芯问题,加上价格骤增,开始考虑国产MCU进行芯片换型的问题,刚好刚上了这波活动,就借助社区申请了。

关于外设的使用和相关的demo,官方提供的firmware和demo已经很全了,当然还有更多的应用等待项目的开发使用,这次我想和大家分享一下在IAR环境下GD32的flash下载算法的一些理解,有不对之处,欢迎大家在评论区留言讨论。

IAR支持GD32的插件安装

由于原生安装的IAR开发环境并不支持GD32 MCU的信息,主要是设备描述信息,icf内存映射文件信息和flash下载算法信息等,所以首先我们需要在官方网站上下载GD32F3X0系列的IAR插件,链接如下:http://gd32mcu.com/cn/downloa…
1.png

我现在下来后对应的后缀是.ex_,不是可识别的文件,我以为有什么特别的安装方式,最后发现需要人为吧后缀名修改.exe,不知道和我电脑解压的问题,还是官方发布的就是这样,改成和执行文件后,双击安装,(此处最好是以管理员方式运行插件exe),双击后如果出现如下界面
2.png

路径地址没有自动关联到你安装的IAR文件夹下(前提IAR用的是默认安装路径),是有问题的,一种方式是手动点击Browse指定到你安装的IAR目录下,另一种方式是采用管理员方式打开运行这个插件,可以自动检索IAR路径,如果你电脑上有多个不同版本的IAR的话,也是需要手动指定对应的安装目录的,最终如下所示:
3.png

GD32设备描述文件

安装完成后,此时进入到对应IAR版本下设备信息的目录,就可以看到GD的文件夹了,如下图所示:
4.png

此文件下主要存放了GD MCU的设备描述信息,即在IAR工程的Options中相应的Device配置一栏中。
5.png

GD32设备Flashloader下载算法

还有一个路径就是IAR的flashloader文件夹下,也新增了GD的文件夹,如下图所示
6.png
该文件夹下中要定义GD MUC程序烧写的下载算法,我们都知道任何MCU,不管是内部flash还是外部通过QSPI连接的NOR Flash,当配置映射为内存使用时,都需要借助调试工具(J-link, CMSIS-DAP, St-link等)将我们的编译生产的二进制文件下载到MCU的flash中,IAR提供了基本的flashloader框架,大家可以在其他芯片中找到相关的flashloader的firmware例程,用户需要实现相对于的接口,来操作具体的MCU 的flash下载,IAR会将此部分代码在启动下载后将该程序加载在ram中运行,来实现MCU的flash下载,如下是该文件夹的截图:
7.png

可以看出,每款MCU主要有4中文件,分别是.board,.flash,.mac,.out,其中.out文件主要就是实现flash操作的一些函数接口工程生成的二进制文件,如flash的初始化,擦除,读取,写入等操作,这部分由于涉及的内容比较多,大家有兴趣的可以通过搜索引擎了解这方面的内容,此处不做过多的设计,有兴趣的小伙伴,可以大家留言讨论。
其余的三种文件是相关配置文件和描述文件,如我们打开.board文件如下
8.png

可以看出,主要用来加载.flash文件的,如果你的MCU有2块flash,一般是指外部的NOR Flash,映射成程序空间使用的话,此处就可以添加加载其他的.flash描述文件.(不知道GD现在是否支持XIP的功能,当内部flash不够的时候,需要外扩外部flash当程序空间使用)。
当我们打开另一个文件.flash,就可以发现,此处主要加载了2个文件,分别是.out执行文件和.mac的描述文件,以及相关的flash信息,如该flash的page, block, flash_base地址等,此处定义的事GD32内部flash的信息,如果使用的外部flash的话,可以按照此格式新建flash文件,然后填写相关flash信息。
9.png

当我们打开.mac文件是,如下图所示
10.png

此文件主要用来对flash进行初始化的操作,此处使用的寄存器操作方式,类似于DCD文件的方式,主要包含3个函数的实现,分别是UserFlashInit()(flash的初始化),UserFlashExit()(Flash的退出操作),UserReset()(Flash的复位操作)。
此部分内容在IAR的的工程Options中如下配置:
11.png

IAR会默认根据General Optins中选定的MCU型号,自动关联对应的.board文件,当然也可以自定义修改。

GD32设备链接ICF文件

另外一个就是MCU链接文件,主要用于定义芯片存储空间的大小,ROM和RAM的大小和起始地址,堆栈大小等。以及程序各个字段的地址分配,如.data, .bss段等,此处内容比较简单,大家开发时也都会涉及到,当有新增SDRAM,和外部flash时,可以修改此文件,以及定义字段等操作。
12.png

13.png

总结

此次就简单描述下GD32在IAR下关于插件新增的一些内容,GD32对标的STM32的芯片,很多使用方式上都有类型,相信从STM32转过来的小伙伴一定能很快上手,希望GD能在软件固件库上对标到STM32,实现更丰富的生态圈,特别是在GUI和电机控制方向上,能有更对的库支持,当然也很期待GD早日发布Cotrex-M7系列的MCU,一些GUI高端的应用和计算算法,目前Cortex-M4还是无法满足,期待一下。


http://www.ppmy.cn/news/574601.html

相关文章

【GD32F310开发板试用】IAP升级实验

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 什么是IAP IAP( In Application Programming)即在应用编程,可以让用户使用自己的程序对MCU的中的运行程序进行更新,而…

【GD32F310开发板试用】入门向-usart的使用及printf函数的重定向

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 摘要 首先感谢极术社区和兆易创新公司给我这次机会,入选GD32F310K-START开发板的测评和试用。本开发板板载一块GD32F310K8T6芯片,该芯片是ARM…

C8051汇编语言递归,基于C8051F310单片机的LED灯控制器汇编语言程序调试

加 深对51单片机及其接口电路的理解,掌握定时/计数器、中断的应用编程技术及程序的调试方法。 2.实验内容 利用C8051F310单片机设计一个倒计时定时器,功能要求如下: 模式1:基本功能 主要技术指标要求如下: 1. 定时时间为9秒,定时精度为1秒 。 2. 在LED数码管上显示剩余…

【GD32F310开发板试用】使用六位半万用表测试ADC精度

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 项目地址 https://github.com/netube99/GD32F310G_START_ADC_TEST 感谢GD32为我提供了这块精致的GD32F310G-START开发板,经过周末两天的学习与开发测试&…

【GD32F310开发板试用】rtthread移植及BSP制作(保姆级)

一、开发环境 桌面操作系统: Win10 开发软件: Keil MDKV5.36 RTOS平台: rt-thread 4.1.0 项目地址:https://gitee.com/lsslny/rt-thread/tree/gitee_master/bsp/gd32 二、任务计划 1、rt-thread 系统移植;&#xff…

GD32F310系列超值型Cortexr-M4 MCU 资料下载

GD32F310是一款基于 Arm Cortex-M4 RISC 内核的32 位通用微控制器,在增强处理能力、降低功耗和外设方面具有最佳性价比。GD32F310系列MCU最高主频可达72MHz并支持DSP指令运算。配备了16KB到64KB的内置Flash及4KB到8KB的SRAM,内核访问闪存高速零等待。为全…

GD32F310G8 -【6】硬件I2C软件I2C驱动0.96OLED

GD32F310-硬件I2C&软件I2C驱动OLED I2C 简介及特点 并行总线至 I2C 总线协议的转换及接口;同一接口既可实现主机功能又可实现从机功能;主从机之间的双向数据传输;支持 7 位和 10 位的地址模式和广播寻址;支持 I2C 多主机模式…

【GD32F310开发板试用】驱动ST7735 SPI屏幕

首发极术社区。如对兆易创新GD32F310 MCU感兴趣,欢迎添加微信 aijishu2020 加入GD32技术讨论群。 代码篇幅比较多,看测试结果请直接拉到最后。 一、硬件介绍 1. 屏幕介绍 屏幕驱动 ST7735 屏幕分辨率 135x240 驱动接口 SPI 2. 开发板连接 对应引脚 /…