- Embedded Systems Architecture
- Daniele Lacamera
- 331字
- 2021-06-25 21:55:05
Middleware
Some of the features may already have a well-known solution that has been previously implemented by a single developer, a community, or an enterprise. Solutions may be generic, or perhaps designed for a different platform, or even coming from outside the embedded world. In any case, it is always worth looking for libraries for any data transformation, protocol implementation, or subsystem model that might already have been coded and is waiting to be integrated in our project.
A number of open source libraries and software components are ready be included in embedded projects and allow us to implement a broader set of functionalities. Integrating components from open source projects is particularly useful to deliver standard functionalities. There is a vast choice of well-established open source implementations designed for embedded devices that can be easily integrated on embedded projects. These include:
- Real-time operating systems
- Cryptography libraries
- TCP/IP, 6LoWPAN, and other network protocols
- Transport Layer Security (TLS) libraries
- Filesystems
- IoT message queue protocols
- Parsers
Some components from these categories are described in more detail later in this book.
Basing the software upon an operating system allows us to manage memory areas and thread execution. In this case, threads execute independently from each other, and it is even possible to implement memory separation among threads, and between running threads and the kernel. This approach is advisable when the complexity of the design increases, or when there are well-known blocking points in the modules that cannot be redesigned. If an operating system is used, other libraries usually require multithreading support, which can be enabled at compile time if present.
The decision of integrating third-party libraries must be evaluated by measuring the resources needed, in terms of code size and memory used, to perform specific tasks on the target platform. As the whole firmware is distributed as a single executable file, all the licenses of the components must be compatible, and the integration must not violate the license terms of any of its single components.
- 30天自制操作系統
- Mastering vRealize Operations Manager(Second Edition)
- Citrix XenApp Performance Essentials
- 零起點學Linux系統管理
- 鴻蒙生態:開啟萬物互聯的智慧新時代
- 精通Linux內核開發
- 開源安全運維平臺OSSIM疑難解析:入門篇
- 嵌入式Linux應用開發菜鳥進階
- Linux自動化運維:Shell與Ansible(微課版)
- 網絡操作系統教程:Windows Server 2016管理與配置
- 無蘋果不生活 The New iPad隨身寶典
- 計算機系統:基于x86+Linux平臺
- 從實踐中學習Kali Linux無線網絡滲透測試
- Linux系統最佳實踐工具:命令行技術
- Linux網絡操作系統項目教程(RHEL 7.4/CentOS 7.4)(第3版)(微課版)