I'd like to recommend a very good Linux Learn about application development articles ,

Just pay attention to the official account. , The background to reply 【Linux System application program design 】 Can get .

 Long press attention
Directory as follows :

The first 1 Chapter Linux Quick start … 1
1.1 The embedded Linux Basics … 1
1.1.1 Linux Development Overview … 1
1.1.2 Linux As an advantage of embedded operating system … 2
1.1.3 Linux Release version … 3
1.1.4 How to learn Linux … 4
1.2 Linux install … 5
1.2.1 Basic concepts … 5
1.2.2 Hardware requirements … 7
1.2.3 Installation preparation … 7
1.2.4 setup script … 8
1.3 Linux File and file system …11
1.3.1 File types and file properties …11
1.3.2 File system type introduction … 13
1.3.3 Linux Directory structure … 14
1.4 Experimental content —— install Linux operating system … 17
Summary of this chapter … 17
Think and practice … 18
The first 2 Chapter Linux Basic commands … 19
2.1 Linux Common operation command … 19
2.1.1 User system related commands … 20
2.1.2 File directory related commands … 27
2.1.3 Compression packaging related commands … 38
2.1.4 Compare merge file related commands … 40
2.1.5 Network related commands … 45
A-PDF MERGER DEMO║2 The embedded Application development details
2.2 Linux Start up process details … 50
2.2.1 summary … 51
2.2.2 Kernel boot phase … 51
2.2.3 init Stage … 52
2.3 Linux system service … 54
2.3.1 Independent services … 55
2.3.2 xinetd Set up services … 56
2.3.3 Common methods for setting service commands … 56
2.4 Experimental content … 57
2.4.1 stay Linux Decompression common software … 57
2.4.2 customized Linux system service … 58
Summary of this chapter … 60
Think and practice … 60
The first 3 Chapter Linux Under the C Programming based … 61
3.1 Linux Next C Language programming Overview … 61
3.1.1 C Language review … 61
3.1.2 Linux Next C Language programming environment overview … 62
3.2 Get into Vi… 63
3.2.1 Vi The pattern of … 63
3.2.2 Vi Basic flow … 63
3.2.3 Vi The function keys of each mode … 65
3.3 On Emacs … 66
3.3.1 Emacs Basic operation … 67
3.3.2 Emacs An overview of compiling … 70
3.4 Gcc compiler … 71
3.4.1 Gcc Compile process analysis … 71
3.4.2 Gcc Compile Options Analysis … 74
3.5 Gdb The debugger … 77
3.5.1 Gdb Usage flow … 78
3.5.2 Gdb Basic commands … 81
3.6 Make Project Manager … 86
3.6.1 Makefile The basic structure … 86
3.6.2 Makefile Variable … 87
3.6.3 Makefile The rules … 90
3.6.4 Make The use of manager … 91
3.7 Use autotools … 92
3.7.1 autotools Usage flow … 92
3.7.2 Use autotools The generated Makefile… 96 The first 1 Chapter Catalog 3║
3.8 Experimental content … 98
3.8.1 Vi Use practice … 98
3.8.2 use Gdb Debugging problematic programs … 99
3.8.3 Write... With multiple files Makefile … 101
3.8.4 Use autotools Generate... With multiple files Makefile… 103
Summary of this chapter … 105
Think and practice … 105
The first 4 Chapter Embedded system foundation … 106
4.1 An overview of embedded systems … 106
4.1.1 Introduction to embedded system … 106
4.1.2 The history of embedded system development … 107
4.1.3 The characteristics of embedded system … 108
4.1.4 The architecture of embedded system … 108
4.1.5 Analysis of several mainstream embedded operating systems … 109
4.2 ARM Processor hardware development platform …111
4.2.1 ARM Processor introduction …111
4.2.2 ARM Introduction to architecture …113
4.2.3 ARM9 Architecture …113
4.2.4 S3C2410 Processor details …116
4.3 Embedded software development process … 121
4.3.1 Overview of embedded system development … 121
4.3.2 Overview of embedded software development … 122
4.4 Experimental content —— Use JTAG burning NAND Flash… 128
Summary of this chapter … 131
Think and practice … 132
The first 5 Chapter The embedded Linux Build the development environment … 133
5.1 The construction of embedded development environment … 133
5.1.1 The construction of embedded cross compiler environment … 133
5.1.2 HyperTerminal and Minicom Configuration and use … 135
5.1.3 Download the image to the development board … 142
5.1.4 Compile embedded Linux kernel … 145
5.1.5 Linux Kernel directory structure … 149
5.1.6 Make a file system … 149
5.2 U-Boot transplant … 153
5.2.1 Bootloader Introduce … 153
5.2.2 U-Boot summary … 155
5.2.3 U-Boot Source guide … 156║4 The embedded Application development details
5.2.4 U-Boot The main steps of transplantation … 163
5.2.5 U-Boot Common command … 164
5.3 Experimental content —— transplant Linux kernel … 164
Summary of this chapter … 165
Think and practice … 165
The first 6 Chapter file I/O Programming … 166
6.1 Linux System call and user programming interface (API) … 166
6.1.1 system call … 166
6.1.2 User programming interface (API) … 167
6.1.3 System commands … 167
6.2 Linux Overview of files and file descriptors in … 168
6.3 Files without cache I/O operation … 168
6.3.1 open and close… 168
6.3.2 read、write and lseek … 170
6.3.3 fcntl … 173
6.3.4 select… 178
6.4 The embedded Linux Serial port application development … 183
6.4.1 Overview of serial port … 183
6.4.2 Detailed explanation of serial port setting … 184
6.4.3 Detailed explanation of serial port use … 191
6.5 standard I/O Development … 194
6.5.1 Open and close files … 194
6.5.2 File read and write … 197
6.5.3 Input and output … 198
6.6 Experimental content … 201
6.6.1 Reading, writing and locking of documents … 201
6.6.2 Multiplex serial port reading and writing … 204
Summary of this chapter … 207
Think and practice … 207
The first 7 Chapter Process control development … 208
7.1 Linux Next process overview … 208
7.1.1 Process related basic concepts … 208
7.1.2 Linux The process structure under … 210
7.1.3 Linux The mode and type of the next process … 210
7.1.4 Linux Process management under …211
7.2 Linux Process control programming … 212
7.3 Linux Daemon … 224 The first 1 Chapter Catalog 5║
7.3.1 Overview of daemons … 224
7.3.2 Write daemons … 224
7.3.3 Error handling of daemons … 229
7.4 Experimental content … 232
7.4.1 Write multiprocess programs … 232
7.4.2 Write daemons … 235
Summary of this chapter … 238
Think and practice … 239
The first 8 Chapter Interprocess communication … 240
8.1 Linux Overview of interprocess communication … 240
8.2 Pipeline communication … 241
8.2.1 Pipeline Overview … 241
8.2.2 Pipe creation and closing … 242
8.2.3 Pipeline reading and writing … 244
8.2.4 Standard flow pipe … 246
8.2.5 FIFO… 249
8.3 Signal communication … 253
8.3.1 Signal Overview … 253
8.3.2 Signal transmission and capture … 255
8.3.3 Signal processing … 258
8.4 Shared memory … 264
8.4.1 Shared memory Overview … 264
8.4.2 Memory sharing … 265
8.5 Message queue … 267
8.5.1 Message queuing overview … 267
8.5.2 Message queuing implementation … 268
8.6 Experimental content … 272
8.6.1 Pipeline communication experiment … 272
8.6.2 Shared memory experiment … 275
Summary of this chapter … 277
Think and practice … 278
The first 9 Chapter Multithreaded programming … 279
9.1 Linux Next thread Overview … 279
9.1.1 Thread overview … 279
9.1.2 Thread classification … 280
9.1.3 Linux The development of thread technology … 280
9.2 Linux Thread realize … 281║6 The embedded Application development details
9.2.1 Thread basic operation … 281
9.2.2 Thread access control … 288
9.3 Experimental content ——“ Producer consumer ” experiment … 298
Summary of this chapter … 302
Think and practice … 303
The first 10 Chapter The embedded Linux Network programming … 304
10.1 TCP/IP Overview of the agreement … 304
10.1.1 OSI Reference model and TCP/IP Reference model … 304
10.1.2 TCP/IP Protocol family … 305
10.1.3 TCP and UDP … 306
10.2 Network basic programming … 308
10.2.1 socket summary … 308
10.2.2 Address and sequence processing … 309
10.2.3 socket Basic programming … 314
10.3 Advanced network programming … 322
10.4 ping Source code analysis … 326
10.4.1 ping brief introduction … 326
10.4.2 ping Source code analysis … 327
10.5 Experimental content ——NTP Protocol implementation … 345
Summary of this chapter … 352
Think and practice … 352
The first 11 Chapter The embedded Linux Device driven development … 353
11.1 Device driver Overview … 353
11.1.1 Brief introduction of device driver and driver module … 353
11.1.2 Device file classification … 354
11.1.3 Device number … 355
11.1.4 Drive the hierarchy … 355
11.1.5 The interface between the device driver and the outside world … 355
11.1.6 Device driver features … 356
11.2 Character device driver write … 356
11.3 LCD Driving writing examples … 363
11.3.1 LCD working principle … 363
11.3.2 LCD Drive instance … 365
11.4 Block device driver write … 374
11.4.1 Block device driver descriptor … 374
11.4.2 Block device driver writing process … 375
11.5 Interrupt programming … 381 The first 1 Chapter Catalog 7║
11.6 Keyboard driver implementation … 382
11.6.1 How the keyboard works … 382
11.6.2 Overview of keyboard drivers … 383
11.6.3 Keyboard driven process … 384
11.7 Experimental content ——skull drive … 394
Summary of this chapter … 398
Think and practice … 399
The first 12 Chapter Qt Graphic programming … 400
12.1 The embedded GUI brief introduction … 400
12.1.1 Qt/Embedded… 401
12.1.2 MiniGUI… 401
12.1.3 Microwindows、Tiny X etc. … 402
12.2 Qt/Embedded Introduction to development … 402
12.2.1 Qt/Embedded Introduce … 402
12.2.2 Qt/Embedded Signal and slot mechanism … 405
12.2.3 build Qt/Embedded development environment … 409
12.2.4 Qt/Embedded Widgets … 410
12.2.5 Qt/Embedded Graphic interface programming … 414
12.2.6 Qt/Embedded Dialog design … 416
12.3 Experimental content —— Use Qt To write “Hello,World” Program … 420
Summary of this chapter … 428