Modular Embedded Internet Software Support
Published on Feb 21, 2020
The ever increasing penetration of micro processor-based embedded systems in now so many market areas and product types is leading to more and more attractive commercial opportunities. Moreover, the exponential growth of the internet in the last few years, and the consequent slump of the costs of internet services in general, made network connectivity more a must than a desirable feature in many commonly used embedded equipments.
Mobile and smart phones, PDA's, Hand-held devices are today definitely candidates for integration with internet connectivity services. Cost-effective embedded internet support solutions must be carefully studied for this class of applications, possibly with particular regards to scalability and extensibility.
This paper mainly describes the modular architecture of a networking subsystem designed and developed within the embedded systems unit of Etnoteam. Balancing modularity and efficiency has been known, since the early days  of the TCP/IP protocol specification process, to be a crucial issue in the development of protocol stacks, and the implications of a modular design with respect to over all performances are also evaluated and discussed. Section 6 summarizes disadvantages, possible counter measures, and main industrial benefits.
TECHNICAL BACKGROUND AND MOTIVATIONS
Embedded application software is generally severely constrained, with particular regards to its memory foot print and systems requirements in general. Among the major criteria beneath evaluation of the fitness of particular software solution for the provision of a given functionality is probably the configurability and flexibility of the software itself. As cost is often a determinant factor in the success (or failure) of a marketed product, the 'software side' of the embedded system is today required to both gracefully adapt to the widest possible range of hardware environments, and to scale well to different classes of equipments - from the most expensive to medium ones.
Scaling well indeed also means providing sufficient modularity to keep the whole software solution from soon becoming obsolete; many respects of the evolution of internet software technologies - ranging from encryption, security, to new addressing schemes - simply appear to rule out non-modular architecture, that prove very difficult to maintain and even more difficult to upgrade and update.
The software modules at the base of internet connectivity are those included in a TCP/IP stack. The de facto standard in application program interfaces for network programming is today the BSD Sockets API, and the whole BSD networking software might be probably regarded as a sort of 'reference implementation' of the TCP/IP protocols, complementing the relevant specifications. The widely recognized importance of BSD network software as a standard setter - together with public availability of relevant source code - caused the proliferation of BSD-Derived implementations of TCP/IP stacks, in a really wide variety of application areas. Several other sources of networking software are actually available.
However, many of these sources were not probably designed for embedded systems in the first place. Factors that are crucial in the deployment of an embedded connectivity solution might instead regard as minor issues in a desktop-based product.
More Seminar Topics:
Hydrogen Super Highway,
Infinite Dimensional Vector Space,
Integer Fast Fourier Transform,
Integrated Power Electronics Module,
Integrated Voice and Data,
Intelligent Wireless Video Camera,
Internet Protocol Television,
Internet Telephony Policy in INDIA,
Introduction to the Internet Protocols,
Ipv6 - The Next Generation Protocol,
IsoLoop Magnetic Couplers,