Open Source Summer 2023 | Welcome to apply for openEuler Embedded SIG development tasks

About Open Source Summer

The Summer of Open Source is a summer activity under the Open Source Software Supply Chain Lighting Program. It is co-sponsored by the Institute of Software, Chinese Academy of Sciences and the openEuler community. It aims to encourage students to actively participate in the development and maintenance of open source software, and to promote the vigorous development of excellent open source software communities.

The event unites major open source communities to provide projects for the development and maintenance of important open source software, and open registration to college students around the world. Students can independently choose the projects they are interested in to apply for, and after being selected, they will develop under the guidance of project developers (community mentors). According to the degree of difficulty and completion of the project, those who complete the project will receive the Open Source Summer activity bonus and a project completion certificate.

Open Source Summer Official Website: Open Source Software Supply Chain Lighting Plan-Open Source Summer 2023

openEuler Embedded SIG project introduction

The openEuler Embedded SIG is committed to the development of the embedded version of openEuler (openEuler Embedded), so that it can be widely used in embedded devices. In Open Source Summer 2023, the openEuler Embedded SIG released 6 tasks in total. College students are welcome to submit applications to build a better openEuler embedded version ecology together!

Project 1: OpenEuler Embedded ROS Robot Application Ecological Evolution and Deep Learning Scenario Expansion

Project description : openEuler Embedded is mainly for embedded scenarios, and currently supports armNN. The goal of this project is to expand the ROS application ecosystem, help the evolution of embedded ROS versions and make breakthroughs in deep learning scenarios. Output requirements : A ROS demo based on originbot that requires AI deep learning (image recognition related, you can choose a demo, such as AI deep learning line inspection, see the information) for transplantation and adaptation, and can demonstrate on the real machine (need to bring your own For hardware, it is recommended to have at least Raspberry Pi 4B+ any UVC camera. You don’t need the originbot car, that is, there is no requirement for the control after the inference result. You can broadcast the inference result through the ROS node and view the correct result from the PC observation terminal. ), it is better to use armNN for the reasoning framework, and provide information - all ROS2 software package versions need to use the humble version, and the relevant software packages need to be adapted (the current openEuler Embedded ROS also uses the foxy version, and the upstream community is about to stop maintenance, involving stock The version upgrade of the ROS core software package has not been switched, and the transplantation and introduction of new software packages for deep learning applications) Project homepage : https://summer-ospp.ac.cn/org/prodetail/23b970398?lang=zh&list=pro

Project 2: OpenEuler Embedded Ease of Use Extension - Quick Run

Project description : At present, openEuler Embedded has realized the ease of construction through the oebuild tool, but it still lacks the function of quick running and debugging. The so-called fast running and debugging is to realize one-click cross-compilation -> call up the operating environment -> run the code -> output As a result of the operation, the goal of this project is to rely on the oebuild platform to realize the above functions on the platform.

Output requirements :

  1. oebuild adds cross-compilation extension commands
  2. oebuild adds the command to invoke the qemu operating environment
  3. oebuild adds the command to run the program on the specified platform

Project Mentor :

Project homepage : https://summer-ospp.ac.cn/org/prodetail/23b970445?lang=zh&list=pro

Project 3: openEuler Embedded implements quantitative analysis functions for mixed key systems

Item description :

Mixed Criticality System (MCS, Mixed Criticality System) can implement multiple OS deployments on one SoC, while providing Linux and real-time OS capabilities. The goal of this topic is to realize the quantitative analysis function for mcs. The specific tasks include:

Design a set of Benchmark for mcs, define the performance baseline (basic) of client os

Benchmark analysis can help users intuitively observe the performance data of mcs communication framework and client os. Benchmark includes functions such as:

1. Latency test of client os, interrupt response time, context switching time, etc.;

2. Communication test between OS, including ping time consumption, long message and short message transmission delay, cache impact, etc.;

 ... ...

Realize debugging client os through gdb (advanced)

Since the client os and the host os are isolated to a certain extent, application debugging on the client os will become extremely difficult, and often can only be observed through log management and Jtag.

The gdb debugging function based on mcs can help users efficiently develop and debug client os applications. The main functions include:

1. gdbstub of client os: including adding/deleting breakpoints; printing stack; reading registers; reading memory; step and continue and other functions;

2. The gdb message communication between host os and client os is similar to the current gdb remote/server.

Output requirements :

1. Benchmark function, suitable for mcs performance baseline test;

2. The gdb debugging function, based on the ARM64 QEMU hybrid deployment image, realizes Linux (host os) debugging Zephyr (client os);

