"Share" 4412 boards-basic knowledge and skills required for embedded Linux development

Source: Internet
Author: User

This paper goes from Xun to e-Forum:http://www.topeetboard.com

1.Linux Basics

InstallationLinuxOperating SystemLinuxFile SystemLinuxCommon CommandsLinuxThe start-up process is familiarLinuxService can be installed independentlyLinuxThe operating system can be used skillfullyLinuxBasic command of the system to recognizeLinuxCommon Service installation of the systemLinuxOperating SystemLinuxBasic command Practice SettingsLinuxenvironment variable CustomizationLinuxof ServicesShellProgramming Basics usingVIEdit File UsageEmacsediting files using other editors

2.Shell Programming Basics

ShellIntroduction to Understanding the background programBashProgramming FamiliarityLinuxfamiliarity with the editing environment under the systemLinuxunder the variousShellProficiency inShellProgramming FamiliarityVIfamiliar with basic operationEmacsthe basic operation of the comparison is differentShellthe difference between writing a test server for connectivityShellThe Script program writes a view of whether a process existsShellThe Script program writes aShellScript Program

3. Basic C programming under Linux

Linux C Environment Overview Gcc usage methods Gdb Debugging technology Autoconf automake Makefile Code optimization familiar with the development environment of Linux system familiar with the Gcc compiler familiar with Makefile rule Writing Hello,world Program Use Make the command compiler writes a program with a loop to debug a problematic program

4. Foundation of embedded system development

Embedded System Overview Cross-compilation configuration TFTP service configuration NFS service download Bootloader and kernel embedded Linux application software development process familiar with embedded system concept and development process establish embedded system development environment make CROSS_GCC tool chain compile and download u-boot Compile and download the linux kernel to compile and download the linux application

5. Embedded system porting

Linux kernel code platform related Code Analysis arm Platform Introduction platform porting key technology porting the Linux kernel to the arm Platform Understand the concept of porting the ability to migrate the Linux kernel porting Linux2.6 kernel to the ARM9 Development Board

6, embedded Linux under the serial communication

Basic concepts of serial I/o embedded linux application software development process Linux system files and devices associated with file system calls configure HyperTerminal and MiniCOM be familiar with the serial communication and familiar with the file I/O Writing serial communication program to write multi-serial communication program

7. Multi-process programming in embedded system

Linux System process overview process characteristics of embedded system process Operation Daemon Related system call Understanding The concepts of processes in Linux systems can write multi-process programs to write multi-process programs to write a daemon program Sleep system invoke task management, synchronization and communication Linux Task Overview Task scheduling pipeline signaling shared Memory task management API understanding Linux System Task management mechanism familiar with inter-process communication methods familiar with inter- task synchronization and communication in embedded Linux writing a simple pipeline program for file transfer writing a program that uses shared memory

8. Multithreaded programming in embedded system

Thread Basics Multithreading methods synchronization problems in threading Applications understanding threading Concepts can write simple multithreaded programs to write a multithreaded program

9. Embedded Linux Network Programming

Network Basics EmbeddedLinuxinTCP/IPNetwork StructureSocketProgramming CommonAPIfunction AnalysisPingthe implementation of the command is basicUDPset of Interface programming license ManagementPPPProtocolGPRSLearn about embeddedLinuxthe network architecture can be embeddedLinuxunder the EnvironmentSocketProgramming FamiliarityUDPagreements,PPPprotocol FamiliarityGPRSUseSocketwriting a proxy server usingSocketWriting a router to write a license server indicatesTCPand theUDPthe pros and cons of writing aWebthe server writes a runningARMplatform's network player

10.GUI program Development

GuiBasic Embedded SystemsGUIType compilationQTmakeQTdeveloped familiar with embedded systems commonly usedGUIcapable ofQTProgramming UseQTWrite theHello, World"program debugging a Join signal/instances of slots are overloaded byQwidgetclass methods handle events

11.Linux character device driver

Device Driver BasicsLinuxSystem module character device driver analysisfs_operationstructure-loaded drivers learn about the concept of device driversLinuxcharacter device driver architecture capable of writing character device driver programmingSkullDriver Write keyboard driver writingI/ODriver analysis A watchdog driver comparisonLinux2.6Kernel and2.4different character device drivers in the kernelLinuxBlock device driver block device driver how a typical block device driver parses a read-write request queue for a block deviceLinuxblock device driver Architecture can write a simple block device driver comparison between character device and block deviceMMCCard Driver Analysis A file system comparisonLinux2.6Kernel and2.4different block device drivers in the kernel

12. File System

Establishment of file system of virtual file systemRamfsMemory File SystemprocFile SystemDevfsFile SystemMTDTechnical IntroductionMTDBlock Device InitializationMTDRead and write operations for block devicesLinuxthe system's file system understands the embeddedLinuxfile system to understandMTDtechnology can write a simple file system forARM9Development Board AddMTDSupport PortingJFFS2file system throughprocFile system modification operating system parameter AnalysisRomfsThe file system source code creates aCramfsFile System

Simply summarize the basic process of hardware development:

1, clear the overall requirements of the hardware, such as CPU processing capacity, storage capacity and speed,I/O port allocation, interface requirements, level requirements, special circuit requirements and so on.

2, according to the requirements of the analysis of the overall hardware plan, to seek key devices and related technical data, technical channels and technical support, fully consider the technical feasibility, reliability and cost control, and the development of debugging tools to make clear requirements. The key device can try to obtain samples.

3, the overall plan to determine, do hardware and software detailed design, including drawing hardware schematics, software functional block diagram,PCB Design, and complete the development of components list.

4, do the PCB Board, the principle of the design of the various functional units for welding debugging, if necessary, modify the schematic and record.

5, software and hardware system of the joint tune. In general, after the commissioning of the principle and PCB Design has been adjusted, it takes two times to cast the board.

6,Reliability testing, stability testing, through acceptance, project completion!

The basic skills that a hardware engineer should have:

(1) from the demand analysis to the overall plan, detailed design planning and creation capacity;

(2) proficiency in the use of design tools, design schematics,PCB board capabilities;

(3) proficiency in the use of single-chip microcomputer,DSP,PLD,FPGA and Other hardware and software development and debugging capabilities;

(4) proficiency in the use of simulation tools, oscilloscopes, signal generators, logic analyzers, such as the ability to debug hardware;

(5) master the common standard circuit design ability, such as reset circuit, common filter circuit, amplifier circuit, high-speed signal transmission line matching circuit;

(6) fault location, problem-solving ability;

(7) The organization writing skills of the design document.

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

"Share" 4412 boards-basic knowledge and skills required for embedded Linux development

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.