开源之夏2023 | 欢迎申请openEuler Embedded SIG开发任务
关于开源之夏
开源之夏是开源软件供应链点亮计划下的暑期活动,由中科院软件研究所与openEuler社区联合主办,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。
活动联合各大开源社区,针对重要开源软件的开发与维护提供项目,并向全球高校学生开放报名。学生可自主选择感兴趣的项目进行申请,中选后在项目开发者(社区导师)的指导下进行开发。根据项目的难易程度和完成情况,结项者将获取开源之夏活动奖金和结项证书。
开源之夏官网:开源软件供应链点亮计划-开源之夏2023
openEuler Embedded SIG项目介绍
openEuler Embedded SIG致力于openEuler的嵌入式版本(openEuler Embedded)开发,使其能够广泛应用于嵌入式设备。开源之夏2023,openEuler Embedded SIG共发布6个任务,欢迎广大高校学生提交申请,一起构建更好的openEuler嵌入式版本生态!
项目一:openEuler Embedded ROS机器人应用生态演进及深度学习场景拓展
项目描述:openEuler Embedded主要面向嵌入式场景,当前已经支持armNN,本项目目标是拓展ROS应用生态,帮助嵌入式ROS的版本演进及深度学习场景的应用突破。产出要求:基于originbot的一个需要AI深度学习的ROS demo(图像识别相关,可任选一个demo,如AI深度学习巡线,见资料)进行移植适配,能够在真机上演示(需自备硬件,建议至少树莓派4B+任何UVC摄像头,可以不需要originbot小车,即对推理结果后的控制不做要求,能够将推理的结果通过ROS节点广播并从PC观测端查看到正确的结果即可),推理框架使用armNN为佳,并提供资料- 所有ROS2软件包版本需使用humble版本,需对相关软件包进行适配(当前openEuler Embedded的ROS还使用foxy版本,上游社区即将停止维护,涉及存量未切换ROS核心软件包的版本升级、深度学习应用新增软件包的移植引入)项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970398?lang=zh&list=pro
项目二:openEuler Embedded 易用性扩展-快速运行
项目描述:当下openEuler Embedded已经通过oebuild工具实现了构建易用性,但是目前还缺少快速运行调试功能,所谓快速运行调试就是实现一键式交叉编译->调起运行环境->运行代码->输出运行结果,本项目的目标就是依托oebuild平台,在该平台上实现上述功能。
产出要求:
- oebuild添加交叉编译扩展命令
- oebuild添加调起qemu运行环境命令
- oebuild添加在指定平台运行程序命令
项目导师:
项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970445?lang=zh&list=pro
项目三:openEuler Embedded 为混合关键系统实现量化分析功能
项目描述:
混合关键性系统 (MCS, Mixed Criticality System),可实现在一颗SoC部署多个OS,同时提供Linux和实时OS的能力。本题目的目标是为mcs实现量化分析功能,具体任务包括:
为mcs设计一套 Benchmark,定义client os的性能基线(基础)
Benchmark 分析,能够帮助用户直观地观测 mcs 通信框架以及 client os 的性能数据,Benchmark包含的功能如:
1. client os 的延时测试,中断响应时间,上下文切换时间等;
2. OS间的通信测试,包括ping的耗时,长消息和短消息的传输时延,cache影响等;
... ...
实现通过 gdb 调试client os(进阶)
由于client os和host os在一定程度上是隔离的,client os上的应用调试会变得异常困难,往往只能通过日志打点、Jtag等方式来观测。
基于mcs实现的 gdb 调试功能,能够帮助用户高效进行client os的应用开发调试,主要的功能点包括:
1. client os 的 gdbstub:包括 添加/删除 断点;打印堆栈;读取寄存器;读取内存;step和continue等功能;
2. host os 与 client os 间的gdb消息通信,类似于当前的 gdb remote/server。
产出要求:
1. Benchmark功能,适用于mcs的性能基线测试;
2. gdb 调试功能,基于ARM64 QEMU混合部署镜像,实现 Linux(host os) 调试 Zephyr(client os);
3. 代码需要符合内核编码规范,有必要的注释,提交信息要详细;
4. 补充相关的.rst文档,并提交到yocto-meta-openeuler仓库;
项目导师:
韩宗成
项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970461?lang=zh&list=pro
项目四:openEuler Embedded 构建系统优化
项目描述:对openEuler Embedded现有的构建框架进行优化。
- 基础:通过学习yocto构建工程,检视当前openEuler Embedded构建流程存在的的问题,包括文档,提交PR修复;
- 进阶:openEuler Embedded 构架时源码获取机制完善,当前构建时源码主要从src-openEuler上获取,以本地 `tar+patch` 的形式,但是这种方式目前会与yocto本身的文件校验机制冲突;需研究一种更好的方式获取src-openEuler源码后解压源码以及打补丁到构建工程的工作目录,并解决与yocto机制的冲突。
- 挑战:nativesdk工具使用优化,nativesdk是openEuler Embedded为了缩短构建时间使用的sdk工具,但当前仅限于nativesdk库与部分二进制的使用,需实现nativesdk使用效果达到类似于yocto工程的recipes-sysroot(-native);
产出要求:
1. 任何openEuler Embedded构建系统已存在的构建问题;
2. 完善构建时的源码使用机制;
3. 提交代码符合 yocto 规范,有必要的注释;
4. 补充相关的rst文档,介绍实现的功能以及使用;
项目导师:
项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970465?lang=zh&list=pro
项目五:openEuler Embedded支持蓝牙音频连接
项目描述:蓝牙作为设备连接通信的介质,已经成为日常生活中的一部分,对于嵌入式应用场景更是必不可少。
openEuler Embedded目前支持基础蓝牙协议栈bluez,仅仅只提供设备间的发现,如果需要像日常生活中使用蓝牙连接不同设备并进行通信,需要额外提供不同profile支持,这里以音频profile为例,在树莓派开发板引入音频profile,供其他设备连接。同时分布式软总线南向通信协议依赖蓝牙支持。
产出要求:
- 基础:了解yocto基本流程,引入音频包pulseaudio,以树莓派开发板为例,音频包可以被编译集成至树莓派镜像。
- 进阶:通过蓝牙连接至某个output设备(例如耳机),在树莓派上播放音频,output设备能够响应。
- 挑战:熟悉蓝牙GATT/GAP协议,实现分布式软总线蓝牙连接和通信。
项目导师:
刘铭锴
项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970477?lang=zh&list=pro
项目六:openEuler Embedded镜像加入UTF-8编码支持
项目描述:openEuler Embedded当前版本中由于没有UTF-8字符集与相关组件,因此无法支持中文。需要将UTF-8字符集加入openEuler Embedded镜像中,以支持中文。
产出要求:
- 镜像中有UTF-8字符集,可以使用中文。
- 可以使用C库接口setlocale设置当前字符集为UTF-8。
- 输出openEuler Embedded版本中添加新字符集的框架或文档。
项目导师:
郑立铭
项目主页:https://summer-ospp.ac.cn/org/prodetail/23b970522?lang=zh&list=pro
学生参与指南
申请资格:
- 本活动面向年满 18 周岁在校学生。
- 暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。
- 中国籍学生参与活动需提供身份证、学生证、教育部学籍在线验证报告(学信网)或在读证明。
- 外籍学生参与活动需提供护照,同时提供录取通知书、学生卡、在读证明等文件用于证明学生身份。
项目奖金:
- 每个项目难度分为基础和进阶两档,对应学生结项奖金分别为税前人民币 8000 元和税前人民币 12000 元。(注:奖金数额为税前人民币金额)。
- 难度分级由社区根据项目情况决定。
- 通过结项考核的学生将获得奖金。
活动日程:
详细学生指南:
常见问题 - 帮助 | 开源之夏
相关文章:

