打印
[G32A]

极海G32A1465汽车通用MCU评估板测试01:开发环境搭建+点亮RGB灯.

[复制链接]
41|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 聪聪哥哥 于 2025-1-13 19:43 编辑

首先非常高兴入选,极海G32A1465开发板的测评活动,下面和大家分享一下,在开发过程中遇到的问题和经验。
我这边使用的开发环境是:KEIL5.38a 版本,调试器使用的J-link 和野火的推出的调试器。注意下低版本的keil的兼容性不是很好,会导致官方的例程编译不过去,这里建议大家使用一下,高版本的keil进行学习调试。
一:开发板开箱
产品资料介绍:G32A1465评估板是G32A1465汽车通用MCU的完整演示和开发平台,符合ISO 26262功能安全ASIL-B设计规范;集成丰富的外设功能,同时配套EVAL SDK,可帮助开发者高效评估芯片性能或相关开发应用程序。
芯片特性:
该款开发板是基于Cortex-M4F内核,官方介绍的工作主频:112MHz(稍后超频试用一下),Flash 1024KB  SRAM 128KB(可以满足大部分的工业产品的应用)
板载资源介绍:
1:支持DC12V电源;2:电位计x1(可以用来调试ADC使用)、RGB三色灯(调试GPIO口,经典的跑马灯)LEDx3、KEYx3、GPIOx108(排针已经引出,方便用户调试)
CAN收发器X1、LIN收发器x1、USB转串口(可用于与PC端通讯)
IDE开发工具:KEIL、IAR、GreenHills、GCC
我这边对keil比较熟悉,等有时间的对其他的开发工具调试一下,
实时系统:FreeRTOS(移植一下Rtos,测试一下稳定行和实时性)、RT-Thread。
实物图片如下:
为了方便用户快速开发该款开发板,官方提供了一张说明书,使用彩色的图片将该款开发的各个IO口标出,只是这张图片自己找了半天也没找到,要是官方提供这个图片就方便很多了。不过引脚的复用功能,我们可以在数据手册中查询。

官方提供了,该款开发板的一些原理图、产品介绍和使用说明书;
官方网址如下:https://www.geehy.com/design/document,我们可以下载一些自己需要的代码

二:keil环境的搭建:
我们需要极海G32A1465的软件支持包,在官方的支持包里,可以找到。

这里我们一键安装就好了,然后基本上就可以对该款开发板进行开发了。
三:经典的点灯试验
3.1:查看一下板子的连接图:如下所示:

如上图所示:为板载RGB灯的原理图,在软件编写的时候,我们只需要将所对应的GPIO引脚,拉低就可以。由于不同颜色的LED灯,给人的感觉不太一样,这里建议将限流电阻进行修改,整体的LED灯都会比较刺眼。一般我设计的时候都会在几个ma,最大的话也不会超过10ma。
KEIL中查看一下芯片的ID:

代码如下所示:
GPIO口初始化:
    /* Set pin mode */
    PINS_SetMuxModeSel(LED_RED_PORT_BASE, LED_RED_PIN, PM_MUX_AS_GPIO);
    PINS_SetMuxModeSel(LED_GREEN_PORT_BASE, LED_GREEN_PIN, PM_MUX_AS_GPIO);
    PINS_SetMuxModeSel(LED_BLUE_PORT_BASE, LED_BLUE_PIN, PM_MUX_AS_GPIO);
    /* Set pin interrupt */
    PINS_SetPinIntSel(LED_RED_PORT_BASE, LED_RED_PIN, PM_DMA_INT_DISABLED);
    PINS_SetPinIntSel(LED_GREEN_PORT_BASE, LED_GREEN_PIN, PM_DMA_INT_DISABLED);
    PINS_SetPinIntSel(LED_BLUE_PORT_BASE, LED_BLUE_PIN, PM_DMA_INT_DISABLED);
    /* GPIO Initialization */
    PINS_SetPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
    PINS_SetPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
    PINS_SetPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
    /* Set pin as output */
    PINS_SetPinDir(LED_RED_GPIO_BASE, LED_RED_PIN, 1U);
    PINS_SetPinDir(LED_GREEN_GPIO_BASE, LED_GREEN_PIN, 1U);
    PINS_SetPinDir(LED_BLUE_GPIO_BASE, LED_BLUE_PIN, 1U);
主程序代码如下:
                                PINS_ClrPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
                                OSIF_TimeDelay(500);
                                PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
                                OSIF_TimeDelay(500);

                                PINS_ClrPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
                                OSIF_TimeDelay(500);
                                PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
                                OSIF_TimeDelay(500);

                                PINS_ClrPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
                                OSIF_TimeDelay(500);
                                PINS_WritePin(LED_GPIO, BLUE_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, GREEN_LED_PIN, 1);
                                PINS_WritePin(LED_GPIO, RED_LED_PIN, 1);
                                OSIF_TimeDelay(500);
试验现象:板载的LED灯,以蓝 、红、绿的顺序,以每500MS的间隔进行LED灯闪烁。
实物测试图片如下所示:使用DAP进行调试

开发后记:
在使用keil5开发时候,需要注意下使用arm编译器版本为6.19 低版本的会有问题,导致编译报错,无法正常开发。

然后我使用的调试器是野火的DAP,DAP模式,我是用J-LINK的版本估计比较低,使用的时候会报错,如下所示:


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

115

帖子

0

粉丝