diff --git a/en/device_dev_guide/connection/telephony/Telephony_Cfg.md b/en/device_dev_guide/connection/telephony/Telephony_Cfg.md index e596de1d..38a34aac 100644 --- a/en/device_dev_guide/connection/telephony/Telephony_Cfg.md +++ b/en/device_dev_guide/connection/telephony/Telephony_Cfg.md @@ -4,7 +4,7 @@ The Telephony service involves many modules. Below are the detailed descriptions of the related configurations. -## 1. DBUS Configuration +## I. DBUS Configuration The following are the related configuration items for DBUS: @@ -18,7 +18,7 @@ CONFIG_LIBC_MAX_EXITFUNS=4 CONFIG_NET_LOCAL_SCM=y ``` -## 2. GLIB Configuration +## II. GLIB Configuration The following are the related configuration items for GLIB: @@ -26,7 +26,7 @@ The following are the related configuration items for GLIB: CONFIG_LIB_GLIB=y ``` -## 3. oFono Configuration +## III. oFono Configuration The following are the related configuration items for oFono: @@ -40,7 +40,7 @@ CONFIG_SIGNAL_FD=y CONFIG_LIBC_DLFCN=y ``` -## 4. GDBUS Configuration +## IV. GDBUS Configuration The following are the related configuration items for GDBUS: @@ -49,7 +49,7 @@ CONFIG_LIB_DBUS=y CONFIG_ALLOW_BSD_COMPONENTS=y ``` -## 5. Telephony API Configuration +## V. Telephony API Configuration The following are the related configuration items for Telephony API: @@ -61,6 +61,6 @@ CONFIG_TELEPHONY=y CONFIG_TELEPHONY_TOOL=y ``` -## 6. Notes +## VI. Notes To enable openvela to support cellular communication capabilities, in addition to the above Telephony configurations, the corresponding modem configurations must also be enabled based on the specific product platform. diff --git a/en/device_dev_guide/connection/telephony/overview_of_telephony.md b/en/device_dev_guide/connection/telephony/overview_of_telephony.md index 8995374b..b79da5ac 100644 --- a/en/device_dev_guide/connection/telephony/overview_of_telephony.md +++ b/en/device_dev_guide/connection/telephony/overview_of_telephony.md @@ -2,11 +2,11 @@ \[ English | [简体中文](../../../../zh-cn/device_dev_guide/connection/telephony/overview_of_telephony.md) \] -## 1. Background +## I. Background Currently, openvela is widely used in various consumer terminal products. Some of these terminals, such as lightweight smart eSIM watches, require support for cellular communication functionality. To meet this demand, openvela needs to build a standardized, compatible, and sustainable openvela Telephony subsystem to manage core functions related to cellular communication and peripheral interfaces. This will further enrich and promote the development of the openvela ecosystem. -## 2. Why Choose oFono as the Foundation +## II. Why Choose oFono as the Foundation oFono is a Telephony Host Stack designed for Linux-based embedded mobile devices and desktop systems. It is licensed under the GPLv2 license. oFono is implemented using C language, GLib, and DBus, and supports various types of modems, such as: @@ -16,7 +16,7 @@ oFono is a Telephony Host Stack designed for Linux-based embedded mobile devices Based on oFono's technical advantages and open-source ecosystem, openvela chooses oFono as the foundation to extend and develop the Telephony subsystem to meet cellular communication functionality requirements. -## 3. openvela’s Mobile Communication Solution +## III. openvela’s Mobile Communication Solution openvela integrates oFono into the system and enhances its mobile communication capabilities, such as supporting VoLTE (Voice over LTE) voice calls, thereby improving the mobile communication capabilities of the Internet of Things real-time operating system. Through hierarchical encapsulation and decoupling, as well as diversified chip platform integration methods, the overall mobile communication solution of the openvela system allows upper-layer applications (APPs) to achieve cross-platform reuse, providing users with the best communication experience. @@ -85,7 +85,7 @@ Reference RIL divides the RIL module into two parts: 2. Reference QEMU RIL: A reference implementation for the QEMU emulator. Modem chip vendors can refer to the Reference QEMU RIL to implement Vendor RIL modules, which interact with the Modem for control-plane operations. In commercial products, openvela LibRIL and Vendor RIL together implement the complete RIL functionality. -## 4. Telephony Business Adaptation +## IV. Telephony Business Adaptation To implement Telephony functionality on the openvela system, the following adaptation work must be completed: diff --git a/en/device_dev_guide/kernel/resource_sync/atomic_operation.md b/en/device_dev_guide/kernel/resource_sync/atomic_operation.md index 8dda0be1..9ed7f066 100644 --- a/en/device_dev_guide/kernel/resource_sync/atomic_operation.md +++ b/en/device_dev_guide/kernel/resource_sync/atomic_operation.md @@ -2,16 +2,16 @@ \[ English | [简体中文](../../../../zh-cn/device_dev_guide/kernel/resource_sync/atomic_operation.md) \] -## 1. Overview +## I. Overview The prebuilts toolchain in openvela supports inline atomic operation interfaces, which are defined in the `stdatomic.h` header file. -### 1、File Path +### 1. File Path Taking the ARM architecture as an example, the file path for `stdatomic.h` is as follows: ```Shell -# 以 arm 架构为例 +# Take the arm architecture as an example prebuilts/gcc/linux/arm/arm-none-eabi/include/stdatomic.h ``` @@ -44,7 +44,7 @@ In the `Make.defs` file, the compilation rule for `arch_atomic.c` is as follows: CSRCS += arch_atomic.c ``` -## 2. Included Header Files +## II. Included Header Files When using atomic operations in the code, include the following header file: @@ -52,7 +52,7 @@ When using atomic operations in the code, include the following header file: #include ``` -## 3. Atomic Variable Types +## III. Atomic Variable Types Atomic variables support the following types, referred to as `atomic_type` in subsequent documentation: @@ -95,7 +95,7 @@ atomic_intmax_t atomic_uintmax_t ``` -## 4. Atomic Operation Interfaces +## IV. Atomic Operation Interfaces Atomic operation interfaces provide a set of thread-safe operations for initializing, reading, modifying, and comparing atomic variables. Below is a detailed description of the interfaces. @@ -150,7 +150,7 @@ atomic_type atomic_fetch_or(atomic_type *object, atomic_type desired); atomic_type atomic_fetch_and(atomic_type *object, atomic_type desired); ``` -## 5. Internal Implementation in Vela +## V. Internal Implementation in Vela o avoid inconsistencies in atomic interface support across different toolchains, Vela provides a set of system-level implementations. When the toolchain does not support atomic operations, Vela's implementation of Atomic will be used as a substitute. For complete details, refer to the file [arch_atomic.c](https://github.com/open-vela/nuttx/blob/dev/libs/libc/machine/arch_atomic.c) Vela’s internal implementation mainly uses spinlocks to simulate atomic operations. It decomposes operations such as load, store, exchange, and CAS into different macros. For example, atomic_store, which has the following function prototype: @@ -308,6 +308,6 @@ atomic test complete! // Test Passed ``` The test results indicate that all atomic operations were executed correctly and the verification was successful. -## 6. References +## VI. References -- [GCC 官方文档:atomic Builtins](https://gcc.gnu.org/onlinedocs/gcc-12.3.0/gcc/_005f_005fatomic-Builtins.html) \ No newline at end of file +- [GCC Official Documentation:atomic Builtins](https://gcc.gnu.org/onlinedocs/gcc-12.3.0/gcc/_005f_005fatomic-Builtins.html) \ No newline at end of file