3. The code needs to conform to the kernel coding specification, with necessary comments, and the submission information should be detailed;

4. Supplement the relevant .rst documents and submit them to the yocto-meta-openeuler warehouse;

Project Mentor :

Han Zongcheng

Project homepage : https://summer-ospp.ac.cn/org/prodetail/23b970461?lang=zh&list=pro

Project 4: openEuler Embedded build system optimization

Project description : Optimize the existing construction framework of openEuler Embedded.

  • Basics: By learning the yocto construction project, check the problems existing in the current openEuler Embedded construction process, including documents, and submit PR for repair;
  • Advanced: The source code acquisition mechanism of openEuler Embedded is perfect. Currently, the source code is mainly obtained from src-openEuler in the form of local `tar+patch`. However, this method currently conflicts with Yocto's own file verification mechanism; It is necessary to study a better way to obtain the src-openEuler source code, decompress the source code and patch it to the working directory of the construction project, and resolve the conflict with the yocto mechanism.
  • Challenge: optimize the use of nativesdk tools. nativesdk is the sdk tool used by openEuler Embedded to shorten the build time, but it is currently limited to the use of nativesdk libraries and some binaries. It is necessary to achieve the effect of using nativesdk similar to the recipes-sysroot(-native) of the yocto project ;

Output requirements :

1. Any existing build problems of the openEuler Embedded build system;

2. Improve the source code usage mechanism during construction;

3. The submitted code conforms to the yocto specification and has necessary comments;

4. Supplement the relevant rst documents, introducing the implemented functions and usage;

Project Mentor :

Project home page : https://summer-ospp.ac.cn/org/prodetail/23b970465?lang=zh&list=pro

Project 5: openEuler Embedded supports Bluetooth audio connection

Project description : Bluetooth, as a medium for device connection and communication, has become a part of daily life, and it is even more essential for embedded application scenarios.

openEuler Embedded currently supports the basic Bluetooth protocol stack bluez, which only provides discovery between devices. If you need to use Bluetooth to connect and communicate with different devices in daily life, you need to provide additional support for different profiles. Here we take the audio profile as an example. In the Raspberry Pie development board introduces audio profile for other devices to connect. At the same time, the distributed soft bus southbound communication protocol relies on Bluetooth support.

Output requirements :

  • Basics: Understand the basic process of yocto, introduce the audio package pulseaudio, take the Raspberry Pi development board as an example, the audio package can be compiled and integrated into the Raspberry Pi image.
  • Advanced: Connect to an output device (such as a headset) via Bluetooth, play audio on the Raspberry Pi, and the output device can respond.
  • Challenge: Familiar with the Bluetooth GATT/GAP protocol, realize the distributed soft bus Bluetooth connection and communication.

Project Mentor :

Liu Mingkai  

Project home page : https://summer-ospp.ac.cn/org/prodetail/23b970477?lang=zh&list=pro

Project 6: Add UTF-8 encoding support to the openEuler Embedded image

Project description : The current version of openEuler Embedded cannot support Chinese because there is no UTF-8 character set and related components. The UTF-8 character set needs to be added to the openEuler Embedded image to support Chinese.

Output requirements :

  • There is a UTF-8 character set in the image, and Chinese can be used.
  • You can use the C library interface setlocale to set the current character set to UTF-8.
  • Output the frame or document of the new character set added in the openEuler Embedded version.

Project Mentor :

Zheng Liming  

Project homepage : https://summer-ospp.ac.cn/org/prodetail/23b970522?lang=zh&list=pro

Student Involvement Guidelines

Eligibility :

  • This event is for students aged 18 and above.
  • Students who are about to graduate in the summer can submit applications as long as their student ID cards are within the validity period at the time of application.
  • Chinese students need to provide their ID card, student card, online verification report of the Ministry of Education's student status (Xuexin.com) or proof of enrollment to participate in the activities.
  • Foreign students need to provide their passports to participate in the activities, and at the same time provide documents such as admission notice, student card, and proof of student status to prove their identity.

Project bonus:

  • The difficulty of each project is divided into two levels: basic and advanced. The corresponding student completion bonuses are RMB 8,000 before tax and RMB 12,000 before tax. (Note: The bonus amount is the RMB amount before tax).
  • Difficulty ratings are determined by the community based on project conditions.
  • Students who pass the end-of-term examination will receive a bonus.

Event schedule:

Open Source Summer 2023 | Welcome to apply for openEuler Embedded SIG development tasks_Embedded

Detailed Student Guide:

FAQ - Help | Summer of Open Source

Guess you like

Origin blog.csdn.net/openEuler_/article/details/130603840