GD32因测试而相识。GD32E503V-EVAL开发板,核心芯片GD32E503VET6(以下简称GD32E5)。GD32E5属于国内开发的芯片,架构比较新,平台高,毕竟站在前人肩膀上,性能会有所提升。测试进行了一个多月,总结如下。
- 内核
GD32E503VET6主频最大108M。
主频大意味着单片机代码运行的速度会更快。项目开发,如:LCD刷屏,数字运算,电机控制等操作,GD32E5是一个不错的选择。
- 供电与功耗
内核电压:GD32E5内核电压是1.2V。GD32E5的芯片在运行的时候运行功耗低。
- Flash
GD32E5的Flash是自主研发的,GD Flash执行速度:GD32E5Flash中程序执行为0等待周期。
- 接口测试
GD32E503V-EVAL开发板接口如下表所示:
Tab 2 GD32E503V-EVAL开发板用户信号列表
编号
|
信号名称
|
描述
|
接口位置
|
备注
|
1
|
ADC012_IN1(PA1)
|
AD, 0-3.3V,滑动变阻器调节
|
|
|
2
|
ADC012_IN2(PA2)
|
AD,Pin2
|
JP4
|
Pin1与JP7,pin1直连
|
3
|
DAC_OUT0(PA4)
|
DA,pin1
|
JP7
|
Pin3.GND
|
4
|
DAC_OUT1(PA5)
|
DA,pin2
|
JP7
|
Pin3.GND
|
5
|
LED1(PC0)
|
LED1,0603
|
|
|
6
|
LED2(PC2)
|
LED2,0603
|
|
|
7
|
LED3(PE0)
|
LED3,0603
|
|
|
8
|
LED4(PE1)
|
LED4,0603
|
|
|
9
|
扩展
|
外部扩展接口JP8
|
JP8
|
|
10
|
扩展
|
外部扩展接口JP9
|
JP9
|
|
11
|
扩展
|
外部扩展接口JP10
|
JP10
|
|
12
|
扩展
|
外部扩展接口JP11
|
JP11
|
|
13
|
KEY A(PA0)
|
按键,K1-1506SN-01,pin 1(A),上拉3.3V
|
K2
|
Pin4(COM), GND
|
14
|
KEY B(PC13)
|
按键,K1-1506SN-01,pin 2(B),上拉3.3V
|
K2
|
Pin4(COM), GND
|
15
|
KEY C(PB14)
|
按键,K1-1506SN-01,pin 3(C),上拉3.3V
|
K2
|
Pin4(COM), GND
|
16
|
KEY D(PC5)
|
按键,K1-1506SN-01,pin 5(D),上拉3.3V
|
K2
|
Pin4(COM), GND
|
17
|
KEY Cet(PC4)
|
按键,K1-1506SN-01,pin 6(Cet),上拉3.3V
|
K2
|
Pin4(COM), GND
|
18
|
GD-Link
|
片上集成资源GD-Link
|
CN100
|
|
19
|
I2C0_SCL(PB6)
|
SCL, pin6, I2C, AT24C02C-SSHM-T(U4)
|
|
|
20
|
I2C0_SCA(PB7)
|
SCA, pin5, I2C, AT24C02C-SSHM-T(U4)
|
|
|
21
|
I2S_SD(PB15)
|
SDIN,pin1, I2S, CS4344(U10)
|
J3
|
HeadPhone
|
22
|
I2S_CK(PB13)
|
SCLK,pin2, I2S, CS4344(U10)
|
J3
|
HeadPhone
|
23
|
I2S_WS(PB12)
|
LRCK,pin3, I2S, CS4344(U10)
|
J3
|
HeadPhone
|
24
|
I2S_MCK(PC6)
|
MCLK,pin4, I2S, CS4344(U10)
|
J3
|
HeadPhone
|
25
|
JTAG
|
|
JP1
|
|
26
|
BOOT0
|
BOOT0, pin94, GD32E503VET6(U1)
|
JP2,pin2
|
Pin3 GND, pin3 与pin2直连
|
27
|
BOOT1
|
BOOT1, pin37(PB2), GD32E503VET6(U1)
|
JP3,pin2
|
Pin3 GND, pin3 与pin2直连
|
28
|
NRST
|
复位按键,K-1102B,上拉3.3V,默认为高,复位时为低电平, pin14, GD32E503VET6(U1)
|
K1
|
|
29
|
VBAT
|
芯片供电,板载电子还是电源芯片供电
|
JP0
|
|
30
|
TFCAD
|
SDIO
|
JP21
|
|
31
|
SPI
|
GD25Q16(U5)
|
JP12
|
Short JP12(1,2) for DAC; Short JP12(3,2) for SPI0;
|
32
|
USART0 To USB
|
CH340E(U3)
|
J1
|
|
33
|
|
|
CN2
|
|
接口测试从LED点灯控制到USB控制接口,基本采用厂家例程进行调试与测试。厂家的资源很多,例程很完善。测序项目如下:
GPIO测试了轮询模式、中断模式等
串口测试了中断模式、DMA模式收发等
ADC测试了基本采样,以及跟随模式、规格并行模式、差分通道模式等
DAC输出,I2C通讯主机发送/接收模式,SPI FLAH,I2S音频播放,LCD触摸屏,SD卡测试,RCU时钟输出、CTC校准,USB通讯,等等。
测试过程中未发现功能性问题。
在串口通讯过程中,发现串口APP软件有些不能连接,不知道是例程程序,还是操作系统与APP兼容性问题。最后采用与WIN10兼容版本没啥问题。这里需要注意的是:GD在连续发送数据的时候每两个字节之间会有一个Bit的Idle,GD的串口在发送的时候停止位只有1/2两种停止位模式。
- 性能测试
如何综合考虑GD32E503各方面性能?在嵌入式处理器领域,常见测试CPU性能方法有:Dhrystone 和 CoreMark。Dhrystone方法陈旧,且 一直没有更新,我也没有没有移植成功,因此测试借助于CoreMark测试方法。
- IDE支持
所有例程提供了Keil 和IAR 两个版本
- 案例开发
案例开发我做了两个内容
(1)FreeRTOS移植
前面已经移植了FreeRTOS V202012.00,新版本增加部分功能。未来考虑在GD32E503V-EVAL开发板上综合测试FreeRTOS系统各个应用。从测试角度,我准备重新选择FreeRTOS版本,利用熟悉的版本进行测试。
GD芯片在FreeRTOS官方网址有例程与技术指导,开发程度比较高。
(2) 贪吃蛇应用
由于GD32E503V-EVAL开发板集成LCD触摸屏,直接利用现有条件进行开发,算是一个小小作品。
GD32E503V-EVAL开发板,核心芯片GD32E503VET6(以下简称GD32E5),是Armv8-M架构的Cortex-M33处理器。Cortex-M33是ARM公司2016年十月发布的,所以这个架构比较新。Cortex-M33有如下特点:
- Cortex-M3/M4 + 性能提升
- 专门的栈溢出硬件检测
- 指令集不可忽略的小动作
- 安全扩展(TrustZone for Armv8-M)
- MPU开发者模型的友好化改进
未来需要对以上特点进一步测试,进一步熟悉该应用架构,争取应用到产品中去。
|