无垠的广袤 发表于 2025-7-30 15:23

【APM32F402R Micro-EVB 测评】介绍、环境搭建、工程测试

# 【APM32F402R Micro-EVB 测评】介绍、环境搭建、工程测试

本文介绍了极海 APM32F402R Micro-EVB 开发板的相关信息,包括主控、开发板、资源参数、功能特点等,介绍了开发环境搭建方案,并结合官方 Demo 例程,演示了闪灯和串口通信工程测试方案和效果。

## 介绍

APM32F402R Micro-EVB 开发板是极海 APM32F402 系列高性能高性价比 MCU 的最小系统演示板和开发平台,

搭载 APM32F402RBT6 主控芯片。该芯片基于 Arm® Cortex®-M4F 内核、工作主频 120MHz、Flash 128KB。

开发板由 Geehy-LINK 和 APM32F402 最小系统板两部分组成。

开发板支持板载 Geehy-LINK 或第三方工具进行调试,并预留 GPIO、SWD、USART、Type-C 等板载资源,便于快速实现仿真和调试。

### 包装

- 采用硬盒外包装,使用醒目封口贴,提醒开发者注意安全,非常贴心;
- 开发板置于防静电袋,确保运输安全;
- 内置开发板说明书,详细介绍了板载资源和调试使用方法;

!(data/attachment/forum/202507/30/151940agq6f5zqdttdidds.jpg "package_view.jpg")


### 外观

- PCB 采用黑色沉金工艺,丝印清晰,器件布局合理,走线规范整洁;
- 开发板包括 Geehy-LINK 调试器和主控板两部分,中间使用挖孔方式隔开,可掰开使用;
- 开发板预留 GPIO 引脚,可根据需求进行焊接和扩展,便于 DIY 设计;
- Geehy-LINK 采用高性能 APM32F103CBT6 主控,确保工程调试和串口通信的流畅使用;

!(data/attachment/forum/202507/30/151953i1xvsci60s7o7jiu.jpg "board_view.jpg")


### 主控

主控型号为 APM32F402RBT6 ,基于 Arm® Cortex®-M4F 内核、工作主频 120MHz、Flash 128KB。

!(data/attachment/forum/202507/30/152007htcnvx97d9pz6dkt.jpg "mcu.jpg")


下面介绍 APM32F402xB 系列产品的系统架构、产品特性等。

#### 系统框图

!(data/attachment/forum/202507/30/152020lqnkti7q1j2hoxnz.jpg "system_block.jpg")


#### 产品特性

- 内核

- 32 位 Arm® Cortex®-M4F 内核
- 最高 120MHz 工作频率
- 存储

- Flash 容量 128KB
- SRAM 容量 32KB
- 时钟

- HSECLK:支持 4-16MHz 外部晶体/陶瓷振荡器
- LSECLK:支持 32.768kHz 晶体/陶瓷振荡器
- HSICLK:出厂校准的 8MHz RC 振荡器
- LSICLK:支持 40kHz RC 振荡器
- PLL:锁相环,支持 2-16 倍频
- 电源与电源管理

- VDD 范围:2.0-3.6V
- VDDA 范围:2.0-3.6V
- 备份域电源 VBAT 范围:1.8-3.6V
- 支持上电/掉电复位(POR/PDR)
- 支持可编程电源电压检测器(PVD)
- 低功耗模式

- 支持睡眠、停机、待机三种模式
- DMA

- 两个 DMA,DMA1 有 7 个通道,DMA2 有 5 个通道
- 调试接口

- JTAG
- SWD
- I/O

- 最多有 51 个 I/O
- 所有 I/O 都可以映射到外部中断向量
- 通信外设

- 1 个 I2C 接 口 ( 1Mbit/s ), 支 持 SMBus/PMBus
- 3 个 USART, 1 个 UART ,支 持 ISO7816、LIN 和 IrDA 等功能
- 2 个 SPI(1 个可复用 I2S),最大传输速度 18Mbps
- 2 个 CAN,通信波特率最大为 1Mbit/s
- 1 个 USB OTG-FS
- 模拟外设

- 2 个 12 位的 ADC
- 定时器

- 2 个可以提供 7 通道 PWM 输出的 16位高级定时器 TMR1/8,支持死区生成和刹车输入等功能
- 1 个 32 位通用定时器 TMR2,3 个 16
- 位通用定时器 TMR3/4/5,每个定时器
- 有 4 个独立通道可以用来输入捕获、
- 输出比较、PWM 与脉冲计数等功能
- 2 个看门狗定时器:一个独立看门狗
- IWDT 和一个窗口看门狗 WWDT
- 1 个 24 位自减型系统定时器 Sys Tick Timer
- RTC

- 支持日历功能
- 84 Bytes 备份寄存器
- CRC 计算单元
- 96 位唯一设备 ID
- 芯片封装

- QFN36/QFN48/LQFP48/LQFP64

详见数据手册。

### 开发板

APM32F402R Micro-EVB 开发板,以 APM32F402RBT6 为主控,板载 Geehy-LINK 调试器;

开发工具支持 Keil:MDK-Arm、IAR Embedded Workbench、Visual Studio Code、Eclipse;

实时系统:FreeRTOS、RTX 。

#### 性能特点

- 32 位 Arm® Cortex® -M4F 内核
- 最高工作频率:120MHz
- Flash 存储器:128KB
- SRAM 存储器:32KB

#### 板载资源

- SWD : 1
- LED:2
- KEY:1
- RESET KEY:1
- GPIO :47
- USB(Type-C): 1
- Geehy LINK(Type-C): 1

#### 原理图

!(data/attachment/forum/202507/30/152037vmmd4wg3773p3ozs.jpg "SCH_MCU.jpg")

