# DMG474 **Repository Path**: TJ_6604/dmg474 ## Basic Information - **Project Name**: DMG474 - **Description**: 基于正点原子电机开发板的程序代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-29 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dmg474 ## 项目简介 dmg474 是一个基于 STM32G474xx 微控制器的嵌入式固件项目。该项目使用 STM32CubeMX 工具生成配置,并采用 CMake 进行构建管理。项目包含基本的 GPIO 控制功能,可用于快速上手 STM32G4 系列微控制器的开发。 ## 硬件要求 - STM32G474xx 开发板 - USB 转 TTL 串口模块(用于调试输出) ## 软件环境 - ARM GCC 工具链 (gcc-arm-none-eabi) - CMake 3.16+ - STM32CubeMX ## 项目结构 ``` ├── CMakeLists.txt # CMake 主配置文件 ├── dmg474.ioc # STM32CubeMX 配置文件 ├── Core/ # 用户应用代码 │ ├── Inc/ # 头文件目录 │ │ ├── gpio.h # GPIO 驱动头文件 │ │ ├── main.h # 主头文件 │ │ ├── stm32g4xx_hal_conf.h # HAL 库配置 │ │ └── stm32g4xx_it.h # 中断处理头文件 │ └── Src/ # 源文件目录 │ ├── gpio.c # GPIO 驱动实现 │ ├── main.c # 主程序入口 │ ├── stm32g4xx_hal_msp.c # MSP 初始化 │ ├── stm32g4xx_it.c # 中断处理 │ ├── syscalls.c # 系统调用实现 │ ├── sysmem.c # 内存管理 │ └── system_stm32g4xx.c # 系统初始化 ├── Drivers/ # 驱动库 │ ├── CMSIS/ # ARM CMSIS 核心库 │ └── STM32G4xx_HAL_Driver/ # STM32G4 HAL 驱动 ├── cmake/ # CMake 工具链配置 │ └── gcc-arm-none-eabi.cmake └── STM32G474XX_FLASH.ld # 链接脚本 ``` ## 编译方法 ### 使用 CMake 构建 1. 创建构建目录: ```bash mkdir build cd build ``` 2. 配置工具链: ```bash cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/gcc-arm-none-eabi.cmake .. ``` 3. 编译项目: ```bash make ``` ### 使用 STM32CubeIDE 1. 使用 STM32CubeIDE 打开 dmg474.ioc 文件 2. 导入项目配置 3. 点击编译按钮进行编译 ## 烧录与调试 1. 使用 ST-Link 或其他调试器连接开发板 2. 使用以下命令烧录固件: ```bash openocd -f interface/stlink.cfg -f target/stm32g4x.cfg -c "program build/dmg474.elf verify reset exit" ``` 3. 使用串口工具查看调试输出(波特率通常为 115200) ## 功能说明 - **系统时钟配置**:配置系统时钟为 170MHz - **GPIO 控制**:初始化 GPIO 引脚,支持 LED 控制等基本功能 - **调试串口**:通过 UART 输出调试信息 - **中断处理**:配置系统中断和外部中断 ## 注意事项 1. 请确保正确安装 ARM GCC 工具链,并将其添加到系统 PATH 2. 首次使用请检查串口配置和波特率设置 3. 如需修改硬件配置,请使用 STM32CubeMX 打开 dmg474.ioc 文件进行修改 ## 许可证 本项目遵循 [MIT License](LICENSE) 开源协议。