开源之夏2023 | 欢迎申请openEuler Embedded SIG开发任务
关于开源之夏 开源之夏是开源软件供应链点亮计划下的暑期活动,由中科院软件研究所与openEuler社区联合主办,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。 活动联合各大开源社区,针对重要开源软件…...

【异常解决】vim编辑文件时提示 Found a swap file by the name “.start.sh.swp“的解决方案
vim编辑文件时提示 Found a swap file by the name ".start.sh.swp"的解决方案 一、问题描述二、原因说明三、解决方案3.1 方案1 删除即可3.2 方案2 禁止生成swp文件 一、问题描述 vim编辑文件时提示 Found a swap file by the name “.start.sh.swp”,如…...

「企业应用架构」应用架构概述
在信息系统中,应用架构或应用架构是构成企业架构(EA)支柱的几个架构域之一 应用架构描述了业务中使用的应用程序的行为,重点是它们如何相互之间以及如何与用户交互。它关注的是应用程序消费和生成的数据,而不是它们的内…...

ePWM模块(3)
比较模块 CMPA:比较寄存器A,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPB:比较寄存器B,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPCTL:控制寄存器(重要) SHDWAFULL(或SHDWBFULL):CMPA(或B)阴影寄存器满标志位 0:未满 1:满了 SHDWAMODE(或…...

【笔试强训选择题】Day11.习题(错题)解析
作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…...

JVM知识
垃圾收集器就是内存回收的具体实现 Serial Serial收集器是最基本的,发展历史最悠久的收集器。在JDK1.3之前是虚拟机新生代收集的唯一选择。是一种单线程收集器,只会使用一个CPU或者一条收集线程去完成垃圾收集工作,在进行垃圾收集的时候需要…...

操作系统第二章——进程与线程(中)
和光同尘,与时舒卷 文章目录 2.2.1 调度的概念,层次知识总览调度的基本概念高级调度低级调度中级调度三层调度的联系,对比进程的挂起态和七状态模型知识回顾 2.2.2 进程调度的时机,切换与过程,方式知识总览进程调度的时…...

AlphaFold的极限:高中生揭示人工智能在生物信息学挑战中的缺陷
人工智能程序AlphaFold (AlphaFold2开源了,不是土豪也不会编程的你怎么蹭一波?),通过预测蛋白质结构解决了结构生物信息学的核心问题。部分AlphaFold迷们声称“该程序已经掌握了终极蛋白质物理学,其工作能力已超越了最初的设计”。…...

RocketMQ双主双从环境搭建
环境要求 64位操作系统,推荐 Linux/Unix/macOS 64位 JDK 1.8 服务器准备 准备4台服务器两台master两台slave,如果服务器紧凑,则至少需要两台服务器相互master-slave IP HOSTS 172.*******.120 rocketmq-nameserver1 rocketmq-master1 …...

next.js博客搭建_初始化next项目(第一步)
文章目录 ⭐前言⭐next初始化TypeScript 开发项目安装react的ui框架(tDesign)设计布局 ⭐结束 ⭐前言 大家好,我是yma16,本期给大家分享next项目搭建博客的开始。 背景 因为我的博客网站https://yongma16.xyz是基于vue2搭建的&am…...

ACM - 其他算法 - 基础(前缀和 + 差分)
ACM- 其他算法 一、前缀和模板例题1、区间余数求K倍区间个数:AcWing 1230. K倍区间例题2、前缀和哈希求最长个数平分子串:Leetcode 面试题 17.05 字母与数字 二、差分1、一维差分2、二维差分 一、前缀和 模板 //一维前缀和 S[i] a[1] a[2] ... a[i] a[l] ... …...

No.056<软考>《(高项)备考大全》【冲刺10】《软考高项常见工具口语化解释》
《软考高项常见工具口语化解释》 序号工具名称口语化属于哪个过程1模板、表格和标准就是用之前的项目的模版、表格、标准,结合本项目进行了修改,在编制一些计划、方案的时候就可以采用这个工具和技术。可以拿来就用的,节约时间、提高质量的。…...

MySQL原理(九):表分区和分库分表
前言 上一篇介绍了 MySQL 的存储过程和触发器,这一篇将介绍表分区和分库分表相关的内容。 表分区 原本的表文件都是以完整的形式存储在磁盘中,而表分区则是指将一张表的数据拆分成多个磁盘文件,然后放到磁盘中存储。 做了表分区之后&…...

【Ehcache技术专题】「入门到精通」带你一起从零基础进行分析和开发Ehcache框架的实战指南(缓存查询-配置篇)
缓存查询 Ehcache中为我们提供了可以对Cache中缓存的元素进行查找的方式。其逻辑类似于SQL中的查找。通过给定各种限制条件,我们可以构造各种复杂的查询,然后返回结果集,也可以对查询进行分组和排序等。 使Cache可查询 Ehcache中的查询是针…...

MySQL基础(七)单行函数
1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在 SQL 中我们也可以使用函数对检…...

Cy5.5-PEG-FA结构式 荧光Cy5.5标记聚乙二醇叶酸;PEG分子量2000,叶酸(-FA)基团可应用于靶向传递
Cy5.5-PEG-FA,Cy5.5-聚乙二醇-叶酸 中文名称:Cy5.5-聚乙二醇-叶酸 英文名称:Cy5.5-PEG-FA 溶剂:溶于水、氯仿,DMSO等常规性有机溶剂 性状:固体或粉末,取决于分子量 分子量:1k、…...

【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程
这篇文章,主要介绍如何使用Spring Cloud微服务组件从0到1搭建一个微服务工程。 目录 一、从0到1搭建微服务工程 1.1、基础环境说明 (1)使用组件 (2)微服务依赖 1.2、搭建注册中心 (1)引入…...

舞台特效-第14届蓝桥杯省赛Scratch初级组真题第2题
[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第131讲。 舞台特效,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第2题…...

mysql 5.7.32安装及主从安装信息
最方便的 就是 直接使用docker容器 搭建一个比较方便 或者 直接使用yum源安装,说白了就是少踩坑。 或者 是直接使用 宝塔等工具帮忙,直接脚本跑 宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 以下是内网两台机器安装的方法 1: 下…...

leecode111——二叉树最短路径
递归三部曲: 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 (1)确定参数和返回值, 参数为传入根节点,再根据此遍历左右左右树的节点。返回最短路径,即int类型。 (2)确…...

Swift学习教程大纲
以下是Swift学习教程的大纲: 第一部分:基础知识 Swift简介 什么是Swift? Swift的历史和发展 Swift的特点和优势 开发环境的搭建 安装Swift编译器 配置开发环境 第一个Swift程序 Hello World程序 程序的结构 编译和运行程序 数据…...

HTML 基础知识
HTML基础知识 1. VSCode的安装与配置 下载地址 https://code.visualstudio.com/ 安装插件 Live Server Auto Rename Tag 自动格式化 点击 settings,然后输入format,然后勾选上 Format On Save。 2. HTML 基础标签 2.1 文件结构 快捷键࿱…...

国考省考结构化面试:综合分析题,名言哲理(警句观点启示)、漫画反驳题等
国考省考结构化面试:综合分析题,名言哲理(警句观点启示)、漫画反驳题等 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测&a…...

【前端面经】CSS-浮动和清除浮动的方式
浮动和清除浮动的方式 在页面布局中,我们经常会用到浮动来实现一些特殊效果,但是浮动也会引起一些问题。在使用浮动布局时,我们需要清除浮动以避免出现布局问题。本文将介绍浮动的相关知识以及清除浮动的方式。 浮动 浮动是 CSS 中的一种布…...

【Android取证篇】ADB版本更新详细步骤
【Android取证篇】ADB版本更新详细步骤 更新ADB版本,解决无法连接设备问题【蘇小沐】 ADB没有自动更新的命令,我们需要下载新的ADB进行替换更新。 1、ADB查找 打开任务管理器(快捷键shiftctrlEsc或WinX),在“详细信…...

【rust】| 02——语法基础_变量(不可变?)和常量
系列文章目录 【rust】| 00——开发环境搭建 【rust】| 01——编译并运行第一个rust程序 【rust】| 02——语法基础_变量(不可变?)和常量 文章目录 1. 变量1.1 变量的定义1.2 试验变量的不可变特性 2. 常量2.1 常量的定义 3. 覆盖(同名变量)3.1 修改已定义变量的数据类型3.2 1…...

JavaScript实现在键盘输入按键,浏览器进行显示的代码
以下为实现在键盘输入按键,浏览器进行显示的代码和运行截图 目录 前言 一、在键盘输入按键,浏览器进行显示 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录里进行快速查找…...

精炼计算机网络——物理层(二)
文章目录 前言2.4信道复用技术2.4.1 频分复用、时分复用和统计时分复用2.4.2 波分复用2.4.3 码分复用 2.5 数字传输系统2.6 带宽接入技术2.6.1 ADSL技术2.6.2 光纤同轴混合网(HFC网)2.6.3 FTTx技术 总结 前言 上篇文章,我们初步了解了物理层…...

ChatGPT直接访问,Edge浏览器-免费ChatGPT保姆级教程
人工智能大浪潮已经来临,对于ChatGPT,我觉得任何一个玩互联网的人,都应该重视起来,用起来。但是国内使用需要解决科学上网、注册、收费等繁琐问题。 所以,今天这篇文章就来推荐一个插件,无需任何繁琐操作&…...

1010. 总持续时间可被 60 整除的歌曲
题目: 在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。 返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望下标数字 i 和 j 满足 i < j 且有 (time[i] time[j]) % 60 0。 示例 1&a…...