# Embedded-GS32-RISC-V DSP **Repository Path**: xcet/gs32 ## Basic Information - **Project Name**: Embedded-GS32-RISC-V DSP - **Description**: Embedded-GS32-RISC-V DSP 格见半导体 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-08 - **Last Updated**: 2026-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GS32 DSPWARE SDK ## 项目简介 GS32 DSPWARE 是一款针对 **GS32 系列 RISC-V DSP 微控制器**的官方软件开发套件(SDK)。该 SDK 提供完整的底层驱动库、DSP 数学库、多操作系统(RTOS)支持以及丰富的应用示例,帮助开发者快速进行嵌入式 DSP 应用的开发与评估。 GS32 系列芯片基于高性能的 RISC-V 32位内核,集成了丰富的模拟和数字外设(如高速 ADC、ePWM、CAN、SDFM 等),适用于电机控制、数字电源、变频器、工业自动化等应用场景。 ## 目录结构 本仓库主要包含以下三个部分: ### 1. `gs32_sdk` (核心软件开发包) 包含编译和运行 GS32 应用所需的基础代码,是开发的核心。 * **`driverlib/`**: * **驱动库**: 提供对片上外设(如 ADC、ePWM、CAN、I2C、SPI、DMA、GPIO、eCAP、EQEP 等)的底层操作接口。 * **`dsp/`**: 包含 **NMSIS** (Nuclei Microcontroller Software Interface Standard) 核心库文件,用于 DSP 运算加速。同时提供了针对不同 GS32 芯片型号的链接脚本(`ld_scripts_dsp`)。 * **`common/`**: 通用工具库,包括日志打印(log)、格式化输出(printf)等。 * **`init/`**: 启动代码(Startup)、系统初始化配置(时钟、Flash、看门狗等)以及内存全局变量定义。 * **`RTOS/`**: * 集成了多种主流实时操作系统内核源码,包括 **FreeRTOS**, **RT-Thread**, **CMSIS-RTOS V2** (基于 FreeRTOS) 以及 **uC/OS2**。 * 提供了针对 RISC-V 架构的移植文件(Port),支持多任务调度。 * **`mathlib/`**: * **IQMath 库**: 提供定点数学运算功能,适用于对运算性能有高要求的 DSP 应用。 ### 2. `gs32_examples` (应用示例) 提供了针对各个外设和功能模块的详细演示代码。这些示例展示了如何初始化外设、处理中断以及实现特定的应用功能,是学习 SDK 的最佳途径。 * `adc/`: ADC 采样相关示例(单次转换、持续转换、DMA 传输、PPB 后处理等)。 * `epwm/`: 增强型 PWM 模块示例(波形生成、触发、刹车保护、Sync 同步等)。 * `can/`: CAN / CANFD 通信示例(回环测试、数据传输、DMA 传输)。 * `dsp_instr/`: DSP 指令性能测试。 * `fft/`: 快速傅里叶变换(FFT)应用示例(含 DMA 传输)。 * 其他:如 `clb`, `ecap`, `eqep`, `i2c`, `spi`, `uart`, `dma` 等,几乎涵盖了所有片上外设。 ### 3. `gs32_hdk` (硬件开发包) 包含针对不同评估板(Xplorer 系列)的项目模板和硬件配置信息。 ## 主要特性 * **架构支持**: 专为 RISC-V RV32 架构优化,支持 RV32IMAC 或更高指令集扩展。 * **DSP 加速**: 完整的 NMSIS_DSP 和 NMSIS_NN 支持。 * **全面的驱动**: 工业级标准驱动库,覆盖电机控制所需的全套外设。 * **多 RTOS 兼容**: 开发者可根据项目需求自由选择 FreeRTOS、RT-Thread 或 uC/OS 进行开发。 * **开箱即用**: 提供了大量的示例工程,可直接编译运行。 ## 支持的芯片型号 (部分) SDK 中包含了针对以下芯片系列的库文件和预配置: * **主流系列**: GS32F0039, GS32F0025, GS32F0049, GS32F035 * **高性能系列**: GS32F37x, GS32F38x, GS32F379 * **电机控制系列**: GS32FMT5000, GS32FMT5800, GS32FP65, GS32FP55 * **入门级**: GS32F00137, GS32F00157 ## 快速开始 1. **环境准备**: 确保已安装支持 RISC-V 的编译工具链(如 GCC Embedded)、Keil MDK-ARM (需安装 GS32 器件-pack) 或 IAR EWARM。 2. **选取示例**: 在 `gs32_examples` 目录下找到对应的应用文件夹。 3. **编译运行**: 使用 IDE 打开项目工程(如 `.cproject` 或 `*.uvprojx`),编译后通过调试器下载到目标硬件中。 4. **查看结果**: 通过串口打印(UART)或调试器观察运行现象。 ## 技术支持 如果您在使用过程中遇到问题或有任何建议,欢迎在 Gitee 的 Issues 页面提出。 ## 许可证 本仓库代码遵循相应的开源许可证协议。详细的许可证信息请查阅源码文件头部的版权声明或各模块(如 `gs32_sdk/RTOS/uC-OS2/LICENSE`)下的 LICENSE 文件。