linux do embedded linux embedded tools

Discuss the basic components of Arm-linux embedded system and the role of each part?

The basic components of the ARM-Linux embedded system:

1, bootloader: BootLoader is running before the operating system kernel. Can initialize hardware devices, establish memory space mapping map, so as to bring the system's hardware and software environment to a suitable state, in order to prepare the correct environment for the eventual call to the operating system kernel.

2, the basic Linux system, that is, for the development of complex application software system provides a basic framework, and with the corresponding, easy to use development and maintenance management tools.

3, file system, used to manage the storage space of the embedded system. Originally should be counted as part of the operating system, but because the Linux source code has a large number of file system support part of the embedded system storage space is limited to retain only one can be, so this part of the need for more complex processing.

4, graphical user interface library, its role is to provide a graphical environment for applications. Although it can also be considered part of the operating system, but because of the specificity of embedded systems often have to be customized separately.

5, device drivers, because each embedded device may have its own unique device, therefore, need to develop drivers for it.

6, application programs, the specific realization of the user's needs of the software. Application programmers refer to the software developed by the development interface provided by the operating system to achieve the functional utilization of the computer.

What is the main role of the operating system (such as linux) for embedded systems?

Linux, as an open source free operating system, can be used as a system application for easier tailoring of system functions and cross-architecture porting.

In different target architectures (x86, ARM, PowerPCetc.), due to the different assembly instruction sets, the same piece of code using different compilers and libraries to generate executable code is different. Different systems of Linux development tools are different.

Embedded linux belongs to a high degree of cut Linux, he will desktop Linux has most of the application functions (such as GUI tools, calculators, e-mail etc.) and some system functions omitted, but integrated developers hope that the embedded product has a special application functions (such as a Linux as the system of the touch marine navigator can be). (For example, a Linux-based touch marine navigator can remove unwanted function blocks according to functional needs, but add GPS positioning, speed and heading calculation, route planning, touch detection and corresponding function realization, etc.).

Embedded systems often refer to the system's resources (such as DRAM/FLASHROM, power consumption, operating frequency, etc.) have greater limitations and the system's operating environment is relatively variable and harsh (such as temperature and humidity changes in the large, acidic and alkaline corrosion, external impact and vibration, external electromagnetic interference, high voltage caused by electrostatic damage to the circuit, etc.). This also requires developers to find out more and hypothesize possible emergencies and take preventive measures accordingly. Most embedded systems also have extremely high requirements for response time constraints and correctness.

What are the commonly used embedded development software under ARM platform. Thanks?

Under LINUX, you generally use VIM for editing, ARM-LINUX-GCC for compiling, and GDB for DEBUG or add PRINTF or PRINTK to your code