diff --git a/.gitee/ISSUE_TEMPLATE/001_bug_report.yml b/.gitee/ISSUE_TEMPLATE/001_bug_report.yml new file mode 100644 index 0000000000000000000000000000000000000000..7107bc233c838b0738b53c3960912b09710fc480 --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE/001_bug_report.yml @@ -0,0 +1,40 @@ +name: 缺陷反馈 | Bug +description: 当您发现了一个缺陷,需要向社区反馈时,请使用此模板。 +title: "[BUG] <标题>" +labels: [👀 needs triage, "Type: Bug"] +body: + - type: markdown + attributes: + value: | + 感谢您对 openvela 社区的支持与关注,欢迎反馈缺陷。 + + - type: textarea + attributes: + label: "重现问题的步骤" + description: "简洁地描述错误是什么,为什么您认为它是一个错误,以及如何重现它的步骤" + placeholder: | + 重现问题的步骤,可能包括日志和截图。 + 1. 步骤 1 + 2. 步骤 2 + validations: + required: true + + - type: dropdown + id: architecture + attributes: + label: Issue Architecture + multiple: true + options: + - "Arch: arm" + - "Arch: arm64" + - "Arch: x86_64" + validations: + required: true + + - type: markdown + attributes: + value: | + 提交前请确认您已遵循以下步骤: + - 确认问题在 [**dev**](../) 上可重现。 + - 遇到构建问题时运行 `make distclean`。 + - 搜索 [现有问题](./) diff --git a/.gitee/ISSUE_TEMPLATE/002_feature_request.yml b/.gitee/ISSUE_TEMPLATE/002_feature_request.yml new file mode 100644 index 0000000000000000000000000000000000000000..8b500152e7f080e30baa628bdc8c079b93be3d25 --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE/002_feature_request.yml @@ -0,0 +1,34 @@ +name: 新需求 | Feature +description: 当您需要反馈或实现一个新需求时,使用此模板。 +title: "[FEATURE] <标题>" +body: + - type: markdown + attributes: + value: | + 感谢您对 openvela 社区的支持与关注。 + + - type: textarea + id: question-description + attributes: + label: 您的需求是否和问题相关? + description: 请简单描述问题,并提供issue链接。 + validations: + required: true + + - type: textarea + id: solution + attributes: + label: 请描述您想要的解决方案 + validations: + required: true + + - type: textarea + id: 替代方案 + attributes: + label: 请描述您考虑过的替代解决方案 + + - type: markdown + attributes: + value: | + 提交前请搜索 [现有功能需求](./) + diff --git a/.gitee/ISSUE_TEMPLATE/003_help.yml b/.gitee/ISSUE_TEMPLATE/003_help.yml new file mode 100644 index 0000000000000000000000000000000000000000..bde95adf3d07da0e687eef3d960a10b26b2a97a9 --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE/003_help.yml @@ -0,0 +1,22 @@ +name: 问题咨询 +title: "[问题咨询]" +body: + - type: markdown + attributes: + value: | + 感谢您对 openvela 社区的支持与关注。 + + - type: textarea + id: question-description + attributes: + label: 描述 + description: 请解释您的问题的背景或上下文,这有助于其他人更好地理解您的问题或疑问。 + validations: + required: true + + - type: markdown + attributes: + value: | + 提交前请确认您已遵循以下步骤: + - 我已搜索 [openvela 文档](../),但未找到问题的答案。 + - 已搜索 [现有问题](./) diff --git a/.gitee/ISSUE_TEMPLATE/config.yml b/.gitee/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000000000000000000000000000000000..3ba13e0cec6cbbfd462e9ebf529dd2093148cd69 --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.gitee/PULL_REQUEST_TEMPLATE.md b/.gitee/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000000000000000000000000000000000..cd8b2bc3a7690b37298e12d71c7b12189d26fae8 --- /dev/null +++ b/.gitee/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,11 @@ +## 概要 + +*在此部分更新信息,说明更改的必要性、具体做了什么以及如何实现的,如果有新功能出现,请提供参考资料(依赖关系、类似问题和解决方案等)。* + +## 影响 + +*在此部分更新信息(如适用),说明更改如何影响用户、构建过程、硬件、文档、安全性、兼容性等。* + +## 测试 + +*在此部分更新信息,详细说明如何验证更改,使用什么主机进行构建(操作系统、CPU、编译器等),使用什么目标进行验证(架构、板子:配置等)。提供更改前后的构建和运行日志将非常有帮助。* \ No newline at end of file diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000000000000000000000000000000000..50857c069386239174a4cb089b687164a01cbc54 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @xiaoxiang781216 @GUIDINGLI diff --git a/.github/ISSUE_TEMPLATE/001_bug_report.yml b/.github/ISSUE_TEMPLATE/001_bug_report.yml new file mode 100644 index 0000000000000000000000000000000000000000..48e823db004f97019d883d13fd419084b650b4df --- /dev/null +++ b/.github/ISSUE_TEMPLATE/001_bug_report.yml @@ -0,0 +1,60 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +name: Bug report +description: Report a bug to improve openvela stability +title: "[BUG] " +labels: [👀 needs triage, "Type: Bug"] +body: + - type: markdown + attributes: + value: | + Hello openvela Community member! Please keep things tidy by putting your post in the proper place: + + Reporting a bug: use this form. + Asking a question or getting help: use the [General Help](./new?assignees=&labels=Community%3A+Question&projects=&template=003_help.yml&title=%5BHELP%5D+%3Ctitle%3E) form. + Requesting a new feature: use the [Feature request](./new?assignees=&labels=Type%3A+Enhancement&projects=&template=002_feature_request.yml&title=%5BFEATURE%5D+%3Ctitle%3E) form. + - type: textarea + attributes: + label: "Description / Steps to reproduce the issue" + description: "A clear and concise description of what the bug is, and why you consider it to be a bug, and steps for how to reproduce it" + placeholder: | + A description with steps to reproduce the issue. + May include logs, images, or videos. + 1. Step 1 + 2. Step 2 + validations: + required: true + + - type: dropdown + id: architecture + attributes: + label: Issue Architecture + description: What architecture(s) are you seeing the problem on? + multiple: true + options: + - "[Arch: arm]" + - "[Arch: arm64]" + - "[Arch: x86_64]" + validations: + required: true + + - type: markdown + attributes: + value: | + ### Before You Submit + + Please verify that you've followed these steps: + - Confirm the problem is reproducible on [**dev**](../). + - Run `make distclean` when encountering build issues. + - Search [existing issues](./) (including [closed](./?q=is%3Aissue+is%3Aclosed)) + diff --git a/.github/ISSUE_TEMPLATE/002_feature_request.yml b/.github/ISSUE_TEMPLATE/002_feature_request.yml new file mode 100644 index 0000000000000000000000000000000000000000..d5f410895687730a42836aa65c321c13e59100c5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/002_feature_request.yml @@ -0,0 +1,55 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +name: Feature request +description: Request an enhancement for openvela +title: "[FEATURE] <title>" +labels: ["Type: Enhancement"] +body: + - type: markdown + attributes: + value: | + Hello openvela Community member! Please keep things tidy by putting your post in the proper place: + + Requesting a new feature: use this form. + Asking a question or getting help: use the [General Help](./new?assignees=&labels=Community%3A+Question&projects=&template=003_help.yml&title=%5BHELP%5D+%3Ctitle%3E) form. + Reporting a bug: use the [Bug report](./new?assignees=&labels=%F0%9F%91%80+needs+triage%2CType%3A+Bug&projects=&template=001_bug_report.yml&title=%5BBUG%5D+%3Ctitle%3E) form. + + - type: textarea + id: question-description + attributes: + label: Is your feature request related to a problem? Please describe. + description: Please provide a clear and concise description of what the problem is. Add relevant issue link. + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Describe the solution you'd like + description: Please provide a clear and concise description of what you want to happen. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: Please provide a clear and concise description of any alternative solutions or features you've considered. + + - type: markdown + attributes: + value: | + ### Before You Submit + + Please verify that you've followed these steps: + - Search [existing feature requests](./) (including [closed](./?q=is%3Aissue+is%3Aclosed)) diff --git a/.github/ISSUE_TEMPLATE/003_help.yml b/.github/ISSUE_TEMPLATE/003_help.yml new file mode 100644 index 0000000000000000000000000000000000000000..ff1e1bf627ad1674eef3a4e20ed808e416beb0ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/003_help.yml @@ -0,0 +1,47 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +name: General Help +description: Get general support regarding openvela +title: "[HELP] <title>" +labels: ["Community: Question"] +body: + - type: markdown + attributes: + value: | + Hello openvela Community member! Please keep things tidy by putting your post in the proper place: + + Asking a question or getting help: use this form. + Reporting a bug: use the [Bug report](./new?assignees=&labels=%F0%9F%91%80+needs+triage%2CType%3A+Bug&projects=&template=001_bug_report.yml&title=%5BBUG%5D+%3Ctitle%3E) form. + Requesting a new feature: use the [Feature request](./new?assignees=&labels=Type%3A+Enhancement&projects=&template=002_feature_request.yml&title=%5BFEATURE%5D+%3Ctitle%3E) form + + - type: markdown + attributes: + value: | + ### Whether you're a beginner or an experienced developer, openvela Help is here to assist you with all your openvela questions and concerns. + + - type: textarea + id: question-description + attributes: + label: Description + description: Explain the background or context of your question. This helps others understand your problem or inquiry better. + validations: + required: true + + - type: markdown + attributes: + value: | + ### Before You Submit + + Please verify that you've followed these steps: + - I have searched [openvela Documentation](../) and didn't find an answer to my question. + - Search [existing issues](./) (including [closed](./?q=is%3Aissue+is%3Aclosed)) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000000000000000000000000000000000..3ba13e0cec6cbbfd462e9ebf529dd2093148cd69 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000000000000000000000000000000000..cfe55eb61d3334245c04325ee92abc7fdd1ebc07 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,20 @@ +*Note: Please adhere to [Contributing Guidelines](https://github.com/open-vela/docs/blob/dev/CONTRIBUTING.md).* + +## Summary + +*Update this section with information on why change is necessary, + what it exactly does and how, if new feature shows up, provide + references (dependencies, similar problems and solutions), etc.* + +## Impact + +*Update this section, where applicable, on how change affects users, + build process, hardware, documentation, security, compatibility, etc.* + +## Testing + +*Update this section with details on how did you verify the change, + what Host was used for build (OS, CPU, compiler, ..), what Target was + used for verification (arch, board:config, ..), etc. Providing build + and runtime logs from before and after change is highly appreciated.* + diff --git a/.github/workflows/checkpatch.yml b/.github/workflows/checkpatch.yml new file mode 100644 index 0000000000000000000000000000000000000000..1cfe702b8cccf06491eaeef1267b63eb1cfbbdd6 --- /dev/null +++ b/.github/workflows/checkpatch.yml @@ -0,0 +1,14 @@ +# This is a basic workflow to help you get started with Actions + +name: checkpatch + +# Controls when the workflow will run +on: + pull_request: + types: [opened, reopened, synchronize] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + checkpatch: + uses: open-vela/public-actions/.github/workflows/checkpatch.yml@dev + secrets: inherit diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..75b6797a9cd6459908bccdb8f514677a3cd48207 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,14 @@ +# This is a basic workflow to help you get started with Actions + +name: CI + +# Controls when the workflow will run +on: + pull_request_target: + types: [opened, reopened, synchronize] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + ci: + uses: open-vela/public-actions/.github/workflows/ci.yml@dev + secrets: inherit diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml new file mode 100644 index 0000000000000000000000000000000000000000..e347b4a860dc433d4bc6f749125d80c0986933ed --- /dev/null +++ b/.github/workflows/clang-format.yml @@ -0,0 +1,13 @@ +# This is a basic workflow to help you get started with Actions + +name: clang-format + +# Controls when the workflow will run +on: + pull_request: + types: [opened, reopened, synchronize] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + clang-format: + uses: open-vela/public-actions/.github/workflows/clang-format.yml@dev diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000000000000000000000000000000000000..95183d91cbbf10895cd8656388e75020ac95fa7c --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,11 @@ +name: 'Close stale issues and PR' +on: + schedule: + - cron: '30 1 * * *' + workflow_dispatch: # 允许手动触发 + +jobs: + stale: + uses: open-vela/public-actions/.github/workflows/stale.yml@dev + secrets: inherit + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a695e2c011d2ed1cb3ef792be166052007c4765b --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +.depend +.kconfig +Kconfig +Make.dep +*.o +*.a +*.d +*.i +*~ +.swp +.*.swp +core +.gdbinit +cscope.out +/*/ +/.context +/.config +/.depend +/*.lib diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a2cb549807568ebdde04a86e3f2ef8445e0696f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,23 @@ +# ############################################################################## +# frameworks/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +nuttx_add_subdirectory() + +nuttx_generate_kconfig(MENUDESC "Frameworks") diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..bbe81b91d4736f0e27422b1f19acdd99606d3161 --- /dev/null +++ b/LICENSE @@ -0,0 +1,10 @@ +Copyright (C) 2024 Xiaomi Corporation +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at +http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Make.defs b/Make.defs new file mode 100644 index 0000000000000000000000000000000000000000..45df7d70b3587a9e5e3d4303493d2a785c71c936 --- /dev/null +++ b/Make.defs @@ -0,0 +1,17 @@ +# +# Copyright (C) 2023 Xiaomi Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +include $(wildcard $(APPDIR)/frameworks/*/Make.defs) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..0893790568d02901901f28e166c9778ee518e74d --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +# +# Copyright (C) 2023 Xiaomi Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +MENUDESC = "Frameworks" + +include $(APPDIR)/Directory.mk diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1f8a4197e126368418cc0e054b9816fc96cb546a --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# Frameworks Overview + +\[ English | [简体中文](README_zh-cn.md) \] + +This project adopts a top-level repository (super repository) management approach to organize multiple sub-repositories. This method allows for better management and maintenance of different parts of the codebase while ensuring the independence and flexibility of each sub-repository. The sub-repositories are prefixed with the `frameworks` field. + + +## List of Sub-Repositories + +| Sub-repository Link | Description | +| -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [frameworks_bluetooth](../../../../open-vela/frameworks_bluetooth) | This repository provides developers with a rich Bluetooth API, including API layers, various Services components, SAL protocol stack adaptation layers, and HAL hardware adaptation layers. | +| [frameworks_connectivity_telephony](../../../../open-vela/frameworks_connectivity_telephony) | This repository provides a set of tools and interfaces for application developers, covering network services, telephony services, SMS services, data services, and SIM card services. Developers can easily access telephony-related information and efficiently develop applications without delving into the internal logic of `Telephony`. | +| [frameworks_graphics_uikit](../../../../open-vela/frameworks_graphics_uikit) | This repository is based on `LVGL` and offers components like `video`, along with an extended font management system. It also includes various demo cases to help developers quickly get started. | +| [frameworks_multimedia_media](../../../../open-vela/frameworks_multimedia_media) | This repository provides key interfaces for multimedia playback and recording, audio focus management, audio strategies, etc. Developers can easily implement multimedia-related features using these interfaces. | +| [frameworks_multimedia_media_pfw](../../../../open-vela/frameworks_multimedia_media_pfw) | This repository provides a generic state machine framework with interfaces for use by the audio strategy module. | +| [frameworks_runtimes_services_brightness](../../../../open-vela/frameworks_runtimes_services_brightness) | This repository provides brightness control functionality, supporting automatic adjustment of screen brightness based on ambient light, as well as manual brightness adjustments and real-time curve modifications. | +| [frameworks_runtimes_services_am](../../../../open-vela/frameworks_runtimes_services_am) | This repository implements application lifecycle management in the `openvela` multi-application framework, including the creation, launch, pause, resume, and destruction of activities. | +| [frameworks_runtimes_services_pm](../../../../open-vela/frameworks_runtimes_services_pm) | This repository implements application package management functionality in the `openvela` multi-application framework, including installation, uninstallation, and querying. | +| [frameworks_runtimes_services_system_server](../../../../open-vela/frameworks_runtimes_services_system_server) | This repository implements the management and launch of multiple system services in the `openvela` multi-application framework, including application management, package management, window management, and brightness management services. | +| [frameworks_runtimes_services_wm](../../../../open-vela/frameworks_runtimes_services_wm) | This repository implements window management functionality in the `openvela` multi-application framework, including input, output, and display management capabilities. | +| [frameworks_runtimes_services_xmsdemo](../../../../open-vela/frameworks_runtimes_services_xmsdemo) | This repository provides demo applications for developers to quickly get started with application development in the `openvela` multi-application framework, ideal for beginners. | +| [frameworks_runtimes_typescript_ts2native](../../../../open-vela/frameworks_runtimes_typescript_ts2native) | This repository provides the core framework and examples for converting `TypeScript` to `Native` code in `openvela`. | +| [frameworks_runtimes_typescript_ts2wasm](../../../../open-vela/frameworks_runtimes_typescript_ts2wasm) | This repository provides the core framework and examples for converting `TypeScript` to `Wasm` bytecode in `openvela`, aimed at improving the runtime performance of `TypeScript`. | +| [frameworks_runtimes_wasm](../../../../open-vela/frameworks_runtimes_wasm) | This repository provides examples and extended API implementations for the `openvela` Wasm runtime environment, allowing quick integration of system capabilities into the Wasm runtime. | +| [frameworks_security](../../../../open-vela/frameworks_security) | This repository mainly includes the implementation of `openvela TEE (Trusted Execution Environment)` default security applications, including `TA (Trusted Application)` and `CA (Client Application)`. | +| [frameworks_security_optee_vela](../../../../open-vela/frameworks_security_optee_vela) | This repository provides the implementation of the `OPTEE (Open Portable Trusted Execution Environment)` framework compatible with the `openvela` kernel, allowing quick integration of `openvela` systems without needing to understand the details of the `openvela` architecture layer. | +| [frameworks_system_binder](../../../../open-vela/frameworks_system_binder) | This repository provides examples, performance testing programs, and C language implementations for various Binder scenarios, supporting the study and development of Binder. | +| [frameworks_system_charger](../../../../open-vela/frameworks_system_charger) | This repository provides `openvela` charging services, monitoring and managing battery charging processes, including thermal control, current limiting, and charge/discharge scenarios to ensure safe and fast charging. | +| [frameworks_system_healthd](../../../../open-vela/frameworks_system_healthd) | This repository provides `openvela` battery information monitoring services, publishing through the `battery_state` topic for applications to subscribe via the `uORB` framework. | +| [frameworks_system_ota](../../../../open-vela/frameworks_system_ota) | This repository mainly contains the implementation of OTA (Over-the-Air) updates and AVB (Android Verified Boot) signature verification. | +| [frameworks_system_topics](../../../../open-vela/frameworks_system_topics) | This repository provides the definitions of commonly used `topics` in `openvela`, including system, connectivity, and virtual sensor topics, supporting publishing and subscribing through the `uORB` framework. | +| [frameworks_system_utils](../../../../open-vela/frameworks_system_utils) | This repository contains basic system components and services, including `kvdb`, `trace`, `uv`, and others. | +| [frameworks_system_utils_uv](../../../../open-vela/frameworks_system_utils_uv) | This repository implements database and network interfaces in the style of `libuv`, making it easier to integrate these capabilities into asynchronous applications based on `libuv`. | +| [frameworks_system_vibrator](../../../../open-vela/frameworks_system_vibrator) | This repository provides powerful vibration functionality for various devices, enhancing user experience with customizable vibration patterns, amplitude, and intensity, and supporting cross-core API calls to control vibrator devices. | diff --git a/README_zh-cn.md b/README_zh-cn.md new file mode 100644 index 0000000000000000000000000000000000000000..d2367257d2cc3ec9edfe26152fc184a6a9864a85 --- /dev/null +++ b/README_zh-cn.md @@ -0,0 +1,34 @@ +# frameworks 简介 + +\[ [English](README.md) | 简体中文 \] + +本项目采用顶层仓库(super repository)管理多个子仓库的方式进行组织。通过这种方式,可以更好地管理和维护不同部分的代码库,同时确保每个子仓库的独立性和灵活性。子仓库以 `frameworks` 字段开头。 + +## 子仓库列表 + +| 子仓库链接 | 描述 | +| :------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [frameworks_bluetooth](../../../../open-vela/frameworks_bluetooth) | 该仓库旨在为应用程序开发者提供丰富的蓝牙应用编程接口,包括 API 接口层、各种 Services 服务组件层、SAL 协议栈适配层和 HAL 硬件适配层。 | +| [frameworks_connectivity_telephony](../../../../open-vela/frameworks_connectivity_telephony) | 该仓库为应用程序提供了一组功能丰富的工具和接口,涵盖网络服务、通话服务、短信服务、数据服务和 SIM 卡服务。通过这些接口,应用开发者无需深入了解 `Telephony` 的内部业务逻辑,只需调用 `API` 即可轻松获取与 `Telephony` 相关的信息,并高效完成应用开发。 | +| [frameworks_graphics_uikit](../../../../open-vela/frameworks_graphics_uikit) | 该仓库基于 `LVGL` 提供了 `video` 等特色组件,并扩展了字体管理机制,同时包含多个基于这些组件的 demo 用例,帮助开发者快速上手。 | +| [frameworks_multimedia_media](../../../../open-vela/frameworks_multimedia_media) | 该仓库提供了用于实现多媒体播放与录制、音频焦点管理、音频策略等关键接口。通过这些接口,开发者可以轻松实现多媒体相关功能。 | +| [frameworks_multimedia_media_pfw](../../../../open-vela/frameworks_multimedia_media_pfw) | 该仓库为通用状态机框架,提供接口给音频策略模块使用。 | +| [frameworks_runtimes_services_brightness](../../../../open-vela/frameworks_runtimes_services_brightness) | 该仓库提供亮度控制功能,支持根据环境光自动调节屏幕亮度,并允许用户手动调整亮度,同时实时修改控制曲线。 | +| [frameworks_runtimes_services_am](../../../../open-vela/frameworks_runtimes_services_am) | 该仓库实现了 `openvela` 在多应用框架下的应用程序生命周期管理,包括活动的创建、启动、暂停、恢复和销毁。 | +| [frameworks_runtimes_services_pm](../../../../open-vela/frameworks_runtimes_services_pm) | 该仓库实现了 `openvela` 在多应用框架下的应用包管理功能,包括安装、卸载和查询。 | +| [frameworks_runtimes_services_system_server](../../../../open-vela/frameworks_runtimes_services_system_server) | 该仓库实现了 `openvela` 在多应用框架下启动和管理多个系统服务的功能,包括应用管理、包管理、窗口管理和亮度管理服务。 | +| [frameworks_runtimes_services_wm](../../../../open-vela/frameworks_runtimes_services_wm) | 该仓库实现了 `openvela` 在多应用框架下的窗口管理功能,包括输入、输出和显示管理等能力。 | +| [frameworks_runtimes_services_xmsdemo](../../../../open-vela/frameworks_runtimes_services_xmsdemo) | 该仓库提供了 `openvela` 在多应用框架下的应用开发 demo,适合初学者和开发者快速上手。 | +| [frameworks_runtimes_typescript_ts2native](../../../../open-vela/frameworks_runtimes_typescript_ts2native) | 该仓库提供了 `openvela` 中将 `TypeScript` 转换为 `Native` 代码的核心框架和示例。 | +| [frameworks_runtimes_typescript_ts2wasm](../../../../open-vela/frameworks_runtimes_typescript_ts2wasm) | 该仓库是 `openvela` 中将 `TypeScript` 语言转换为 `Wasm` 字节码的核心框架和示例,旨在提高 `TypeScript` 的运行性能。 | +| [frameworks_runtimes_wasm](../../../../open-vela/frameworks_runtimes_wasm) | 该仓库提供了 `openvela` Wasm 运行时环境的部分示例和扩展 API 实现,使用该框架可以快速将系统的能力导入到 Wasm 运行时环境中。 | +| [frameworks_security](../../../../open-vela/frameworks_security) | 该仓库主要包含了 `openvela TEE(Trusted Execution Environment)` 默认的安全应用 `TA(Trusted Application)` 和 `CA(Client Application)` 实现。 | +| [frameworks_security_optee_vela](../../../../open-vela/frameworks_security_optee_vela) | 该仓库提供了兼容 `openvela` 内核的 `OPTEE(Open Portable Trusted Execution Environment)` 框架实现,使用 `OPTEE` 框架可以快速接入 `openvela` 系统,无需了解 `openvela` 架构层的细节。 | +| [frameworks_system_binder](../../../../open-vela/frameworks_system_binder) | 该仓库提供了 `Binder` 各种场景的示例、性能测试程序,以及 `C` 语言版本的实现,旨在支持 `Binder` 的学习和开发。 | +| [frameworks_system_charger](../../../../open-vela/frameworks_system_charger) | 该仓库提供了 `openvela` 充电服务,用于监控和管理电池充电过程,包括温控、限流和停复充等场景,确保电池安全快速充电。 | +| [frameworks_system_healthd](../../../../open-vela/frameworks_system_healthd) | 该仓库提供了 `openvela` 电池信息监控服务,通过 `battery_state` 主题向外发布,供应用通过 `uORB` 框架订阅。 | +| [frameworks_system_ota](../../../../open-vela/frameworks_system_ota) | 该仓库主要包含 `OTA` 实现和 `AVB` 验签实现。 | +| [frameworks_system_topics](../../../../open-vela/frameworks_system_topics) | 该仓库提供了 `openvela` 常用 `topic` 的定义,包括系统、连接和虚拟传感器等,支持通过 `uORB` 框架进行发布和订阅。 | +| [frameworks_system_utils](../../../../open-vela/frameworks_system_utils) | 该仓库包含了系统基础组件和服务,包括 `kvdb`、`trace` 和 `uv` 等。 | +| [frameworks_system_utils_uv](../../../../open-vela/frameworks_system_utils_uv) | 该仓库实现了 `libuv` 风格的数据库和网络等接口,便于将这些能力集成到基于 `libuv` 的异步应用程序中。 | +| [frameworks_system_vibrator](../../../../open-vela/frameworks_system_vibrator) | 该框架旨在为各种设备提供强大的振动功能,通过可自定义的振动模式、幅度和强度提升用户体验,并支持跨核 API 调用以控制振动器设备。 | \ No newline at end of file