!(data/attachment/forum/202507/30/152052zvyd5q7mqmvteymd.jpg "SCH_Pins.jpg")


#### 功能分布

!(data/attachment/forum/202507/30/152108jigiyzghh444sh14.jpg "Pins_out.jpg")


## 环境搭建

- 下载并安装 Keil ARM MDK 软件;
- 下载并安装 `Geehy.APM32F4xx_DFP.1.0.8.pack` 设备支持包;
- 下载 APM32F402R Micro-EVB 开发板官方 SDK 开发套件;

详见:APM32F402R Micro-EVB .

## 工程测试

介绍了使用板载 Geehy-Link 调试器实现板载 LED 闪烁和串口通信的工程测试流程。

### 闪灯

包括硬件连接、程序流程图、关键代码、测试效果演示。

#### 硬件连接

- 使用 Type-C 数据线连接开发板的 LINK USB 接口和电脑;
- 打开 `设备管理器`,查看对应的串口设备和 WinUSB 设备;

!(data/attachment/forum/202507/30/152123y0z5voevvfev5ozq.jpg "device_winusb.jpg")


#### 流程图

!(data/attachment/forum/202507/30/152139yj458zce3j85jewk.jpg "flowchart_blink.jpg")


#### 代码

- 打开示例工程 `APM32F402_403_SDK_V1.0.2\Examples\Board_APM32F402_Tiny\GPIO\GPIO_Toggle\Project\MDK\GPIO_Toggle.uvprojx` ;
- 打开 `...\APM32F402\Application\main.c` 文件,修改延时函数;

```c++
#include "main.h"

void Delay(uint32_t scale);

int main(void)
{
    BOARD_LED_Config(LED2);
    BOARD_LED_Config(LED3);

    while (1)
    {
      Delay();
      BOARD_LED_Toggle(LED2);
      BOARD_LED_Toggle(LED3);
    }
}

void Delay(uint32_t scale)
{
    volatile uint32_t delay = 0xfffff * scale;

    while(delay--);
}
```

- 保存并重编译代码,确保 0 错误, 0 警告。

!(data/attachment/forum/202507/30/152156lzkezjygp0gtillg.jpg "build_output.jpg")


#### 固件上传

- 工程编译完成后,点击魔术棒,进入调试器配置标签页,选择 `CMSIS-DAP Debugger` 作为调试器;
- 点击 `Setting` 按钮,进入 DAP 调试界面,检查是否识别到设备号;

!(data/attachment/forum/202507/30/152213nm67sp7qsqpt7v2f.jpg "debug-setting.jpg")


- 短按开发板 RESET 键,复位并运行程序,可见板载 LED 闪烁。

#### 效果

!(data/attachment/forum/202507/30/152227djyzo8mtj8jfro22.gif "blink.gif")


### 串口通信

包括硬件连接、程序流程图、关键代码、测试效果演示。

#### 硬件连接

使用 Type-C 数据线连接开发板的 LINK USB 接口和电脑;

#### 流程图

!(data/attachment/forum/202507/30/152243oivrkprrkr8ixrci.jpg "flowchart_uart.jpg")


#### 代码

- 打开示例工程 `APM32F402_403_SDK_V1.0.2\Examples\Board_APM32F402_Tiny\USART\USART_Printf\Project\MDK\USART_Printf.uvprojx` ;
- 打开 `...\APM32F402\Application\main.c` 文件,获取主函数;

> 通过 LED2 指示串口发送状态——每次发送完成后,翻转LED电平;

```c++
#include "main.h"

volatile uint32_t tick = 0;
uint8_t txBuf[] = "Hello USART1 \r\n";

int main(void)
{
    uint8_t i;
    USART_Config_T USART_ConfigStruct;

    BOARD_LED_Config(LED2);
    BOARD_LED_Config(LED3);

    USART_ConfigStruct.baudRate = 115200;
    USART_ConfigStruct.hardwareFlow = USART_HARDWARE_FLOW_NONE;
    USART_ConfigStruct.mode = USART_MODE_TX;
    USART_ConfigStruct.parity = USART_PARITY_NONE;
    USART_ConfigStruct.stopBits = USART_STOP_BIT_1;
    USART_ConfigStruct.wordLength = USART_WORD_LEN_8B;
    BOARD_COM_Config(COM1, &USART_ConfigStruct);

    SystemCoreClockUpdate();
    SysTick_Config(SystemCoreClock / 1000);
    while (1)
    {
      Delay();
      for(i = 0; i < sizeof(txBuf); i++)
      {
            while(USART_ReadStatusFlag(USART1, USART_FLAG_TXBE) == RESET);
            USART_TxData(USART1, txBuf);
      }
      BOARD_LED_Toggle(LED2);
    }
}

void Delay(void)
{
    tick = 0;

    while(tick < 500);
}
```

- 保存并编译代码,上传代码至芯片;
- 短按 RESET 键,复位并运行程序,可见板载 LED 闪烁。

#### 效果

- 打开串口调试助手软件,配置串口参数,包括端口号、波特率等;
- 打开串口,接收芯片发送的字符串信息,同时板载 LED2 闪烁,间隔 500 毫秒;

!(data/attachment/forum/202507/30/152302xq6rotqgbtw0rbwq.gif "uart_printf.gif")


## 总结

本文介绍了极海 APM32F402R Micro-EVB 开发板的相关信息,包括主控、开发板、资源参数、功能特点等,介绍了开发环境搭建方案,并结合官方 Demo 例程,演示了闪灯和串口通信工程测试方案和效果,为后续的开发和测试做好铺垫,也为相关产品的开发和应用提供了参考。

页: [1]
查看完整版本: 【APM32F402R Micro-EVB 测评】介绍、环境搭建、工程测试