Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 1.87 KB

uniproton_how_contribute.md

File metadata and controls

47 lines (36 loc) · 1.87 KB

如何根据自己的技术栈进行贡献

理解工作流程

  • 请查阅 UniProton 大模块的普适文档,建立 UniProton 的基本工作流
    • 构建流程
    • 如何基于 UniProton 进行开发
    • 学会使用 UniProton 提供的用户API

入门测试

  • 请通过 oerv-rtos test 的入门测试,检测对基本工作流和环境的理解

定位自己的细节方向

  • 完成基本的环境搭建和入门测试后,已经具备有基础开发的能力
  • 如果有自己感兴趣的开发方向
    • 直接投入对应子模块的开发,领取对应模块的issue 或者联系对应模块的开发者
  • 如果没有确切的方向
    • 可以把每个方向模块的 issue 一个一个查阅
    • 找到自己感兴趣的 issue 并领取
  • 如果比较擅长硬件方面的开发
    • 可以参与到 Board_Support
  • 如果对某些软件感兴趣
    • 可以创建新的子模块
  • 如果对kernel 功能感兴趣
    • 可以参与到 kernel 子模块的开发
    • 参与到kernel 特性的 riscv 支持
  • 如果对测试相关的感兴趣
    • 可以加入 ci 子模块的工作

RTOS软件开发有些不同的地方

  • 需要理解基于的api 更多是rtos相关的api
  • 如果需要使用一些常见C 库或者 POSIX的 API,需要注意到要开启 libc 组件
    • 关于 libc 的支持情况和在riscv上的完成情况,需要查阅 libc 子模块的相关文档和维护人员
  • 如果想要引入一些软件组件
    • 注意层次,这个软件组件使用的api 是 kernel api 还是 有 libc , posix的 api ,这个点对依赖图有很大的影响
  • 如果想要做bsp 支持
    • 理解uniproton构建系统
    • 理解想做的bsp 的硬件厂商的构建系统
    • 使用 minimal_uniproton 做SDK验证
    • 最后要上应用组件,应用组件是有一些 bsp 依赖层次的实现,需要根据具体开发做支持