本次实习机会为【甲辰计划开源实习联合招聘培养】的一部分,委托甲辰计划主理人吴伟进行招聘面试。不同的岗位有不同的 mentor。实习为远程开源实习,不需要坐班,产出默认贡献到各大开源项目,欢迎广大同学们参与。
甲辰计划承认“一生一芯”CBAS认证体系。参加过一生一芯相关课程学习并提供学号及学习记录的同学,在绝大多数甲辰计划联合实习生培养岗位中将直接免除上机考试,进入 mentor pick 环节。
J130 BL808 Rust 支持库开发实习生
(计划招募 ≥10 人)
岗位介绍
BL808是一款异构多核的RISC-V AIoT芯片,支持Wi-Fi 802.11b/g/n、Bluetooth 5和Zigbee;而RustSBI是开源的完整RISC-V安全引导固件解决方案。目前由RustSBI团队维护的BL808 Rust支持库同时支持嵌入式开发、固件引导程序和操作系统内核开发的功能。
支持库bouffalo-hal包含三个模块:硬件中间层hal、裸机运行环境rt和镜像融合工具blri。裸机Rust开发的常用管理方法和C语言不同,本项目中硬件中间层hal包含具有高级语言抽象和软约束的外设结构体,也包括MMIO格式的外设、寄存器和位域描述,它实现了Rust生态中embedded-hal标准的traits。裸机运行环境rt支持从ROM代码直接运行镜像,适用于嵌入式开发、RTOS开发和RustSBI等固件的裸机支持。blri工具用于生成ROM可识别的镜像头,它可融合不同编译目标的裸机程序,因此在异构芯片上的作用尤其重要。
BL系列的无线互联芯片往往具有WiFi、Bluetooth和其它无线连接外设,它们需要良好地与Rust生态现有的无线协议栈结合,来将Rust语言的软约束和安全特性应用到无线协议栈中。BL系列无线芯片的协议栈可以部分地使用Rust语言重写,来获得更好的安全特性,便于通过安全认证,并能够与Rust系统软件生态有机结合起来。
在支持库源码之外,开发者需要快速构建基于BL808等芯片的原型,且需要快速获取外设和型号等芯片细节信息。我们需要开发和维护一款基于LLM技术的Agent智能体,运用RAG、Prompt Engineering等相关技术,以交互界面的形式提供Bouffalo芯片信息和bouffalo-hal支持库示例,来为开发者和客户节省原型构建的时间。
目前,支持库以开源形式维护,已被RustSBI等社区深度使用,受到社区好评。我们仍然需要更多的开发力量,积极与Rust、RISC-V社区交流,丰富BL808 Rust芯片的生态和应用场景,通过为一款代表性的RISC-V物联网芯片提供完整的技术支持,来为RISC-V国际生态贡献力量。
甲辰联合招聘
本岗位属于甲辰计划联合实习生培养项目,实习岗位由多家甲辰计划成员单位提供。招募面试、实习期间任务分配及培养管理、简历指导、社区贡献指导等均委托甲辰计划主理人统一进行。实习生可以与成员单位双向协商确认实习合同单位(实习证明盖章单位)、实习交付和社区贡献方式。
工作内容
1. 开发bouffalo-hal支持库,在熟悉、了解BL808等BL系列芯片外设的基础上,为bouffalo-hal项目丰富功能。调研和适配运用于BL芯片的RustSBI实现(如RustSBI Prototyper)。
2. 调研Rust生态无线协议栈和辅助软件包,完善BL808的无线互联软件生态。
3. 开发和维护提供BL808等芯片原型设计、信息查询等功能的LLM Agent。
4. 为bouffalo-hal、bouffalo-rt和BL808无线软件编写测试用例,完善项目的集成测试功能。使用用于BL芯片的RustSBI实现引导不同的操作系统和发行版,解决兼容性问题。
5. 完成BL808 Rust有关的开源社区日常维护工作;若有能力,积极与有关研究界和产业界生态成员联系,积极举办技术分享等有关开源活动。
能力要求
能力等级LV2及以上。
熟悉RISC-V指令集架构和Rust编程语言,有裸机应用(rCore、Asterinas等Rust操作系统、Rust for Linux、嵌入式Rust和RustSBI等引导程序和固件)开发经验优先,有RISC-V操作系统发行版适配经验优先。
熟悉嵌入式开发常见的UART、SPI等基础外设,能够使用逻辑分析设备,或具有控制屏幕、SD卡和闪存等板级外设的经验优先;具有PSRAM调试经验优先。
(可选)具有无线协议栈软件开发经验,了解常见物联网无线协议的分层,具有提取和更换协议栈软件部分模块的能力。
(可选)熟练掌握常见 Prompt Engineering算法、主流RAG算法及框架,LLM Agent的构建方法及工具,能够维护开源LLM应用,或能够为LLM Agent开发Web前端界面。
拥有对应的开发设备,如具有BL808芯片的开发板等。RustSBI团队可提供开发所需的BL808开发板。
实习合同签署说明
首次签署实习合同为三个月,实习生随时可以加入和退出,实习证明以合同生效至实际退出之日为准。
首次签署实习为开源远程实习。PLCT实验室是本次实习岗位的培养承担组织。
实习期满之后实习生可以自由与甲辰计划成员企业协商续签,本实习对后续实习合同没有制约关系,实习形式与内容由用人单位和实习生双方自行协定。
实习有实习费。每个月底统计外部可见产出,跟mentor商量实习费金额。次月25日左右发放。劳务费每个月根据产出浮动,浮动区间 0k - 5k,正常产出一般是税前 2k-3k 之间。厉害的产出不受5k的限制,可以更高。
实习双方随时都可以解除契约。实习生离职前需要跟mentor沟通下工作交接,并商议好最后一笔实习费发放(如果有产出的话)。
如何正确的投递简历
在投递简历之前最好有更多一点了解。以下是阅读材料:
极简项目管理 是目前PLCT实验室的管理方式,延伸到了绝大部分甲辰计划实习岗位的实习生在管理方法论。请先阅读。
请先阅读《我们如何进行实习生招聘》
请看阅读《我们如何对实习生进行能力评定和培养》
有兴趣可以看看《实习生存手册》 (目前还在撰写中,欢迎围观和贡献。)
阅读之后,接下来就可以发邮件了。以下内容请认真阅读。不符合条件邮件不会收到回复。
有意者请投递简历至:
吴伟 wuwei2016@iscas.ac.cn
邮件标题请按照以下格式:
岗位编号 - 姓名 - 手机号码 - 学校
邮件正文: 进行跟应聘职位相关的自我介绍,不超过300字。
邮件必须附带简历。没有PDF格式简历的邮件不保证会收到回复。
实习要求和注意事项
所有岗位都需要满足的:
有强烈地上进心,希望自己能够变得更强。
并且能够积极而谦卑地与他人一起共事,及时的响应团队成员的消息。
岗位默认都是远程实习,因此需要你具有比较好的自律能力。
希望你能够有至少三个月的实习时间,并能够保证每周有一些连续的时间可以用来实习。
技术岗位(开发、测试、助教)需要满足的:
技术岗位默认要求能力等级达到LV2及以上。
熟练使用 Linux 命令行;能够写简单的 Bash 脚本。
熟练使用 git 进行团队合作。
知道如何描述 bugs/issues 以及礼貌地向其他人求助,做到尽量不浪费他人的时间,将复现 bug 需要的信息提供完整。
加分:自学了 RISC-V 指令集,包括 RV32GC 和 RV64GC。在自己的电脑上部署运行起来QEMU-RISCV64以及Spike模拟器。
加分:对于网络知识有基本了解并熟练使用,例如SSH任意端口登陆、Port Forwarding、反向链接、ProxyCommand 等配置自行掌握。
运营岗位需要满足的:
喜欢跟人打交道。能够倾听。能够观察和共情到他人的情感和需求。主动沟通。
对外界有强烈的好奇心。
具备网站制作、社区运营、公众号运营、社团组织、活动策划、美工设计等技能可以加分。
注意事项:
需要注意开源社区都是个人出道,所有的行为都是公开的,要有一颗大心脏。
女性及少数群体STEM支持
甲辰计划联合实习生提供至少 20% 岗位数量为女性工程师预留。
PLCT实验室、苦芽科技为女性及少数群体预留 50% 名额。
进一步了解:
https://github.com/rv2036/weloveinterns/blob/master/open-internships.md
让荣光落于刀锋之上!