Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ openvela is an operating system specifically crafted for the AIoT industry, with

The name "Vela" is originated from the Latin term for "sail," which is also the name of the constellation resembling a sail in the southern sky. We aspire to partner with developers and set sail on a voyage through the AIoT landscape.

## openvela Branch Descriptions

- dev: Latest development version.
- trunk: Stable version.
- trunk-5.2 Release: See the [v5.2 Release Notes](./en/release_notes/v5.2.md) for details.

## Technical Architecture

![img](images/002.png)
Expand Down Expand Up @@ -91,7 +97,7 @@ Here are some typical native application examples demonstrating the usage of dif
- [Cycling Computer](./en/demo/X_Track.md): Demonstrates GPS positioning, real-time data display, and route tracking.
- [Calculator](../../../../open-vela/packages_demos/blob/trunk/calculator/Readme.md): A basic example of UI and logic interaction.
- [Relation Calculator](../../../../open-vela/packages_demos/blob/trunk/relation_calculator/Readme.md): Demonstrates complex conditional logic and algorithm implementation.
- [Whack-a-Mole](../../../../open-vela/packages_demos/blob/trunk/Whackmole/Readme.md): Demonstrates a game loop, random number generation, and animation effects.
- [Whack-a-Mole](../../../../open-vela/packages_demos/blob/trunk/Whackmole/README.md): Demonstrates a game loop, random number generation, and animation effects.

To see the full list of native apps, please visit the [Native App Examples Repository](../../../packages_demos/blob/trunk/README.md).

Expand Down
8 changes: 7 additions & 1 deletion README_zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼

Vela 的命名源自拉丁语中船帆的含义,也是南方星空中船帆星座的名字。我们选择这个名字的意义是希望与开发者一道携手,共同踏上星辰大海的征途。

## openvela 版本分支说明

- dev:最新开发版本。
- trunk:稳定版本。
- trunk-5.2 Release 版本:点击[此处](./zh-cn/release_notes/v5.2.md)了解版本详情。

## 技术架构

![img](images/001.png)
Expand Down Expand Up @@ -98,7 +104,7 @@ Vela 的命名源自拉丁语中船帆的含义,也是南方星空中船帆星

### 快应用(Quick Apps)

- [小米手环天气预报应用](../../.././packages_fe_examples/blob/trunk/weather/README.md):演示音频播放、列表管理和后台服务
- [小米手环天气预报应用](../../.././packages_fe_examples/blob/trunk/weather/README.md):提供简洁直观的未来七日天气信息展示
- [音乐播放器](../../.././packages_fe_examples/blob/trunk/player/README.md):演示一个基础的音乐播放器,包含音乐的播放,音量调节,歌单查看。
- [日历](../../.././packages_fe_examples/blob/trunk/calendar/README.md):演示一个基础的日历。

Expand Down
89 changes: 45 additions & 44 deletions en/release_notes/v5.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,23 @@

\[ English | [简体中文](../../zh-cn/release_notes/v5.2.md) \]

## I. Kernel
## I. Quick Start

### Emulator Support

Quickly try out openvela on your PC using the openvela Emulator.

- Supported emulators:
- `goldfish-armeabi-v7a-ap`
- `goldfish-arm64-v8a-ap`
- `goldfish-x86_64-ap`
- [Quick Start](./../../../../../docs/blob/trunk-5.2/en/quickstart/openvela_ubuntu_quick_start.md)

### Development Board Support

openvela supports a range of popular development boards. For a detailed list, see the [Case Documentation](./../../../../../docs/blob/trunk-5.2/en/dev_board/Development_Board.md).

## II. Kernel

### Processor Architecture Support

Expand Down Expand Up @@ -43,19 +59,20 @@ The openvela kernel is based on the NuttX RTOS, inheriting and enhancing its cor
- Real-time Scheduling: Supports real-time scheduling algorithms to meet the requirements of real-time systems.
- Priority-based Scheduling: Supports priority-based task scheduling to ensure that high-priority tasks are executed first.

