# ebraid **Repository Path**: li-shan-asked/ebraid ## Basic Information - **Project Name**: ebraid - **Description**: ebraid (Embedded Braid) 是一个嵌入式领域的软件框架,其目的是为众多的平台提供统一的框架, - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 20 - **Forks**: 2 - **Created**: 2024-07-14 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ebraid #### 介绍 ebraid (Embedded Braid) 是一个嵌入式领域的软件框架,其目的是为众多的平台提供统一的框架。框架支持操作系统和裸机,只需要配置即可在无OS和有OS之间切换,无需修改代码,持续开发中 ... #### 支持的芯片列表 ------------------------------------------------------------------------------------- |芯片 | GPIO | GPIO EXIT | IRQ | UART | SPI | I2C | I2S | |:-------------|:-------:|:---------:|:-------:|:-------:|:------:|:--------:|:-----:| |STM32F10X | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |STM32F4XX | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |STM32H7XX | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |GD32F4XX | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | |F1C100S | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |F1C200S | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | |RP2040 | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ------------------------------------------------------------------------------------- #### OS支持列表 | OS | FreeRTOS(202406.01-LTS) | RT-Thread | |:--------------|:-------------------------:|:-------------:| | STM32F10X | ✅ | ❌ | | STM32F4XX | ✅ | ❌ | | STM32H7XX | ✅ | ❌ | | GD32F4XX | ✅ | ❌ | | F1C100S | ✅ | ❌ | | F1CS00S | ✅ | ❌ | | RP2040 | ❌ | ❌ | #### 软件架构 1. kobject: 内核对象 2. 总线-设备-模型:基于Linux的总线设备模型,将其简化,重头实现了一个轻量级的统一设备模型 3. 设备树:用于描述设备信息,系统会自动注册第一层设备为统一设备模型中的设备结构体 4. VFS: 虚拟文件系统,方便支持众多的文件系统,例如FAT32、NTFS、EXT4等 5. Shell: 命令行工具,方便用户交互和调试 6. softirq: 软中断,方便用户处理中断 7. tasklet: 轻量级任务调度,方便用户使用 8. workqueue: 轻量级任务队列,方便用户使用 #### 快速使用 ##### windows/Linux模拟运行 1. 安装`gcc`工具链 (https://github.com/niXman/mingw-builds-binaries/releases/download/15.1.0-rt_v12-rev0/x86_64-15.1.0-release-posix-seh-ucrt-rt_v12-rev0.7z) 2. 安装`make`工具 3. 克隆仓库:`git clone https://gitee.com/li-shan-asked/ebraid.git` 4. 进入`source`目录 5. 执行如下命令: ```shell make x86_64_defconfig make make run ``` 执行完毕后,你将进入到shell命令行中,你可以输入`help`命令来查看帮助。 ```make start to run build/x86_64.exe [INFO]spi bus register successfully [DEBUG]PLATFORM: platform bus: no matching driver available for uart1 [DEBUG]PLATFORM: platform bus: no matching driver available for spi1 [DEBUG]PLATFORM: platform bus: no matching driver available for spi2 [DEBUG]PLATFORM: platform bus: no matching driver available for spi3 _ _ _ _ _ _ _ | | | | | | | | | | (_) | | | | | | ___| | ___ ___ _ __ ___ ___ | |_ ___ ___| |__ _ __ __ _ _ __| | | |/\| |/ _ \ |/ __/ _ \| '_ ` _ \ / _ \ | __/ _ \ / _ \ '_ \| '__/ _` | |/ _` | \ /\ / __/ | (_| (_) | | | | | | __/ | || (_) | | __/ |_) | | | (_| | | (_| | \/ \/ \___|_|\___\___/|_| |_| |_|\___| \__\___/ \___|_.__/|_| \__,_|_|\__,_| [DEBUG]GPIO: request 77 pin successfully [DEBUG]GPIO: set 77 pin direction output [DEBUG]GPIO: set 77 pin value: 1 [INFO]system start! ebraid~#ls platform spi ebraid~# ``` ##### 嵌入式开发 1. 安装`arm-none-eabi-gcc`工具链 (版本>=13.0)(https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi.zip) 2. 安装`make`工具 3. 连接好`DAPLink`调试工具 4. 克隆仓库:`git clone https://gitee.com/li-shan-asked/ebraid.git` 5. 进入`source`目录 6. 执行如下命令: ```shell make stm32f103ret6_defconfig make make flash ``` 此时会将编译好的二进制文件烧录到`STM32F103RET6`开发板中,使用`超级终端`连接开发板的串口,超级终端推荐使用`mobaxterm`,`Putty`,`Xshell`等,按开发板的复位键后,你将进入到shell命令行中: ```make [INFO]spi bus register successfully [DEBUG]PLATFORM: platform bus: no matching driver available for uart1 [DEBUG]PLATFORM: platform bus: no matching driver available for spi1 [DEBUG]PLATFORM: platform bus: no matching driver available for spi2 [DEBUG]PLATFORM: platform bus: no matching driver available for spi3 _ _ _ _ _ _ _ | | | | | | | | | | (_) | | | | | | ___| | ___ ___ _ __ ___ ___ | |_ ___ ___| |__ _ __ __ _ _ __| | | |/\| |/ _ \ |/ __/ _ \| '_ ` _ \ / _ \ | __/ _ \ / _ \ '_ \| '__/ _` | |/ _` | \ /\ / __/ | (_| (_) | | | | | | __/ | || (_) | | __/ |_) | | | (_| | | (_| | \/ \/ \___|_|\___\___/|_| |_| |_|\___| \__\___/ \___|_.__/|_| \__,_|_|\__,_| [DEBUG]GPIO: request 77 pin successfully [DEBUG]GPIO: set 77 pin direction output [DEBUG]GPIO: set 77 pin value: 1 [INFO]system start! ebraid~#ls platform spi ebraid~# ``` #### 参与贡献 1. lishanwen作者 #### 技术支持: 1. 邮箱:1477153217@qq.com 2. QQ群:806452875