QUICK START / CODE ACQUISITION
代码获取
IMDE(Ingenic MCU Develop Environment)SDK 即将登陆 GitHub,为开发者提供更直接的源码获取、版本查看和后续更新入口。
即将上线:GitHub 仓库地址、源码获取方式和版本下载入口将在正式开放后发布,请关注后续更新。
代码结构说明

图:IMDE SDK 根目录结构
以下目录以工作区中的 proj/ 为根目录。IMDE SDK 的主要文件和目录如下:
|—— app --> 应用层,包含示例应用与独立 defconfig | |—— config --> 应用配置,按芯片系列组织 | |—— uvc_app --> GC0308 + IMVF + UVC 应用示例 | |—— CMakeLists.txt --> 应用层构建入口 | |—— imde-extension.json --> IMDE 应用扩展描述 | |—— Kconfig --> 应用层配置入口 |—— cmake --> CMake 工具链、构建脚本与公共构建逻辑 |—— code --> SDK 源码目录 | |—— bsp --> 板级支持包(BSP)与 pinmux 适配 | |—— common --> 通用组件(缓存、日志、错误码等) | |—— devices --> 设备初始化与器件适配 | |—— drivers --> HAL / LL 寄存器驱动 | |—— examples --> 接口与系统示例(driver / hal / ll / freertos / v0) | |—— include --> 对外头文件,按分层组织 | |—— lib --> 基础库(fillcpy、ramdisk、ring_buffer、ring_mem 等) | |—— middleware --> 中间件(音频、摄像头、文件系统等) | |—— os --> 操作系统适配(baremetal / freertos / posix) | |—— soc --> SoC 启动、链接脚本与系统代码 | |—— third_party --> 第三方开源组件(FreeRTOS、lwIP、FatFS 等) | |—— CMakeLists.txt --> code 目录构建入口 | |—— Kconfig --> code 目录配置项 |—— components --> 可选组件,通过 imde-extension.json 接入构建 | |—— algorithm --> TNPU 算法与模型组件 | |—— imvf --> 可复用视频流运行时与示例 | |—— jpeg_info --> JPEG 信息写入、图片存储组件与示例 | |—— CMakeLists.txt --> 组件聚合构建入口 | |—— imde-extension.json --> IMDE 组件扩展描述 | |—— Kconfig --> 组件配置入口 |—— config --> defconfig 配置目录 | |—— g32s10 --> G32S10 系列芯片与开发板配置 |—— docs --> SDK 内置文档 | |—— api --> API 文档源文件 | |—— porting --> 移植说明与工具手册(含 IMDE CLI) |—— main --> 启动代码与默认应用入口 | |—— core_v0 --> V0 核启动与运行代码 | |—— core_v1 --> V1 核启动与主要应用入口 | |—— CMakeLists.txt --> 启动与应用入口构建定义 |—— tools --> 构建工具目录 | |—— imde --> IMDE 命令行工具 | |—— secure_image --> 安全镜像配置与签名工具 |—— CMakeLists.txt --> 顶层构建入口 |—— Kconfig --> menuconfig 配置入口 |—— CMakePresets.json --> CMake configure / build preset 定义 |—— imde.json --> IMDE 工程描述(构建、配置、产物、工具链与扩展)
三方代码目录
第三方开源组件统一放在 code/third_party/ 目录下,随 SDK 一起获取,不需要单独下载;某个组件是否参与编译,由该目录下的 Kconfig 控制。
code/third_party/ |—— freertos --> FreeRTOS 内核 |—— lwip --> lwIP 网络协议栈 |—— fatfs --> FatFS 文件系统 |—— yaffs --> YAFFS 文件系统 |—— opus --> Opus 音频编解码 |—— libmad --> MP3 解码库 |—— libsamplerate --> 音频重采样库 |—— af_resample --> 音频重采样组件 |—— notch_filter --> 陷波滤波组件 |—— cjson --> JSON 解析库 |—— jpeg-turbo --> JPEG 软件编解码库 |—— newlib --> Newlib C 运行库 |—— tinyh264 --> 轻量级 H.264 解码库 |—— Kconfig --> 三方组件开关 |—— CMakeLists.txt --> 三方组件构建入口
输出目录
执行配置和编译后,SDK 根目录会生成 build/ 作为构建输出目录,固件与调试文件集中在 build/artifacts/。该目录可以整体删除,或执行 imde fullclean -y 清理后重新编译。
build/ |—— artifacts --> 固件与调试文件输出目录 | |—— g32s10_v1.bin --> 可直接烧录的固件镜像 | |—— g32s10_v1.elf --> 带符号信息的 ELF,用于调试定位 | |—— ... --> 其余产物见“固件编译”一节 |—— generated --> 构建时生成的配置与堆栈符号 |—— libimde_*.a --> 各模块编译出的静态库 |—— CMakeCache.txt --> CMake 配置缓存 |—— build.ninja --> Ninja 构建脚本 |—— compile_commands.json --> 编译数据库,供 IDE 跳转与补全