For more information, please refer to the [Kernel Development Overview](./../device_dev_guide/kernel/KernelDev.md#iv-system-features).
For more information, please refer to the [Kernel Development Overview](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/kernel/KernelDev.md#iv-system-features).

### Task and Scheduling Management

openvela uses threads as the smallest scheduling unit and provides a flexible task model with multiple scheduling algorithms.

- Task Models: Supports three modes: kernel threads, user threads, and user tasks (i.e., processes with independent address spaces).
- Scheduling Algorithms:
- Priority Scheduling
- First-In, First-Out (FIFO)
- Round Robin

For details, please see [Thread and Process Management](./../device_dev_guide/kernel/KernelDev.md#v-thread-and-process-management).
- Priority Scheduling
- First-In, First-Out (FIFO)
- Round Robin

For details, please see [Thread and Process Management](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/kernel/KernelDev.md#v-thread-and-process-management).

### Thread Synchronization Mechanisms

Expand All @@ -69,27 +86,28 @@ To ensure data consistency and safe resource access in multi-threaded environmen
- Scheduler Locks
- Pthread Mutexes

For detailed usage, please refer to [Resource Synchronization Mechanisms](./../device_dev_guide/kernel/KernelDev.md#vi-resource-synchronization).
For detailed usage, please refer to [Resource Synchronization Mechanisms](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/kernel/KernelDev.md#vi-resource-synchronization).

### Inter-Process Communication (IPC)

The system offers a variety of efficient inter-thread and inter-process communication mechanisms to support complex task collaboration.

- Work Queue: [Work Queue](./../device_dev_guide/kernel/KernelDev.md#1-work-queues)
- Message Queue: [Message Queue](./../device_dev_guide/kernel/KernelDev.md#2-message-queues)
- Work Queue: [Work Queue](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/kernel/KernelDev.md#1#1-work-queues)
- Message Queue: [Message Queue](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/kernel/KernelDev.md#2-message-queues)

### File System

openvela integrates a powerful Virtual File System (VFS) and supports over 20 mainstream and embedded-specific file systems.

- Supported File System Types ([File System](./../device_dev_guide/file_system/file_system.md)):
- FAT-like: `fatfs`
- Journaling/Flash-friendly: `littlefs`, `smartfs`, `spiffs`, `yaffs`, `uffs`, `nvs`
- Read-only: `romfs`, `cromfs`, `LROFS`
- In-memory/Virtual: `ramfs` (binfs), `tmpfs`, `procfs`, `rootfs` (VFS)
- Special-purpose: `zipfs`, `archivefs`, `nfs`, `hostfs`, `unionfs`, `userfs`
- Supported File System Types ([File System](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/file_system/file_system.md)):

- FAT-like: `fatfs`
- Journaling/Flash-friendly: `littlefs`, `smartfs`, `spiffs`, `yaffs`, `uffs`, `nvs`
- Read-only: `romfs`, `cromfs`, `LROFS`
- In-memory/Virtual: `ramfs` (binfs), `tmpfs`, `procfs`, `rootfs` (VFS)
- Special-purpose: `zipfs`, `archivefs`, `nfs`, `hostfs`, `unionfs`, `userfs`

- Storage Driver Framework: Provides standard MTD (Memory Technology Device) and Block Device driver frameworks, simplifying adaptation to storage media like NAND/NOR Flash and SD/eMMC cards. ([Storage Driver Framework Guide](./../device_dev_guide/file_system/storage_driver_framework_guide.md))
- Storage Driver Framework: Provides standard MTD (Memory Technology Device) and Block Device driver frameworks, simplifying adaptation to storage media like NAND/NOR Flash and SD/eMMC cards. ([Storage Driver Framework Guide](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/file_system/storage_driver_framework_guide.md))

### Debugging Tools

Expand All @@ -99,49 +117,32 @@ A comprehensive set of debugging tools is provided to assist developers with tro
- GDB Remote Debugging
- Performance Profiling Tools

For more tools, please consult the [Debugging Tools documentation](./../debugging_tools/).
For more tools, please consult the [Debugging Tools documentation](./../../../../../docs/blob/trunk-5.2/en/debugging_tools/).

## II. Subsystems
## III. Subsystems

### Connectivity Subsystem

- Bluetooth: [Bluetooth Overview](./../device_dev_guide/connection/bluetooth/Bluetooth_Overview.md)
- Networking: [Network Protocol Stack Introduction](./../device_dev_guide/connection/network/protocol_stack/NetProtocolStackIntro.md)
- Telephony: [Telephony Overview](./../device_dev_guide/connection/telephony/overview_of_telephony.md)
- Bluetooth: [Bluetooth Overview](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/connection/bluetooth/Bluetooth_Overview.md)
- Networking: [Network Protocol Stack Introduction](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/connection/network/protocol_stack/NetProtocolStackIntro.md)
- Telephony: [Telephony Overview](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/connection/telephony/overview_of_telephony.md)

### Audio/Video Subsystem

Processes audio and video data through a unified Media Framework, providing standardized API interfaces for upper-layer applications.

For details, please see the [Media Framework](./../device_dev_guide/media/media_framework.md).
For details, please see the [Media Framework](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/media/media_framework.md).

### Graphics Subsystem

The Graphics Subsystem provides full-stack support for building fluid and visually appealing user interfaces. Its core components include:

- Driver Adaptation Layer: A standardized interface layer that supports various input (touchscreens, keys) and output (displays) devices. ([Driver Adaptation](./../device_dev_guide/graphics))
- Driver Adaptation Layer: A standardized interface layer that supports various input (touchscreens, keys) and output (displays) devices. ([Driver Adaptation](./../../../../../docs/blob/trunk-5.2/en/device_dev_guide/graphics))
- Graphics Rendering Library (LVGL): Deeply optimized and functionally extended based on the open-source LVGL library, supporting both CPU rendering and GPU hardware acceleration.
- Vector Graphics Engine: A lightweight API implementation that supports the SVG Tiny v1.2 standard, meeting diverse vector graphics drawing needs.
- UIKit: Contains high-level components and management suites. ([uikit](./../../../../../frameworks_graphics_uikit/blob/trunk-5.2/README.md))
- Window Manager: Provides complete window lifecycle management, layer management, and event dispatching functions.

## III. Hardware and Emulator Support

### Emulator Support

Experience openvela quickly on a PC using the openvela Emulator.

- Supported Emulators:
- `goldfish-armeabi-v7a-ap`
- `goldfish-arm64-v8a-ap`
- `goldfish-x86_64-ap`

- [Quick Start](./../quickstart/openvela_ubuntu_quick_start.md)

### Development Board Support

openvela supports a range of mainstream development boards. For a detailed list, please refer to the [Development Board Support List](./../dev_board/Development_Board.md).

## IV. Application Examples

We provide a rich collection of Native and Quick App examples to help developers get started quickly.
Expand All @@ -150,9 +151,9 @@ We provide a rich collection of Native and Quick App examples to help developers

These examples demonstrate how to use openvela's system services and subsystem features.

- [Music Player](./../demo/Music_Player_Example.md): Demonstrates audio playback, playlist management, and background services.
- [Smart Band](./../demo/Smart_Band_Example.md): Demonstrates sleep monitoring, heart rate monitoring, music playback, and a stopwatch.
- [Cycling Computer](./../demo/X_Track.md): Demonstrates GPS positioning, real-time data display, and activity track recording.
- [Music Player](./../../../../../docs/blob/trunk-5.2/en/demo/Music_Player_Example.md): Demonstrates audio playback, playlist management, and background services.
- [Smart Band](./../../../../../docs/blob/trunk-5.2/en/demo/Smart_Band_Example.md): Demonstrates sleep monitoring, heart rate monitoring, music playback, and a stopwatch.
- [Cycling Computer](./../../../../../docs/blob/trunk-5.2/en/demo/X_Track.md): Demonstrates GPS positioning, real-time data display, and activity track recording.
- [Calculator](./../../../../../packages_demos/blob/trunk-5.2/calculator/Readme.md): A basic example of UI and logic interaction.
- [Relation Calculator](./../../../../../packages_demos/blob/trunk-5.2/relation_calculator/Readme.md): Demonstrates complex conditional logic and algorithm implementation.
- [Whack-a-Mole](./../../../../../packages_demos/blob/trunk-5.2/Whackmole/README.md): Demonstrates a game loop, random number generation, and animation effects.
Expand All @@ -165,4 +166,4 @@ To see the complete list of native apps, visit the [Native App Examples Reposito
- [Music Player](./../../../../../packages_fe_examples/blob/trunk-5.2/player/README.md): Demonstrates a basic music player, including music playback, volume control, and playlist viewing.
- [Calendar](./../../../../../packages_fe_examples/blob/trunk-5.2/calendar/README.md): Demonstrates a basic calendar.

More Quick App examples are continuously being added. To see all examples, please visit the [Quick App Examples Repository](./../../../../../packages_fe_examples).
More Quick App examples are continuously being added. To see all examples, please visit the [Quick App Examples Repository](./../../../../../packages_fe_examples/blob/trunk-5.2/README.md).
Loading