# 背景
在一个不小的大厂里面拧螺丝,发现很多部门都在重复造轮子。没有引入好用的开源组件,自己造的轮子也没有复用,公司内部相同的轮子都有好几种。编译体系简陋,加个文件也要改编译脚本。也没有单元测试和其他的工具。

# 目标
我觉得这可能是很多嵌入式软件开发的普遍痛点吧。

于是业余时间参考`esp32`的`idf`框架[esp-idf]( https://github.com/espressif/esp-idf),搞了个 linux 应用开发框架[RibbonBuild]( https://github.com/RibbonDFTeam/RibbonBuild)和[RibbonDF]( https://github.com/RibbonDFTeam/RibbonDF),核心思想也是组件化,前者是组件化编译最小单元,后者是基于组件化编译搭建的工程,采用`cmake`+`kconfig`作为编译配置框架。目前已支持`Linux`交叉编译环境,`RibbonDF`已引入一部分嵌入式常用的开源组件,并在树莓派环境验证。

对比了一下 github 上的其他框架,`RibbonBuild`与[c_cpp_project_framework]( https://github.com/Neutree/c_cpp_project_framework)比较相似,但采用了更`camke`原生的编译方式。并且在`RibbonDF`实现了工程化的组件搭建,以及引入`gtest`,`gcov`等工具,在工程化上更友好一点。
[cmake-kconfig]( https://github.com/jameswalmsley/cmake-kconfig)比较简单,需要进行一定程度适配。

# end
有兴趣的朋友可以试试看。**人生苦短,希望能让大家的工作轻松一点、高效一点**。
第一次搞开源,很多地方不成熟,希望和大家友好交流,共同进步。
举报· 136 次点击
登录 注册 站外分享
13 条回复  
loading 小成 2024-10-7 10:31:59
你不做个带屏幕的小玩具是火不起来的,多学学电子网红。
haikea 小成 2024-10-7 13:02:49
厉害了,点赞
electronic 小成 2024-10-7 14:52:56
支持一下,点赞
muooOOO 小成 2024-10-7 17:27:50
点赞支持,感觉大部分的嵌入式开发人员的技能树都比较杂,有这样一个工具确实不错,希望越来越好
NessajCN 小成 2024-10-7 19:54:27
确实有这样的痛点,不过我的解决方法是全迁移到 embedded rust 。cargo 把所有问题都解决了
Licsber 小成 2024-10-7 21:48:32
其实我也一直在思考 嵌入式框架到底是要做啥工作
ESP-IDF 干的 对我来说就是硬件的一层 API 抽象
开发者要做的也就是写一下 所谓的 main 逻辑
上电 -> Wi-Fi 联网 -> 外设交互 -> 序列化、服务器交互
这些我都封装好了各种功能函数 感觉称作框架不太适合 更像脚手架、工具包
框架听起来像是“模板” 使用的方式像是“克隆” 可谁会天天起新项目呢

况且 起一个新项目的成本可能远没这么高?只有 cpp 比较乱而已?
我现在用 micropython 要做的就是把写过的功能复制粘贴下
稍微改下逻辑 就又好了一个需求
感觉再进化下 我已经在研究拖拽式编程了(好多需求就是这么简单

最近就在学 esp-rs 体会到了传统 cpp 式的麻烦 make 来 make 去
也可能我一直路子比较野 没有过底层详细定制的经验 哈哈
glcolof 小成 2024-10-7 21:52:51
其实 arduino 那种框架就可以满足大部分需求了。
FightPig 初学 2024-10-8 00:34:19
挺厉害的,我自己对嵌入式一直不是很懂
nooneanyone 小成 2024-10-8 01:24:52
老哥, 纯软 cpplinux 方向的, 转嵌入式难么, 感觉 linux 后端岗位比较少, 想看看嵌入式会不会好点.
12下一页
返回顶部