2. Linux skill requirements,

Source: Internet
Author: User

2. Linux skill requirements,

Linux Embedded engineer skill requirements:

1. C Language

Basic C language, basic C language programming, and advanced programming, including data types, arrays, pointers, structures, linked lists, file operations, queues, and stacks.

2. Linux Basics

Concepts and installation methods of the Linux operating system. Learn about the directory structure, basic commands, Vim + GCC + GDB + make, shell Makefile script file writing, and build a development environment in Linux.

3. Programming in Linux

Standard Linux I/O library, multi-process and multi-thread programming, inter-process communication (pipelines, fifo, message queues, shared memory, signals, semaphores, etc ), synchronization and mutex
And other important knowledge, mainly understanding of Linux application development and code debugging capabilities.

4 Linux Network Programming

Computer Networks are widely used in application development of embedded Linux systems. Linux network development, TCP/IP protocol, socket programming, TCP network programming, UDP network programming, Web Programming
To fully understand the development of Linux network applications. Focus on network programming APIs, master the programming methods of TCP protocol servers and the implementation of concurrent servers, and understand the HTTP protocol and its implementation methods,
Familiar with the Principles and programming methods of UDP broadcast and multicast, master the design of the network communication system of the hybrid C/S architecture, master the implementation and methods of Web programming technologies such as HTML and JavaScript.

5. data structures and algorithms

Data structures and algorithms are widely used in the development of embedded underlying drivers, communication protocols, and various engines. The control of data structures and algorithms affects the robustness and Stability of programs. Learning at this stage is important to understand the data structure
And the basic content of the algorithm. Including sequence table, linked list, queue, stack, tree, graph, hash table, various search and sorting algorithms, and its C language implementation process.

6. C ++/Qt

C ++ is one of the main languages for Linux application development. In this stage, we need to master the object-oriented programming ideas and important content of C ++. Graphical interface programming is an important part of embedded application development. Qt due to cross-platform
, Object-oriented, supports 2D/3D rendering, rich APIs, supports XML, multi-language and other powerful functions, and is widely used in the field of Embedded GUI development. In this phase, I learned how to use and use Qt graphics library.
Program and port it to the Development Platform for use. Master applications of IDE, Qt components, layout manager, signal and slot mechanism, mouse, keyboard, drawing events, and file processing.

7. Cortex-ARM Development Platform

Master s5p210 system resources, clock controller, power management, abnormal interrupt controller, nand flash Controller and other modules to prepare for the underlying platform construction. Linux platform includes kernel pruning, kernel porting,
Cross-compilation, kernel debugging and Bootloader introduction, production and Principle Analysis, root file system creation, and addition of its own modules to the kernel, run its own Linux system, integrated deployment of the entire Linux System
Process.

8. driver development

Linux Kernel Mechanism, driver and user-level application interface, master the system's concurrent operations on the device. Familiar with working principles of hardware development, basic knowledge of ARM hardware interfaces, and knowledge of devices
Driver principle framework. Familiar with driver development for Linux advanced character devices, Block devices, network devices, and USB devices.




Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.