本帖最后由 yinwuqing110 于 2024-12-22 23:03 编辑
一、简介
上周就已经收到了G32A1465汽车通用MCU评估板了,包装的纸盒很漂亮哦,这是极海半导体推出的2024年新品,官宣性能非常不错。周末闲暇,今天来分享一下开箱与环境搭建。板子尺寸标准,MCU的IO口基本上都以排针的形式引出。板子支持12V的DC圆头适配器供电,也可以用mini USB接口的数据线供电,不过这类接口的数据线不太流行了,如果能换成microUSB或者Type-C显得更亲民一点。
二、开箱
拆封,来看看开发板的正面与背面,板子丝印清晰,PCB走线也是很有观赏性的。背面没布局小的电子元器件,整块板子显得很干净。
三、产品特性
G32A1465产品简介官方有提供详细的文档介绍。简单展示如下图所示:
综上总结来看,G32A1465的模块框图如下:
四、环境搭建
极海半导体官网提供了关于该开发板的SDK包申请链接:https://www.wjx.top/vm/riMVg7f.aspx,审核通过后获得的“G32A1xxx_SDK_V1.1”资料包中有提供MDK,IAR的工程示例,笔者习惯采用MDK开发,因此就搭建MDK来谈谈。
将SDK包解压出来,安装板卡基于MDK的pack支持包,转到“G32A1xxx_SDK_V1.1\Package”目录下,傻瓜式安装“Geehy.G32A1xxx_DFP.1.0.1.pack”。
Geehy.G32A1xxx_DFP.1.0.1.zip
(1.05 MB)
MDK版本:V5.38.0.0,采用arm compiler version 6编译器,打开SDK中点灯例程,这里实现简单闪灯功能。
#include "user_config.h"
#include "g32a1xxx_pins.h"
#include "board.h"
#include <stdio.h>
#include "osif.h"
#define LED_GPIO GPIOD
#define BLUE_LED_PIN (0U)
#define RED_LED_PIN (15U)
#define GREEN_LED_PIN (16U)
#define WHITE_LED_PIN (~0x00018001) /* NOTE:For testing reference only! */
/**@} end of group PINS_Led_Macros*/
/*!
* [url=home.php?mod=space&uid=247401]@brief[/url] Pins module initialization LED light
*/
void PINS_Led_Init()
{
/* Enable Clock to Port D */
CLOCK_SYS_ConfigModuleClock(PMD_CLK, NULL);
/* 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);
}
/*!
* [url=home.php?mod=space&uid=247401]@brief[/url] Main function
*/
int main(void)
{
/* Initialize clock */
CLOCK_SYS_Init(&g_clockConfig);
/* led init */
PINS_Led_Init();
/* uart init */
COM_Init();
/* Turn on all LEDs */
PINS_WritePins(LED_GPIO,WHITE_LED_PIN);
while (1)
{
PINS_ClrPins(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);
OSIF_TimeDelay(100);
PINS_SetPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
PINS_ClrPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
PINS_SetPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
OSIF_TimeDelay(100);
PINS_SetPins(LED_RED_GPIO_BASE, 1U << LED_RED_PIN);
PINS_SetPins(LED_GREEN_GPIO_BASE, 1U << LED_GREEN_PIN);
PINS_ClrPins(LED_BLUE_GPIO_BASE, 1U << LED_BLUE_PIN);
OSIF_TimeDelay(100);
}
}
五、闪灯效果
验证上方点灯程序,现象如下:
|