Embedded systems have a wide range of applications in various fields, and the maintenance and upgrade of embedded systems has become increasingly important. Due to the continuous emergence of new technologies and the continuous improvement of system functions and performance requirements, developers must be able to upgrade and maintain the system to extend the system life cycle, improve system performance, and enhance system adaptability.
The traditional embedded upgrade method usually takes the maintenance personnel to the equipment site to re-program the system or replace the flash storage components. When the number of devices is large and the distribution range is wide, the workload of the upgrade maintenance method will be very large and time consuming. Long and costly. With the rapid development of embedded technology, the remote upgrade technology of embedded systems has developed rapidly. The reference literature proposes a remote online upgrade of GPRS-based embedded system software, which realizes online upgrade of ARM embedded terminal system software through GPRS network. The downside of this approach is that remote upgrades of the system itself cannot be achieved. The reference document implements a method for implementing automatic upgrade of the embedded system in the bootloader. This method stores the image file in the CF card. When the system restarts, the bootloader will detect the image file in the CF card, read the image file and burn it. Write to the Flash of the target board to achieve the upgrade. If the number of terminals is large and widely distributed, this method will increase the amount of work.
This paper proposes a new update mechanism for the embedded Linux operating system, and based on the ARM9 microprocessor and NAND Flash memory, the uboot and Linux kernels are modified to realize remote automatic update of the embedded Linux system. It overcomes the shortcomings of the traditional method and has a large workload, and has the characteristics of simple operation and fast update speed.
1 Basic principles
1.1 Overall structure
The embedded Linux system supporting remote automatic update can be divided into two parts: embedded terminal and remote management system. The overall structure of the system is shown in Figure 1. The embedded terminal uses the AT91RM9200 microprocessor based on the ARM9 architecture. It uses an extended 32MB SDRAM and is connected by two 16-bit data width SDRAM chips HY57V281620. It uses 64MB NANDFla sh storage. Chip K9F1208, running embedded Linux system. The remote management system uses a PC. The embedded terminal is connected to the remote management system through Ethernet, and the administrator can monitor, manage and remotely update each embedded terminal through telnet.
1.2 System update process
This design transforms the uboot and Linux kernels to support the YAFFS2 file system, adding application services such as ftp and telnet to the system. The system update process is shown in Figure 2. When the system is running normally, administrators can remotely log in to the embedded terminal through telnet for monitoring and management. When the system needs to be updated, log in to the embedded terminal through the ftp client of the remote management system, and upload the kernel image and file system that need to be updated to the NAND Flash. After the upload is complete, back up the original kernel image and file system and restart the system. After the system restarts, uboot transfers the updated kernel image and file system in NAND Flash to SDRAM, then jumps to SDRAM to boot the Linux system, mounts the YAFFS2 file system, and starts various application services.
What are the common embedded operating systems?DOS
Microsoft initially chose Paterson's Q-DOS "QUICK AND DISK OPERATING SYSTEM" and then expanded its capabilities into MS-DOS, mainly using a computer provided by IBM using the 8088 microprocessor as a development platform. It is a 16-byte single-person simplex operating system, especially suitable for some simple functions.
Windows CE
Although the Microsoft Windows system has dominated the PC Desktop environment. But for the embedded system, Microsoft is also coveted for a long time. The desktop Windows desktop system is naturally too big for embedded systems, so Microsoft launched a simplified version of Windows CE as an offensive embedded. The main force of the system. Currently mainly used in PDA, but with Microsoft's series of Windows systems, Windows CE also inherits the original shortcomings: system resources, instability, inefficiency and so on. There were so many problems, and later the entire architecture was rewritten to launch Windows CE version 3.0, or Pocket PC. After the revision, it has improved a lot of shortcomings.
Windows CE can be applied to PDAs, WebPADs, Thin Clients, and more. It is SIMPad (owned by Siemens) using Windows CE as the operating system.
Palm
The embedded operating system of Palm CompuTIng, the largest application in PDA, is the PDA operating system with the highest market share. The Palm operating system architecture is very simple, because there are few functions, such as memory management, multitasking, etc. The Palm can be very resource-intensive, the hardware requirements are low, and the overall power consumption can be compressed to a very low level. Therefore, the PDA with the Palm operating system has the advantage of long standby time.
EPOC
Developed by British hand-held device manufacturer Psion, it is often used in the combination of PDA and mobile phone. The most famous example is the Nokia 9110 series, which uses the EPOC system.
Famous embedded real-time system
Real-time systems are a very important part of embedded systems. Many people mistakenly think that real-time systems execute very fast systems. In fact, the so-called real-time representation means "real-time response". Generally, multi-person multi-tasking operating systems such as :Windows, UNIX, the software executed on it all share the CPU together, because the CPU speed is fast, so we feel that we can execute multiple softwares at the same time. In fact, only one program is executed at the same time inside the system, each software All must be queued, and the rules can only be replaced after a short period of time, but because the CPU is fast enough, it can be executed soon, so people don't feel that the software is executing for a while. This is a so-called non-real-time operating system operating mode, and the real-time operating system has immediate response and cannot give off the characteristics of resources, such as the car's ABS braking system. If you do not use a real-time system that can react immediately, the consequences can be disastrous. . Most of these applications are small and simple, so they are considered embedded systems. QNX's QNX OS, WindRiver's VxWorks, Microware's OS9, pSOS, etc., are well-known embedded real-time systems companies.
Linux
Isn't Linux all used as a server? Otherwise, it is the Cluster, how can it relate to the embedded system? Don't doubt that Linux can't help Linux in addition to the servo work.
So, what is the unique ability of Linux? If you want to become bigger, you will want to shrink and shrink. What are the advantages of using Linux to develop embedded systems? Please see the introduction below.
Open source code, modular design
Linux is licensed under the GPL. In addition to making the source code public, anyone can freely use, modify, and distribute it. The Linux kernel itself is modular in design, making it easy to add or remove features. For example, my platform does not require Bluetooth. Function, as long as I don't add this function, I need to add it if I need it. I don't need to delete it. Because of this high flexibility, we can adjust the core that is most suitable for our hardware platform.
Compared to Linux, Windows is taking a closed source code route, so we have no way to know or modify its core parts. In addition, because of the GPL authorization, there is naturally no royalty or confidentiality agreement.
Stable enough
Linux doesn't belong to any company, but its developers are the most in the world. Every day, there are countless people around the world who are involved in Linux Kernel improvement, debugging, testing, and so harsh conditions have created a stable Linux. .
Because of this, Linux is not a commercial product but its quality is not inferior to commercial products.
Powerful network
Linux's architecture is built on UNIX systems, so Linux also inherits the powerful network capabilities of UNIX. In this era of everything that is about the Internet, it can only be said that Linux is a big hit. In the future, refrigerators, air conditioners, and televisions in the home may be connected to the Internet. How to increase the network functions of these appliances, Linux can do it for them.
Cross-platform
Linux was originally designed based on Intel 386 machines, but with the spread of the network, a variety of needs emerged, so many engineers are committed to the transplantation of various platforms, resulting in Linux can be on x86, MIPS, ARM / StrongARM, PowerPC, Motorola 68k, Hitachi SH3/SH4, Transmeta. Waiting for the grandeur of the operation on the platform. These platforms cover almost all of the CPUs required for embedded systems, so choosing Linux allows for more hardware platforms to be considered.
The embedded environment is not as simple as the x86 PC. The embedded environment uses a lot of CPU architecture. Using Linux for development is equivalent to having more hardware choices. The hardware cost is a major focus of commercial companies. The most suitable hardware is of great help to the company's competitiveness.
Numerous application software
A big feature in the free software world is that there is a lot of software, and almost all of them are in line with the GPL standard. In other words, everyone can freely use it, because most of these software are developed by engineers in their spare time, and they are not Profit is of a nature, so there is no guarantee that the software is completely free of bugs, but there are still many killer software. The well-known KDE and GNOME are good proofs, of course, related to embedded systems such as: gcc compiler, KDevelopment integrated development environment and more.
Usually we will first create a simulated embedded environment on the PC side, and directly develop it on the top, so the tools used are similar to the development of general Desktop software. Good tools can increase the speed of development.
Choose diversity
If the company has the ability to implement the Linux embedded system itself, because the program code is all open there, you can design your own Embedded Linux system as you like, but there are more companies whose business focus is not here. You can also choose to purchase a commercial version of the Embedded Linux system, such as the famous Redhat, Lineo, MontaVista. Wait, these are commercial Linux companies that can get full service by purchasing their products. So commercial or non-commercial is all about your needs.
Self-developed system
Of course, you can also develop your own system and strictly control the hardware, but the relative cost of betting is on the R&D system. In principle, if the goal is simple and clear, it is just some basic I/O control, such as a marquee. It is suitable for self-development, but if the system is too complicated, it must carefully evaluate the difficulty and time management of its own research and development.
British Switch Socket W50 Series
Gold Plug Sockets,Chrome Double Socket,3 Pin Socket With Switch,Brushed Stainless Steel Sockets
Guangdong Jinli Electrical Appliance Co., Ltd , https://www.sokelectric.com