1532|2

3

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【兆易GD32H759I-EVAL】GD32H759I-EVAL开发板快速上手指南 [复制链接]

 

1、在GD32官网下载GD32H759资料
GD32H7xx_Demo_Suites_V1.2.0 包含开发板原理图资料及使用指南
GD32H7xx_AddOn_V1.2.0 Keil pack包

2、安装keil pack包。

3、尝试打开GD32H7xx_Demo_Suites_V1.2.0\GD32H759I_EVAL_Demo_Suites\Projects\01_GPIO_Running_LED\MDK-ARM\GD32H759I_EVAL.uvproj进行编译。

 

这里我卡了几天,编译过程不顺利。做了一些改动,编译成功了,但是无法下载。最后发现是keil版本问题。大家在编译之前一定要先确认自己的keil版本,文档中介绍例程是基于 Keil MDK-ARM 5.29 uVision5的。理论上高于这个版本就可以。下面是 查看kei版本方法

 

 

下面是我踩的坑,使用的是keil 5.25版本,编译错误的改动,由于没有下载成功,并没有验证其运行效果,如果出现相同报错,尝试按照上面方法解决。

 

第一次编译出现报错MPU_AP_NO_ACCESS和MPU_REGION_SIZE_32B未定义。我没有找到,尝试从STM32H7抄过来。
找到宏定义位置并替换

#define   MPU_REGION_SIZE_32B      ((uint8_t)0x04)
#define   MPU_REGION_SIZE_64B      ((uint8_t)0x05)
#define   MPU_REGION_SIZE_128B     ((uint8_t)0x06)
#define   MPU_REGION_SIZE_256B     ((uint8_t)0x07)
#define   MPU_REGION_SIZE_512B     ((uint8_t)0x08)
#define   MPU_REGION_SIZE_1KB      ((uint8_t)0x09)
#define   MPU_REGION_SIZE_2KB      ((uint8_t)0x0A)
#define   MPU_REGION_SIZE_4KB      ((uint8_t)0x0B)
#define   MPU_REGION_SIZE_8KB      ((uint8_t)0x0C)
#define   MPU_REGION_SIZE_16KB     ((uint8_t)0x0D)
#define   MPU_REGION_SIZE_32KB     ((uint8_t)0x0E)
#define   MPU_REGION_SIZE_64KB     ((uint8_t)0x0F)
#define   MPU_REGION_SIZE_128KB    ((uint8_t)0x10)
#define   MPU_REGION_SIZE_256KB    ((uint8_t)0x11)
#define   MPU_REGION_SIZE_512KB    ((uint8_t)0x12)
#define   MPU_REGION_SIZE_1MB      ((uint8_t)0x13)
#define   MPU_REGION_SIZE_2MB      ((uint8_t)0x14)
#define   MPU_REGION_SIZE_4MB      ((uint8_t)0x15)
#define   MPU_REGION_SIZE_8MB      ((uint8_t)0x16)
#define   MPU_REGION_SIZE_16MB     ((uint8_t)0x17)
#define   MPU_REGION_SIZE_32MB     ((uint8_t)0x18)
#define   MPU_REGION_SIZE_64MB     ((uint8_t)0x19)
#define   MPU_REGION_SIZE_128MB    ((uint8_t)0x1A)
#define   MPU_REGION_SIZE_256MB    ((uint8_t)0x1B)
#define   MPU_REGION_SIZE_512MB    ((uint8_t)0x1C)
#define   MPU_REGION_SIZE_1GB      ((uint8_t)0x1D)
#define   MPU_REGION_SIZE_2GB      ((uint8_t)0x1E)
#define   MPU_REGION_SIZE_4GB      ((uint8_t)0x1F)

