You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+40-37Lines changed: 40 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -15,51 +15,54 @@
15
15
16
16
## Features
17
17
18
-
#### In this version (ver1.1.0)
18
+
#### In this version (ver1.1.0)
19
19
20
-
The Arm-2D library provides **Low-Level 2D Image Processing Services**that are mainly used in **Deep Embedded Display system**. The supported features include but not limited to:
20
+
The Arm-2D library provides **Low-Level 2D Image Processing Services** mainly used in **Deep Embedded Display system**. The supported features include but not limited to:
21
21
22
-
-**Support Accelerating LVGL** (**v8.3.0** or newer)
22
+
-**Supports Accelerating LVGL** (**v8.3.0** or newer)
23
23
-**CMSIS-Pack is available.**
24
-
-**Alpha-Blending** / **Alpha-Masking**
24
+
-**Alpha-Blending** / **Masks**
25
25
- With or without Colour-Keying
26
-
- Filling-Colour with an Alpha-Mask
27
-
- For drawing icons/texts with anti-alias in a specified colour
28
-
- Supports an optional ***Opacity*** ratio can be applied.
26
+
- Filling-Colour with an mask
27
+
- For drawing anti-alias icons/texts in a specified colour
28
+
- Supports an optional ***Opacity***.
29
+
- Supports A2, A4 and A8 masks
29
30
-**Image Copy (Tiling)**
30
-
- With or without Colour-Keying (a.k.a colour masking)
31
+
- With or without Colour-Keying
31
32
- Supports four mirroring modes: No-mirroring, X-mirroring, Y-mirroring and XY-mirroring
32
-
- Supports **alpha masks** on the source side and/or the target side
33
+
- Supports **masks** on the source side and/or the target side
33
34
-**Supported Colour formats**
34
-
-**Gray8 (8-bit Grayscale)**, **RGB565** and **RGB888**
35
-
- Generic **8bit colour**, **RGB16** and **RGB32**
36
-
- Converting colour formats among **GRAY8**, **RGB565** and **RGB888** for any given tiles
37
-
- A2, A4 and A8 masks
38
-
-**Region/Window Clipping**
35
+
-**GRAY8 (8-bit Grayscale)**, **RGB565** and **RGB888**
36
+
- Generic **C8BIT (8bit colour)**, **RGB16** and **RGB32**
37
+
- Converting colour formats among **GRAY8**, **RGB565** and **RGB888**
38
+
-**Region Clipping**
39
39
-**Generic Partial Frame-buffer (PFB)**
40
-
- Transparent for upper layer software/GUI services
40
+
- Transparent for software/GUI services on upper layers
41
41
- Easy to Use
42
-
- No limitation on target screen resolution
43
-
- No limitation on PFB size and shape (it could be a line or a rectangular with any size)
44
-
- Supports the **Dirty Regions**when performing the low level refreshing
42
+
- No limitation on screen resolution**(See note)**
43
+
- No limitation on PFB size and shape (it could be a line or a rectangular with any size)**(See note)**
44
+
- Supports **Dirty Regions**for refreshing specified areas only
45
45
- Supports swapping high and low bytes for RGB16 pixels
46
46
- Introduce a **Scene Player** with various scene switching modes (Fade-In-Fade-Out, Slide, Erase etc.)
47
-
- Support Various Buffer Modes with a built-in framebuffer pool.
47
+
- Support various Buffer Modes with a built-in framebuffer pool.
48
48
- Single Buffer/Double-Buffers/Three-Buffers
49
49
- Direct Mode
50
50
- Enhanced Asynchronous Flushing Support (i.e. DMA + ISR)
51
+
52
+
**NOTE**: As long as the size is smaller than 32767 * 32767.
53
+
51
54
-**Transform** (i.e. rotation and scaling)
52
-
- Supports Colour-keying by default
55
+
- Supports Colour-keying
53
56
- Supports an optional **Opacity** ratio
54
-
- Supports the Anti-Alias feature.
55
-
- You can enable it by defining macro `__ARM_2D_HAS_ANTI_ALIAS_TRANSFORM__` to `1` at **compile-time**.
56
-
-Support source masks
57
+
- Supports Anti-Alias.
58
+
- You can enable it by defining the macro `__ARM_2D_HAS_ANTI_ALIAS_TRANSFORM__` to `1` at **compile-time**.
59
+
-Supports source masks
57
60
-**An Unified and User-Friendly Programmers' Model**
58
-
- APIs can be used in **Synchronous** manner ( **Classic and Blocking** ) and/or **Asynchronous** manner ( **Event-Driven** )
59
-
- Supports both **bare-metal** and **RTOS**environment
61
+
- APIs can be used in **Synchronous** manner ( **Classic Blocking-code** ) and/or **Asynchronous** manner ( **Event-Driven** )
62
+
- Supports both **bare-metal** and **RTOS**environments
60
63
- Ultra small memory footprint
61
64
-**Support Virtual Resource**
62
-
-Support loading resources from external memories which is not mapped to 4G memory space
65
+
-Supports loading resources in on-demand manner from external memories that are not mapped into the 4G memory space.
63
66
64
67
65
68
@@ -68,7 +71,7 @@ The Arm-2D library provides **Low-Level 2D Image Processing Services** that are
68
71
69
72
- Image Filters, e.g. Generic Anti-aliasing algorithms
70
73
- Stretch and Perspective Transform
71
-
- DMAC-350 Support
74
+
-Supports DMAC-350
72
75
73
76
74
77
@@ -133,9 +136,9 @@ When we look at the traditionally embedded GUI architecture(as shown in **Figur
133
136
134
137
**The library is designed with ACI (Arm Custom Instructions) in mind.** Accelerations implemented with user-defined instructions can be integrated into the library easily without modifying the existing Arm-2D library or upper-layer software.
135
138
136
-
**The library is designed with 2D image accelerators in mind and following the featureagnostic principle.** The Support for accelerators can be added easily without modifying the existing Arm-2D library or upper-layer software.
139
+
**The library is designed with 2D image accelerators in mind and following the feature-agnostic principle.** The Support for accelerators can be added easily without modifying the existing Arm-2D library or upper-layer software.
137
140
138
-
**The library is designed with resource constraints in mind.****For Cortex-M processors with 4K~32K SRAM that cannot afford a full-frame-buffer**, Arm-2D introduces a feature called **Generic Partial Frame-buffer** enabling those existing MCUs to run GUI applications by practicing time-space exchange schemes while still enjoying a decent frame rate.
141
+
**The library is designed with resource constraints in mind.****For Cortex-M processors with 4K~32K SRAM that cannot afford a complete-framebuffer**, Arm-2D introduces a feature called **Generic Partial Framebuffer** enabling those existing MCUs to run GUI applications in a decent frame rate.
139
142
140
143
141
144
@@ -153,12 +156,12 @@ When we look at the traditionally embedded GUI architecture(as shown in **Figur
| benchmark | It is an **ALL-IN-ONE** example that demonstrates almost all features provided by Arm-2D. By setting different PFB sizes, you can evaluate the 2D image processing capability for the target system. | examples/benchmark |Can be used as benchmark. |
159
-
| watch_panel | It is a dedicated example of a smart-watch-like panel. A pointer and two gears rotate at different angular velocities on a translucent watch panel with a dynamic background. | examples/watch_panel |Can be used as benchmark |
160
-
|\[template\]\[bare-metal\]\[pfb\]| It is a project template for the bare-metal environment. | examples/\[template\]\[bare-metal\]\[pfb\]| Project Template |
161
-
|\[template\]\[cmsis-rtos2\]\[pfb\]| It is a project template for the RTOS environment, which use CMSIS-RTO2 as an example to show how Arm-2D can work with an RTOS. | examples/\[template\]\[cmsis-rtos2\]\[pfb\]| Project Template |
| benchmark | It is an **ALL-IN-ONE** example that demonstrates almost all features provided by Arm-2D. By setting different PFB sizes, you can evaluate the 2D image processing capability for the target system. | examples/benchmark |**Used as benchmark.**|
162
+
| watch_panel | It is a dedicated example of a smart-watch-like panel. A pointer and two gears rotate at different angular velocities on a translucent watch panel with a dynamic background. | examples/watch_panel |**Used as benchmark**|
163
+
|\[template\]\[bare-metal\]\[pfb\]| It is a project template for the bare-metal environment. | examples/\[template\]\[bare-metal\]\[pfb\]| Project Template |
164
+
|\[template\]\[cmsis-rtos2\]\[pfb\]| It is a project template for the RTOS environment, which use CMSIS-RTO2 as an example to show how Arm-2D can work with an RTOS. | examples/\[template\]\[cmsis-rtos2\]\[pfb\]| Project Template |
- The generic Anti-aliasing algorithms haven't been introduced, but anti-alias in transform (i.e. rotation and scaling) is supported.
354
357
- The library currently only provides default software algorithms and a **[Helium](https://developer.arm.com/architectures/instruction-sets/simd-isas/helium) based acceleration library**.
355
358
- Although planned and implemented, the [ACI (Arm Custom Instruction)](https://developer.arm.com/architectures/instruction-sets/custom-instructions) acceleration solutions are not open-source for now. Please contact local Arm FAE for details.
356
-
- The provided example projects only run on [MPS2](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps2), [MPS3](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3), [FVP](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/cortex-m-platforms-software) and some 3rd party development platforms, e.g. **STM32F746G-Discovery** and **Raspberry Pi Pico**.
359
+
- The provided example projects only run on [MPS2](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps2), [MPS3](https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3), [FVP](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/cortex-m-platforms-software) and some 3rd party development platforms, e.g. **STM32F746G-Discovery**.
357
360
- Feel free to try the library on your own devices. The library depends on no specific peripheral.
358
361
- Most of the example projects are created in MDK.
0 commit comments