omni-sdk 项目是一个利用 CMake 和 Kconfig 进行构建的嵌入式开发框架,同时提供 HAL 层驱动和各种组件驱动。可以根据不同板卡、不同模块的需求,自由选择需要的组件,构建自己的固件。并且提供 dev container 的支持,可以在 docker 容器中快速开发、编译、调试固件,免去搭建开发环境的烦恼。
Directory | Content |
---|---|
applications | Application code |
bsp | Board support packages |
docs | User guide |
examples | Example code |
omni/cmsis | CMSIS headers |
omni/components | Components |
omni/drivers | Drivers |
omni/libraries | Third-party libraries |
omni/targets | Target device HAL drivers, startup files, and linker scripts |
omni/tests | Test programs |
omni/tools | Utility tools |
现在支持的 MCU 如下,后续会继续增加支持的 MCU。
Platform | Device |
---|---|
APM32F4 | APM32F407RG |
STM32F1 | STM32F103xB, STM32F103xE |
STM32F4 | STM32F405xG, STM32F407xG, STM32F411xE |
STM32H7 | STM32H743xI, STM32H750xB |
Step 1 : 克隆仓库并初始化子模块。
git clone
cd omni-sdk
git submodule update --init --recursive
Step 2 :用 vscode 打开 omni-sdk 项目。
Step 3 : 安装 Dev Container 插件。
Step 4 : 启动 docker 容器引擎并连接到 dev container。devcontainer.json
和 Dockerfile
文件已经配置好所有开发环境。
Step 5 : 在 dev container 中构建和编译固件。
Step 6 : 安装 JLink
、DapLink
或者 ST-Link
的 ubuntu
支持,然后用 cortex-debug
插件调试固件。
Step 1 : 克隆仓库并初始化子模块。
git clone
cd omni-sdk
git submodule update --init --recursive
Step 2 : 安装和配置以下工具和环境
- CMake
- MinGW
- GNU Arm Embedded Toolchain
- OpenOCD
- Python
- kconfiglib
Step 3 : 设置OMNI_BASE
环境变量,指向 omni
项目的根目录。
linux使用以下命令设置环境变量,或运行 omni
项目根目录下的 omni-env.sh
脚本。
export OMNI_BASE=/path/to/omni-sdk
windows运行 omni
项目根目录下的 omni-env.cmd
脚本。
- omni-cmsis-freertos - CMSIS FreeRTOS for omni
- omni-cmsis-rtx - CMSIS RTX for omni
- omni-threadx - ThreadX for omni
- omni-letter-shell - Letter shell for omni
omni-sdk 是一个开源项目,遵循 协议。欢迎大家参与贡献。
该项目包含其他项目的代码,原始许可证文本包含在这些源文件中。