当前位置:   article > 正文

OpenHarmony啃论文俱乐部—盘点开源鸿蒙引用的三方开源软件[1]_nuttx和openharmony

nuttx和openharmony

OpenHarmony third_party三方库:

  • 三方库(开源库)是封装的软件功能,可以避免重复造轮子、提升软件开发效率。
  • OpenHarmony使用的第三方开源软件放置gitee仓库中,并命名为third_party+第三方开源软件名称,即开源鸿蒙使用的三方库。
  • OpenHarmony子系统会依赖一些三方库,例如:
    1.复用开源跨平台UI框架flutter引擎提供基础的图形渲染能力。
    2.libxkbcommon 键盘映射表编译器和支持库,被键盘事件依赖。(用于OpenHarmony标准系统对键盘的支持)
    3.使用开源quickjs引擎,提供JS语言运行时和执行上下文,提供js的解析和jsframework的加载。
    3.输入系统由第三方库wayland来负责处理输入事件的。

OpenHarmony仓库:https://gitee.com/organizations/openharmony/projects

image.png

third_party_libpng

image.png

libpng 是官方的 PNG 参考库。它支持几乎所有PNG功能,可扩展,并且已经过超过23年的广泛测试。

OpenHarmony third_party_libpng 仓库:https://gitee.com/openharmony/third_party_libpng
libpng主页:http://www.libpng.org/pub/png/libpng.html

third_party_boost

image.png

  • Boost是为 C++ 语言标准库提供扩展的一些 C++ 程序库的总称。Boost库是一个可移植、提供源代码的 C++ 库,作为标准库的后备,是 C++ 标准化进程的开发引擎之一,是为 C++ 语言标准库提供扩展的一些 C++ 程序库的总称。
  • Boost库由 C++ 标准委员会库工作组成员发起,其中有些内容有望成为下一代 C++ 标准库内容。在 C++ 社区中影响甚大,是不折不扣的“准”标准库。

OpenHarmony third_party_boost 仓库:
https://gitee.com/openharmony/third_party_boost
boost主页:https://www.boost.org/

third_party_boringssl

BoringSSL是OpenSSL的一个分支。

  • SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。
  • OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议。其主要库是以C语言所写成,实现了基本的加密功能。
  • OpenSSL 是一个强大的安全套接字层password库,囊括常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
  • OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。

OpenHarmony third_party_boringssl 仓库:https://gitee.com/openharmony/third_party_boringssl
github地址:https://github.com/google/boringssl

third_party_pcre2

image.png

  • PCRE (Perl Compatible Regular Expressions) 是一个用C语言编写的正则表达式函数库。

OpenHarmony third_party_pcre2 仓库:https://gitee.com/openharmony/third_party_pcre2
pcre主页:http://www.pcre.org/

third_party_lwip

image.png

  • lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈

  • lwip现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。

lwip学术搜索结果:https://xs.dailyheadlines.cc/scholar?hl=zh-CN&as_sdt=0%2C5&q=lwip&btnG=
OpenHarmony third_party_lwip 仓库:https://gitee.com/openharmony/third_party_lwip
openh264主页:https://savannah.nongnu.org/projects/lwip/
github地址:https://github.com/lwip-tcpip/lwip

third_party_cmsis

image.png

  • CMSIS由The Common Microcontroller Software Interface Standard(ARM Cortex™ 微控制器软件接口标准)缩写而来。
  • 使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。

学术搜索结果:https://xs.dailyheadlines.cc/scholar?hl=zh-CN&as_sdt=0%2C5&q=cmsis&btnG=
CMSIS主页:https://developer.arm.com/tools-and-software/embedded/cmsis
OpenHarmony third_party_cmsis 仓库:https://gitee.com/openharmony/third_party_cmsis
github地址:https://github.com/ARM-software/CMSIS_5/tree/5.9.0

third_party_glfw

image.png

  • GLFW是一个开源的多平台库,用于桌面上的OpenGL,OpenGL ES和Vulkan开发。它提供了一个简单的 API,用于创建窗口、上下文和图面、接收输入和事件。
  • GLFW是用C语言编写的。

学术搜索结果:https://xs.dailyheadlines.cc/scholar?hl=zh-CN&as_sdt=0%2C5&q=glfw&btnG=
OpenHarmony third_party_glfw 仓库:https://gitee.com/openharmony/third_party_glfw
glfw主页:https://www.glfw.org/
github地址:https://github.com/glfw/glfw

third_party_eudev

  • udev 是Linux kernel 2.6系列的设备管理器。
  • 它主要的功能是管理/dev目录底下的设备节点。
  • 它同时也用来接替devfs及热插拔的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载固件及Linux 2.6.13内核。

OpenHarmony third_party_eudev 仓库:https://gitee.com/openharmony/third_party_eudev
github地址:https://github.com/gentoo/eudev

third_party_bzip2

image.png

  • bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩算法来得好。
  • 它是一款免费软件。可以自由分发免费使用。它广泛存在于UNIX && LINUX的许多发行版本中。
  • bzip2能够进行高质量的数据压缩。它利用先进的压缩技术,能够把普通的数据文件压缩10%至15%,压缩的速度和解压的效率都非常高!支持大多数压缩格式,包括tar、gzip 等等。

社区相关文章:【ELT.ZIP】OpenHarmony啃论文俱乐部——大数据框架性能优化系统
OpenHarmony third_party_bzip2 仓库:https://gitee.com/openharmony/third_party_bzip2
bzip2主页:https://www.sourceware.org/bzip2/

third_party_NuttX

image.png

  • NuttX是一个实时操作系统(RTOS),强调标准合规性和小占用空间。从8位微控制器环境扩展到32位微控制器环境,NuttX中的主要管理标准是Posix和ANSI标准。

OpenHarmony third_party_NuttX 仓库:https://gitee.com/openharmony/third_party_NuttX
github地址:https://github.com/apache/incubator-nuttx
NuttX主页:https://nuttx.apache.org/

third_party_FatFs

image.png

  • FatFs 是用于小型嵌入式系统的通用 FAT/exFAT 文件系统模块。
  • FatFs 模块按照 ANSI C (C89) 标准编写,并与磁盘 I/O 层完全分离。因此,它独立于平台。它可以集成到资源有限的小型微控制器中,例如8051,PIC,AVR,ARM,Z80,RX等。
    image.png

OpenHarmony third_party_FatFs 仓库:
https://gitee.com/openharmony/third_party_FatFs
FatFs主页:http://elm-chan.org/fsw/ff/00index_e.html

third_party_gettext

image.png

  • GNU gettext 实用程序是一组工具,它提供了一个框架来帮助其他 GNU 软件包生成多语言消息。
  • 这些工具包括一组关于如何编写程序以支持消息目录的约定、消息目录本身的目录和文件命名组织、支持检索已翻译消息的运行时库,以及一些以各种方式调整可翻译字符串集或已翻译字符串集的独立程序。
  • GNU gettext是GNU翻译工程的重要一步该软件包为程序员,翻译人员甚至用户提供了一套集成良好的工具和文档。

https://gitee.com/openharmony/third_party_gettext

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/237155
推荐阅读
相关标签
  

闽ICP备14008679号