GD32F20x系列使用问题总结
GD单片机近几年越来越火了,既有他自身相比与ST的价格优势,也有支持国货的信仰加成。然而一个新的东西,或者说一个相对较新的东西,在使用的友好性和资料的完整性方面还有很长的路要走。
现将个人使用过程中碰到过的问题总结一下
1、jlink烧录和调试问题
这个问题非常坑!以致于后面在错误的道路上浪费了大量的时间,后面会详细说明这个问题。起因是用jlink烧录F20x的时候发现偶尔烧不进去,而在其他ST芯片甚至GD32F10X系列都完全正常。在尝试过换jlink驱动版本、修改烧录速率各种方法都没有解决问题后,叫来了GD的技术支持,一番折腾最终也只是将烧录速率定在了较稳定的200Khz,期间对方提出是不是烧录线太长了,我一看烧录线只有不到20cm,直觉应该没问题(后面证实就是这个问题!),就没放在心上。
折腾完后感觉200khz的话,慢点就慢点吧,虽然有时还烧录失败,将就着也能用用,后面坑爹的就来了。调试外部PHY的过程中发现读PHY状态寄存器的值不稳定,有时正常有时不正常,第一反应就是复位有问题,于是各种查问题,排查复位电路,加软件复位,加延时。。。此处省略1W字,最终!还是没解决。
直到某一天,突然心血来潮把烧录线剪掉了一半,然后试了下发现正常了!把烧录速率改回去也能正常烧录,问题解决。
2、版本库的问题
1.0的库没有USB!1.0的库没有USB!请用最新的2.0的库!
2.0的库跟1.0的库完全不一样!2.0的库跟1.0的库完全不一样!打个比方在V1.0里叫USART1的到V2.0就变成了USART0,TM1则变成了TM0,你一个不注意就中招了!而且官网居然找不到对应最新V2.0的datasheet,这点做的真的差。
3、提供的demo有一些BUG
举个栗子,在设置定时器的PWM输出时,有一个结构体
但是在初始化的时候却漏了两个参数导致无PWM输出,这让我想起之前在F10X用USB的时候出现的一个问题,当时出现了USB枚举挑机器的问题,也就是有的机器工作正常有的不正常,反馈给原厂后最终他们查明是USB的库初始化的时候漏了一句初始化。
GD32F20x系列使用问题总结的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
随机推荐
- 简单转java-web项目
- PHPmyadmin拿shell总结
PHPmyadmin修改用户密码 直接点击上面的localhost或者1270.0.1,出现用户一栏,点击修改即可 添加超级用户guetsec密码ooxx并且允许外连 GRANT ALL PRIVIL ...
- angularJs的作用域和依赖注入
一.angularJs的作用域 &scope这是局部作用域,先在局部作用域中找,如果没有就在全局作用域中找 &rootScope这是全局作用域 <!DOCTYPE HTML&g ...
- PyTorch Softmax
PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. Th ...
- PAT——1068. 万绿丛中一点红
对于计算机而言,颜色不过是像素点对应的一个24位的数值.现给定一幅分辨率为MxN的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围8个相邻像素的颜色差充分大. 输入 ...
- python -- MySQLdb连接mysql数据库
1. python安装mysql $ pip install mysql-python 2. 数据库连接程序: import MySQLdb # 打开数据库连接db = MySQLdb.connect ...
- 学习一份百度的JavaScript编码规范
JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 2.4 注释 2.4.1 单行注 ...
- datatable的excel导入,其中有关于datatables的很多参数设置
datatable的excel导入,其中有关于datatables的很多参数设置 http://www.cnblogs.com/liyuhuan/p/5633095.html
- Segmentation fault (core dumped) 错误的一种解决场景
错误类型 Segmentation fault (core dumped) 产生原因 Segmentation fault 段错误. Core Dump 核心转储(是操作系统在进程收到某些信号而终止运 ...
- lwip 2.0.3 DNS 域名解析 使用
1. 在 lwipopts.h 中 #define LWIP_DNS 1 /* 使能 DNS 服务器的功能 ,2018年1月8日21:16:20,suozhang */ #define LWIP_ ...