//#define MPU_REGION_SIZE_32B             ARM_MPU_REGION_SIZE_32B   /*!< MPU region size is 32 bytes, the smallest supported region size is 32 bytes */
//#define MPU_REGION_SIZE_64B             ARM_MPU_REGION_SIZE_64B   /*!< MPU region size is 64 bytes */
//#define MPU_REGION_SIZE_128B            ARM_MPU_REGION_SIZE_128B  /*!< MPU region size is 128 bytes */
//#define MPU_REGION_SIZE_256B            ARM_MPU_REGION_SIZE_256B  /*!< MPU region size is 256 bytes */
//#define MPU_REGION_SIZE_512B            ARM_MPU_REGION_SIZE_512B  /*!< MPU region size is 512 bytes */
//#define MPU_REGION_SIZE_1KB             ARM_MPU_REGION_SIZE_1KB   /*!< MPU region size is 1K bytes */
//#define MPU_REGION_SIZE_2KB             ARM_MPU_REGION_SIZE_2KB   /*!< MPU region size is 2K bytes */
//#define MPU_REGION_SIZE_4KB             ARM_MPU_REGION_SIZE_4KB   /*!< MPU region size is 4K bytes */
//#define MPU_REGION_SIZE_8KB             ARM_MPU_REGION_SIZE_8KB   /*!< MPU region size is 8K bytes */
//#define MPU_REGION_SIZE_16KB            ARM_MPU_REGION_SIZE_16KB  /*!< MPU region size is 16K bytes */
//#define MPU_REGION_SIZE_32KB            ARM_MPU_REGION_SIZE_32KB  /*!< MPU region size is 32K bytes */
//#define MPU_REGION_SIZE_64KB            ARM_MPU_REGION_SIZE_64KB  /*!< MPU region size is 64K bytes */
//#define MPU_REGION_SIZE_128KB           ARM_MPU_REGION_SIZE_128KB /*!< MPU region size is 128K bytes */
//#define MPU_REGION_SIZE_256KB           ARM_MPU_REGION_SIZE_256KB /*!< MPU region size is 256K bytes */
//#define MPU_REGION_SIZE_512KB           ARM_MPU_REGION_SIZE_512KB /*!< MPU region size is 512K bytes */
//#define MPU_REGION_SIZE_1MB             ARM_MPU_REGION_SIZE_1MB   /*!< MPU region size is 1M bytes */
//#define MPU_REGION_SIZE_2MB             ARM_MPU_REGION_SIZE_2MB   /*!< MPU region size is 2M bytes */
//#define MPU_REGION_SIZE_4MB             ARM_MPU_REGION_SIZE_4MB   /*!< MPU region size is 4M bytes */
//#define MPU_REGION_SIZE_8MB             ARM_MPU_REGION_SIZE_8MB   /*!< MPU region size is 8M bytes */
//#define MPU_REGION_SIZE_16MB            ARM_MPU_REGION_SIZE_16MB  /*!< MPU region size is 16M bytes */
//#define MPU_REGION_SIZE_32MB            ARM_MPU_REGION_SIZE_32MB  /*!< MPU region size is 32M bytes */
//#define MPU_REGION_SIZE_64MB            ARM_MPU_REGION_SIZE_64MB  /*!< MPU region size is 64M bytes */
//#define MPU_REGION_SIZE_128MB           ARM_MPU_REGION_SIZE_128MB /*!< MPU region size is 128M bytes */
//#define MPU_REGION_SIZE_256MB           ARM_MPU_REGION_SIZE_256MB /*!< MPU region size is 256M bytes */
//#define MPU_REGION_SIZE_512MB           ARM_MPU_REGION_SIZE_512MB /*!< MPU region size is 512M bytes */
//#define MPU_REGION_SIZE_1GB             ARM_MPU_REGION_SIZE_1GB   /*!< MPU region size is 1G bytes */
//#define MPU_REGION_SIZE_2GB             ARM_MPU_REGION_SIZE_2GB   /*!< MPU region size is 2G bytes */
//#define MPU_REGION_SIZE_4GB             ARM_MPU_REGION_SIZE_4GB   /*!< MPU region size is 4G bytes */

#define  MPU_AP_NO_ACCESS      ((uint8_t)0x00)
#define  MPU_AP_PRIV_RW        ((uint8_t)0x01)
#define  MPU_AP_PRIV_RW_UNPRIV_RO    ((uint8_t)0x02)
#define  MPU_AP_FULL_ACCESS    ((uint8_t)0x03)
#define  MPU_AP_PRIV_RO        ((uint8_t)0x05)
#define  MPU_AP_PRIV_UNPRIV_RO    ((uint8_t)0x06)

//#define MPU_AP_NO_ACCESS                ARM_MPU_AP_NONE           /*!< MPU access permission no access */
//#define MPU_AP_PRIV_RW                  ARM_MPU_AP_PRIV           /*!< MPU access permission privileged access only */
//#define MPU_AP_PRIV_RW_UNPRIV_RO        ARM_MPU_AP_URO            /*!< MPU access permission unprivileged access read-only */
//#define MPU_AP_FULL_ACCESS              ARM_MPU_AP_FULL           /*!< MPU access permission full access */
//#define MPU_AP_PRIV_RO                  ARM_MPU_AP_PRO            /*!< MPU access permission privileged access read-only */
//#define MPU_AP_PRIV_UNPRIV_RO           ARM_MPU_AP_RO             /*!< MPU access permission privileged and unprivileged read-only access */

 

继续编译出现错误
   No .ANY selector matches 。。。
修改keil配置options>C/C++>取消勾选Execute-only Code。
之后编译完成。

 

下载过程中一直提示芯片连接失败,应该也是keil版本问题,不支持GDlink。重新安装新版本keil以后问题解决。

 

 

4、开发板下载程序。

 需要注意开发板左侧的两个USB口和左下的USB口不能进行供电。供电只能通过DC 5V,或者右下角USB口的GD LINK进行供电,使用左上角的开关SW1进行切换。

使用开发板自带的GDlink下载程序,GDlink应该就是通过DAPlink改过来的。在debug中选择CMSIS-DAP-Debugger。

 

5、下载完LED例程后按下图更改跳线后就可看到LED闪烁。

 

 

 


 

最新回复

nmg
好像好久不见keil开发了,嘿嘿   恭喜初步搞定啦,撒花,期待后续   详情 回复 发表于 2024-5-20 10:06
点赞(1) 关注
 
 

回复
举报

6992

帖子

11

TA的资源

版主

沙发
 
大佬找这跳线花了多少时间呀,我是找了半天才发现这跳线太多了。
 
 
 

回复

5264

帖子

239

TA的资源

管理员

板凳
 

好像好久不见keil开发了,嘿嘿

 

恭喜初步搞定啦,撒花,期待后续

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表