doc

Notes and experience on learning embedded Linux system

  • 2013-09-29
  • 32KB
  • Points it Requires : 2

              Notes and Experiences of Learning Embedded Linux System Notes and Experiences of Learning Embedded Linux System A typical desktop Linux system consists of three main software layers---Linux kernel, C library and application code. The kernel is the only layer that can fully control the hardware, and the kernel driver represents the application to communicate with the hardware. Above the kernel is the C library, which is responsible for converting POSIX API into a form that the kernel can recognize, and then calling the kernel to pass parameters from the application to the kernel. The application relies on the driver kernel to complete specific tasks. When designing embedded applications, you can not follow this hierarchy. The application can directly communicate with the kernel by bypassing the C library, or the application and the kernel can be bundled together, or even the application can be written as a thread of the kernel and run in the kernel. Although this brings difficulties in porting, it is completely feasible considering the small size requirements of embedded systems. However, our use of the three-layer software structure model to learn embedded Linux will make us understand more clearly, simple and feasible, and make the application flexible. Quick Start The easiest way to build an embedded Linux application is to start with the desktop Linux we use, install a favorite version, and use one of our applications as part of the initialization, and the framework is complete. Of course, embedded Linux applications are much simpler and more specialized than our desktop versions. It may be a terminal for football betting or a digital audio player. In addition to using an embedded CPU, these systems only need a serial port, network port and other small input and output interfaces to complete their specific applications. In terms of software, it can be composed of a kernel loader, a customized kernel and a small number of statically linked applications designed for specific tasks according to the three-layer concept. The reason for using statically linked applications is that the storage space required by a small number of statically linked programs is smaller than the space occupied by the same number of dynamically linked programs. This balance point needs to be obtained in actual development. Maybe you are designing a PDA with many applications, so you may have to use dynamic linking programs to reduce storage space. In your /bin or /sbin directory, use the factory list to see bash, ifconfig, vi..., maybe only a few dozen K, when you run ldd /b...             

unfold

You Might Like

Uploader
PKelect
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×