Doug Abbott9780750675468, 0750675462
Table of contents :
Linux for Embedded and Real- time Applications……Page 1
Contents……Page 5
Preface……Page 9
Audience and Prerequisites……Page 10
Personal Biases……Page 11
1.1 What Is Embedded?……Page 13
1.2 What Is Real-time?……Page 14
1.3 How and Why Does Linux Fit in?……Page 15
1.4 Resources……Page 19
2.1 Features……Page 21
2.2 Protected Mode Architecture……Page 23
2.3 The Linux Process Model……Page 28
2.4 The Linux Filesystem……Page 33
11.3 Communication Condition Variables……Page 0
2.6 The usr hierarchy……Page 40
2.8 Resources……Page 41
3 The Host Development Environment……Page 43
3.1 Cross-Development Tools – the GNU Tool Chain……Page 44
3.2 Configuring and Building the Kernel……Page 45
3.4 Resources……Page 58
4 BlueCat Linux……Page 61
4.2 Installing BlueCat Linux……Page 62
4.3 X86 Target for Blue Cat Linux……Page 64
4.4 Configuring the Workstation……Page 67
4.6 Directories……Page 70
4.9 Target Files……Page 71
4.10 Resources……Page 75
5.1 The Target Setup……Page 77
5.2 GDB……Page 78
5.3 Debugging a Sample Program……Page 80
5.4 The Host as a Debug Environment……Page 85
5.5 Adding Programmable Setpoint and Limit……Page 88
5.6 Resources……Page 91
6.1 Kernel Modules……Page 93
6.3 Linux Device Drivers……Page 99
6.4 Internal Driver Structure……Page 102
6.5 The Hardware……Page 107
6.7 Debugging Kernel Code……Page 108
6.8 Building Your Driver into the Kernel……Page 112
6.9 An Alternative – uCLinux……Page 115
6.10 Resources……Page 116
7.1 Sockets……Page 117
7.2 A Simple Example……Page 120
7.3 A Remote Thermostat……Page 123
7.4 Embedded Web Servers……Page 125
7.5 Resources……Page 128
8 Introduction to Real- time Programming……Page 129
8.1 Polling vs. Interrupts……Page 130
8.2 Tasks……Page 137
8.3 Scheduling……Page 140
8.4 Kernel Services……Page 144
8.5 Inter-task Communication……Page 146
8.7 Interrupts and Exceptions……Page 155
8.8 Critical Sections……Page 156
8.9 Resources……Page 157
9 Linux and Real-time……Page 159
9.2 Two Approaches……Page 162
9.3 Resources – Obtaining Real-time Linux Implementations……Page 165
10.1 Installing RTAI……Page 167
10.2 The RTAI Architecture……Page 171
10.3 Intertask Communication and Synchronization……Page 174
10.4 Communicating with Linux Processes……Page 175
10.5 Real-time in User Space – LXRT……Page 176
10.6 One Shot vs. Periodic Timing……Page 179
10.7 Moving to Kernel Space……Page 182
10.8 Real-time FIFOs and Shared Memory……Page 183
10.9 Suggested Exercises……Page 185
11 Posix Threads……Page 187
11.1 Threads……Page 188
11.2 Synchronization – Mutexes……Page 190
11.4 Pthreads in User Space……Page 194
11.5 Moving to Kernel Space……Page 200
11.6 Message Queues……Page 202
11.7 Suggestions for Further Exploration……Page 204
11.8 Resources……Page 205
1 Module: rtai……Page 207
2 Module: rtai_sched……Page 211
3 Module rtai_fifos……Page 230
4 Module rtai_shm……Page 233
5 Module rtai_lxrt……Page 235
B Posix Threads (Pthreads) Application Programming Interface……Page 239
1 Threads……Page 240
2 Mutexes……Page 243
3 Condition Variables……Page 247
4 Message Queues……Page 249
Why Software Should Not Have Owners……Page 255
Index……Page 263
Reviews
There are no reviews yet.