Make Lem

xiaoxiao2021-03-06  15

Embedded Linux Application: Overview

Sharkhuang - 2/23/2005 - 12:43

Now Linux is widely used in various types of computing applications, including not only IBM miniature Linux watches, handheld equipment (PDAs and cellular phones), Internet devices, thin clients, firewalls, industrial robots and telephone infrastructure equipment, and even Cluster's supercomputer. Let's take a look at Linux as an embedded system which functions need to provide, and its most attractive reason in the current options available. The appearance of the embedded system is used to control the computer, namely the embedded system, which is almost as long as the computer itself. They were originally used to control electromechanical telephone exchanges in the late 1960s. Since the computer industry has continued to develop in a smaller system direction, the embedded system also provides more features to these small machines. Gradually, these embedded systems need to be connected to some kind of network, and thus produce the requirements for the network stack, which improves the system's complexity and requires more memory and interface, and you guessed The service of the operating system. An existing operating system for embedded systems has occurred in the late 1970s, and there are now many feasible options. Among them, some major competitors began to emerge, such as VxWorks, PSOS, NECULEUS, and Windows CE. The advantages and disadvantages of using Linux in the embedded system are running on the PC platform, but Linux can also serve as the reliable main force of the embedded system. Linux popular "Back-to-Basics" approach makes it easy to install and manage more simple than UNIX, which is the advantage of those UNIX experts, they have many commands and programming interfaces in Linux. The Unix appreciates it. Typical compressed packaging Linux systems are packaged, running on PCs with hard drives and large-capacity memory, and embedded systems do not have such a high configuration. A functionally complete Linux kernel requires approximately 1 MB of memory. The Linux microcarbon only occupies a small part of the memory, including virtual memory and all core operating system functions, only takes up 100 k memory of the Pentium CPU system. As long as there is 500 k memory, a complete Linux system with a network stack and the basic utility can run on an 8-bit bus (SX) Intel 386 microprocessor. Because memory requirements are often determined by the applications, such as a web server or SNMP agent, the Linux system can only work with 256 KB ROM and 512 KB RAM. So it is a lightweight operating system aiming at the embedded market. Compared with the traditional real-time operating system (RTOS), another benefit of an open source of an open source such as embedded Linux is that Linux development groups seem to support new IP protocols faster than RTOS vendors and others. protocol. For example, a device driver for Linux is more than a device driver for a commercial operating system, such as a network interface card (NIC) driver, and parallel port and serial driver. Flash Flash RAM Memory is most PALM devices to store dedicated memories for the operating system. It has the advantage of allowing the operating system upgrade, and can also be used in digital cellular phones, digital cameras, LAN switches, PC cards, digital set-top boxes, embedded controllers, and other small devices. Embedded systems, such as embedded Linux, no disk drives, although other memory organizations may be used. So if, for an alphabode, Linux uses the flash memory, which can use some of the read-only file system to store additional programs and static data. The core Linux operating system itself is quite simple. The network and file systems are placed in the form of the micronelf in the form of a module.

The driver and other components can be compiled as the loadable module as the loaded module at runtime. This provides a highly modular component method for constructing a cooked embedded system. In a typical case, the system needs to be combined with custom drivers and applications to provide additional features. Embedded systems also often require universal functions, in order to avoid duplication of labor, the implementation of these functions uses many ready-made programs and drivers that can be used for public peripherals and applications. Linux can run on most microprocessors in a wide range of peripherals, and have already had a ready-made application library. Linux is also very suitable for embedded Internet devices because it supports multiprocessor systems that make Linux has a scalability. Therefore, designers can choose to run real-time applications on the dual processor system to improve overall processing power. For example, you can run the GUI in a processor while running the Linux system on another processor. One disadvantage of running Linux on the embedded system is that the Linux system provides real-time software modules to provide real-time performance. The kernel space running in these modules is the operating system implementation scheduling policy, hardware interrupt exception and execution program. Since these real-time software modules are running in kernel space, code errors may undermine the operating system to affect the reliability of the entire system, which will be a very serious weakness for real-time applications. On the other hand, the ready-made RTOS is designed to real-time performance, which is reliability by assigning a process higher than other processes when starting from the user rather than the system level process. Reliability. The process is in the operating system that is the program executed on the memory or on the hard drive. Give them a process ID or a numeric identifier to let the operating system track the programs that are being executed and the associated priority of these programs. This way ensures that the RTOS time can provide higher reliability (predictable) than Linux. But most important, this is also a more economical choice. Different types of embedded Linux systems have an example of many embedded Linux systems; it can be grasped, some form of Linux can run on a computer that almost any execution code. For example, ELKS (Embed Linux kernel subset) program plans to use Linux on Palm Pilot. Some more widely known small embedded Linux versions: ETLinux - Designed for Linux, which is used on small industrial computers, especially PC / 104 modules. LEM - runs in small (<8 MB) multi-user, network Linux version on 386. LOAF - "Linux On A Floppy" distribution, running on 386. Uclinux - Linux running on the system without MMU. Currently supports Motorola 68k, MCF5206, and MCF5207 ColdFire microprocessors. Ulinux - Tiny Linux distribution version running on 386. ThinLinux - a minimized Linux distribution version of a dedicated camera server, X-10 controller, MP3 player, and other similar embedded applications. Software and hardware require many user interface tools and programs to enhance the multi-functionality of the Linux basic kernel. In this regard, it can regard Linux as such a continuous range, from the minimized microelectronics that minimize the memory management, task conversion, and timer service, has been perfect to a complete series of file systems and network services.

The smallest embedded Linux system requires only three basic elements: boot the utility Linux microner, the initialization process, the initialization process, the initialization process, and you need to add: Hardware driver one or Multiple application processes to provide the desired function as required, you may also need: a file system (possibly in the ROM or RAM) TCP / IP network stack stores semi-transient data and provides a disk with exchange space The 32-bit built-in CPU (all full Linux systems need) The hardware scheme below is the embedded hardware solution customized for Linux operating systems. PLEB: Pocket Linux embedded machine with ARM SA-1100 / ARMLINUX UCSIMM / UCLINUX FLASH EPROM. Linux Lab: Linux LAB schemes are designed to help people develop Linux data acquisition and process control software. It plans to provide a standardized development environment from hardware support to application development. Controller Domain Network: Linux GPIB Controller Domain Network (CAN) Bus Driver; Linux GPIB package is a support package for ordinary GPIB (IEEE 488.1) hardware. The driver supports National Instruments AT-GPIB, TNT488.2, and PCII and PCIIA boards. This package has a complete development environment, including testing and configuration tools, libraries, and support for TCL and Python language. The process of selecting the best hardware is quite complicated. The problem originated from the company's internal policy, seeing the legacy issues of other programs, lacking comprehensive or accurate information and cost - considering the total product cost, not just CPU itself. Sometimes, once the bus logic and delay time necessary for the CPU uses other peripherals, the fast and inexpensive CPU may become expensive. To calculate the CPU speed required for any given item, first, let's see how fast the CPU is running in order to complete a given task CPU and then multiply. Also determine how fast the bus needs to run. If there is a secondary bus, such as the PCI bus, then it is also considered. A slow bus (i.e., a bus that is blocked by the DMA communication) will significantly reduce the speed of the high speed CPU. Below is the best hardware solution for some embedded Linux applications. Bright Star Engineering: Bright Star Engineering's IPENGINE-1 is a single-chip microcomputer that supports embedded Linux credit card size. It utilizes PowerPC-based CPUs and provides a set of peripherals on a panel, with Ethernet, LCD / video controller, USB, serial port I / O, and a 16K gate can be configured by a user. BSE's embedded Linux configuration allows Linux to boot from 4MB flash drives on the iPENGINE board. Calibri: CalibritM-133 is a network device that uses embedded Linux as its operating system, which is convenient to use, compact, and can be used in a variety of purposes. It provides an efficient, low-cost solution for firewall, VPN and routing requirements. EmbeddedPlanet: EmbeddedPlanet created a computer that was launched after the PC age, which was installed with Montavista's Hardhat Linux. The Linux Planet is installed in a colored transparent box and has a touch screen, and the Linux Planet is mounted in a colored transparent box and has access to numbers and simulation I / O.

Eurotech: Eurotech provides embedded PC SBC and funds ET-Linux, a fully designed glibc 2.1.2-based Linux system specifically designed on a small industrial computer. Microprocess Ingenier: Microprocess development, production and sales standards and customized products for industrial and embedded markets. Microprocess is within real-time software activities in terms of global, and has systematic knowledge of expertise. Its product, such as a 740 PowerPC CompactPCI board, can be ordered with a standard Linux distribution or embedded Linux version. Moreton Bay: Moreton Bay released Linux-based Internet routers, which ranges between Nettel 2520 and Nettel 2500. These small, easy-to-linked intelligent router solutions are designed to provide simple, safe and priced external network-friendly virtual private networks (VPNs) for planar networks. The Nettel router series is running an embedded Linux kernel. A set of development tools can exist in the custom code in flash memory and execute inside Nettel. The code may contain a specific encryption or authentication protocol, or when Nettel is used as a remote control device code, some local monitoring scripts are included. Matrix Orbital: This is an optional, but not recommended additional items. A series of serial LCDs and VFDs produced by Matrix Orbital are added to their embedded systems by many Linux users. The range of this production line includes 8x2 to 40x4 characters LCDS, 20x2 and 20x4 VFD plus 240x64 graphics LC (128x128 is still in production). Communication to use the display is not through the RS232 is implemented by I2C, both of which are criteria on all of its modules. The module's BIOS contains a comprehensive command set. Real-time embedded Linux application is one of the most important transactions of embedded systems to require a real-time operating system. There are several definitions here in real time. For some people, it means that the event will be reacted in 1 microsecond time, but it may be 50 milliseconds for another person. Real-time hardness is different. Some systems need to be hard-lived, and the events make certain responses in a short period of time. However, when we carefully analyze many systems, we found that in fact, the requirements for response time are just close to real-time. Real-time requirements are often the trade-off of time and buffering space. As memory is getting cheaper, the CPU speed is getting faster and faster, and now it is more common than real-time than hard real-time, many commercial so-called real-time operating systems are far non-hard. Typically, when you enter the detailed design portions of these systems, you need to be vigilant to design the driver's interruption and application to meet real-time requirements. RT-Linux (real-time extended Linux system) contains time-to-time functions to accurately control interrupt processing with interrupt managers, which is well ensured that critical interrupts can be implemented when needed. The hardness of this method is mainly dependent on the hardware support of the CPU interrupt structure and environmental conversion. This approach can meet real-time requirements within a wide range of ranges. Even if there is no real-time extension, Linux can also handle multiple event streams well. For example, the Linux PC system running on the low-end Pentium allows multiple 10BASET interfaces to be effectively executed, while running the character stage serial port with a full-speed 56kbps without losing any data. Recommented real-time hardware and software Linux API has RTLinux, RTAI, EL, and Linux-SRT. RTLinux is a hard-real-time Linux API initially developed in the New Mexican Institute of Technology.

转载请注明原文地址:https://www.9cbs.com/read-46146.html

New Post(0)