共1条
1/1 1 跳转至页
书稿: Real-Time and Embedded HowTO 下载连接(老站转)
http://www.mech.kuleuven.ac.be/~bruyninc/rthowto/
-----------------------------------------------------------------------------
Real Time and Embedded HOWTO
Herman Bruyninckx, K.U.Leuven, Belgium
Abstract
This HOWTO is about the fundamentals of (i) real-time and embedded operating systems (focusing mostly on their differences with general purpose operating systems such as Linux), and (ii) real-time programming. Everything is illustrated with Open Source examples: RTLinux, RTAI, eCos, RT-EMS, uCLinux, ... (The discussion is somewhat biased towards the Linux derivatives.) This text also talks about design issues and Software Patterns for real-time applications.
Table of Contents
About this HOWTO....................................................................................................... i
1. Purpose/Scope of this HOWTO........................................................................... i
2. Feedback ............................................................................................................. ii
3. Copyrights, Licenses and Trademarks ................................................................ ii
4. Acknowledgments.............................................................................................. iii
Part 1. Basics .................................................................................................................. i
1. Real-time and embedded operating systems........................................................1
1.1. OS responsibilities ....................................................................................1
1.1.1. Interrupt servicing..........................................................................1
1.1.2. Communication and synchronization ............................................2
1.1.3. Memory management ....................................................................2
1.1.4. Task management...........................................................................2
1.2. Trade-offs..................................................................................................3
1.3. Time ..........................................................................................................5
1.3.1. Real time ........................................................................................5
1.3.2. Latency...........................................................................................7
1.3.3. Timing constraints..........................................................................7
1.3.4. Data structures ...............................................................................8
1.4. Linux for real-time and embedded............................................................9
1.5. Operating system standards ....................................................................17
2. Task management and scheduling .......................................................................1
2.1. POSIX thread management.......................................................................2
2.2. Scheduling.................................................................................................3
2.3. Priority-based scheduling..........................................................................5
2.4. The Linux scheduler .................................................................................7
2.5. Real-time scheduling for Linux ................................................................8
3. Interrupts ............................................................................................................12
3.1. Introduction.............................................................................................12
3.2. Bottom halves (DSR) and top halves (ISR) ............................................15
4. IPC: synchronization and data exchange ...........................................................17
4.1. Introduction.............................................................................................17
4.2. Synchronization: events and locks..........................................................20
4.2.1. Race conditions............................................................................20
4.2.2. Events...........................................................................................24
4.2.3. Atomic operations........................................................................26
4.2.4. Locks............................................................................................27
4.2.4.1. Lock types.........................................................................30
4.2.4.2. The condition variable/mutex pattern for resource access33
4.2.4.3. Priority inversion...............................................................34
4.2.4.4. Priority inheritance and priority ceiling............................36
4.2.5. Lock-free synchronization ...........................................................37
4.3. Data exchange.........................................................................................39
4.3.1. Shared memory ............................................................................40
4.3.2. FIFOs ...........................................................................................41
4.3.3. Circular buffers ............................................................................41
4.3.4. Swinging buffers ..........................................................................42
4.3.5. Messages and mailboxes..............................................................43
4.3.6. Remote Procedure Calls...............................................................44
5. Memory management ........................................................................................45
5.1. Introduction.............................................................................................45
5.2. Shared memory in Linux ........................................................................47
5.2.1. Allocation at boot time.................................................................48
5.2.2. Allocation in kernel space............................................................50
5.2.3. Allocation in module....................................................................50
6. Real-time device drivers ....................................................................................51
6.1. Introduction.............................................................................................51
6.2. Comedi....................................................................................................52
6.3. Real-time serial line ................................................................................53
6.4. Real-time networking..............................................................................53
7. Linux variants for real-time and embedded .......................................................54
7.1. Real-Time Linux.....................................................................................54
7.1.1. The RTLinux patent .....................................................................55
7.2. RTAI........................................................................................................56
7.3. miniRTL..................................................................................................57
7.4. AtomicRTAI............................................................................................57
7.5. uCLinux ..................................................................................................57
7.6. Etlinux.....................................................................................................57
8. Non-Linux RTOSs .............................................................................................59
8.1. eCos.........................................................................................................59
8.2. RT-EMS ..................................................................................................59
8.3. CubeOS...................................................................................................59
8.4. FIASCO and DROPS..............................................................................59
8.5. Real-time micro-kernel ...........................................................................60
8.6. KISS Realtime Kernel.............................................................................60
9. Cross compilation & (remote) tracing and debugging.......................................61
Part 2. Design ...............................................................................................................62
10. Decoupling structure and functionality............................................................63
10.1. Components ..........................................................................................64
10.2. Architecture...........................................................................................66
10.3. Coupling................................................................................................66
11. Software Patterns .............................................................................................68
11.1. Component distribution and communication........................................68
11.2. Motion control ......................................................................................68
11.3. Device driver.........................................................................................69
11.4. Transaction and Rollback......................................................................69
12. Framework .......................................................................................................70
13. Hints.................................................................................................................71
13.1. Locks.....................................................................................................71
13.2. Patterns..................................................................................................73
Bibliography .................................................................................................................74
--------------------------------------------------------------------------------
armix
--------------------------------------------------------------------------------
fabulous.
long live,master.
here's a link published much of in korean,but most of it is written in english.
www.kernelkorea.org ---------- certainly, a site OS kernel relevant.
--------------------------------
hode your hopes, devote your tries, everyday, a little step forward.
关键词: 书稿 Real-Time Embedded How
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |