Realtime Operating Systems: Concepts and Implementation of Microkernels for Embedded Systems
Date: 06 May 2011, 17:58
|
The microkernel presented in this book may not be any better than others, but at least you will get to know how it works and how you can modify it. Apart from that, this microkernel has been used in practice, so it has reached a certain level of maturity and stability. You will learn about the basic ideas behind this microkernel, and you are provided with the complete source code that you can use for your own extensions. Contents List of Figures List of Tables Preface 1 Requirements 1.1 General Requirements 1.2 Memory Requirements 1.3 Performance 1.4 Portability 2 Concepts 2.1 Specification and Execution of Programs 2.1.1 Compiling and Linking 2.2 Loading and Execution of Programs 2.3 Preemptive Multitasking 2.3.1 Duplication of Hardware 2.3.2 Task Switch 2.3.3 Task Control Blocks 2.3.4 De-Scheduling 2.4 Semaphores 2.5 Queues 2.5.1 Ring Buffers 2.5.2 Ring Buffer with Get Semaphore 2.5.3 Ring Buffer with Put Semaphore 2.5.4 Ring Buffer with Get and Put Semaphores 3 Kernel Implementation 3.1 Kernel Architecture 3.2 Hardware Model 3.2.1 Processor 3.2.2 Memory Map 3.2.3 Peripherals 3.2.4 Interrupt Assignment 3.2.5 Data Bus Usage 3.3 Task Switching 3.4 Semaphores 3.4.1 Semaphore Constructors 3.4.2 Semaphore Destructor 3.4.3 Semaphore P() 3.4.4 Semaphore Poll() 3.4.5 Semaphore V() 3.5 Queues 3.5.1 Ring Buffer Constructor and Destructor 3.5.2 RingBuffer Member Functions 3.5.3 Queue Put and Get Functions 3.5.4 Queue Put and Get Without Disabling Interrupts 3.6 Interprocess Communication 3.7 Serial Input and Output 3.7.1 Channel Numbers 3.7.2 SerialIn and SerialOut Classes and Constructors/Destructors 3.7.3 Public SerialOut Member Functions 3.7.4 Public SerialIn Member Functions 3.8 Interrupt Processing 3.8.1 Hardware Initialization 3.8.2 Interrupt Service Routine 3.9 Memory Management 3.10 Miscellaneous Functions 3.10.1Miscellaneous Functions in Task.cc 3.10.2Miscellaneous Functions in os.cc 4 Bootstrap 4.1 Introduction 4.2 System Start-up 4.3 Task Start-up 4.3.1 Task Parameters 4.3.2 Task Creation 4.3.3 Task Activation 4.3.4 Task Deletion 5 An Application 5.1 Introduction 5.2 Using the Monitor 5.3 A Monitor Session 5.4 Monitor Implementation 6 Development Environment 6.1 General 6.2 Terminology 6.3 Prerequisites 6.3.1 Scenario 1: UNIX or Linux Host 6.3.2 Scenario 2: DOS Host 6.3.3 Scenario 3: Other Host or Scenarios 1 and 2 Failed 6.4 Building the Cross-Environment 6.4.1 Building the GNU cross-binutils package 6.4.2 Building the GNU cross-gcc package 6.4.3 The libgcc.a library 6.5 The Target Environment 6.5.1 The Target Makefile 6.5.2 The skip_aout Utility 7 Miscellaneous 7.1 General 7.2 Porting to different Processors 7.2.1 Porting to MC68000 or MC68008 Processors 7.2.2 Porting to Other Processor families 7.3 Saving Registers in Interrupt Service Routines 7.4 Semaphores with time-out A Appendices A.1 Startup Code (crt0.S) A.2 Task.hh A.3 Task.cc A.4 os.hh A.5 os.cc A.6 Semaphore.hh A.7 Queue.hh A.8 Queue.cc A.9 Message.hh A.10 Channels.hh A.11 SerialOut.hh A.12 SerialOut.cc A.13 SerialIn.hh A.14 SerialIn.cc A.15 TaskId.hh A.16 duart.hh A.17 System.config A.18 ApplicationStart.cc A.19 Monitor.hh A.20 Monitor.cc A.21 Makefile A.22 SRcat.cc Index PassWord: www.freebookspot.com
|
DISCLAIMER:
This site does not store Realtime Operating Systems: Concepts and Implementation of Microkernels for Embedded Systems on its server. We only index and link to Realtime Operating Systems: Concepts and Implementation of Microkernels for Embedded Systems provided by other sites. Please contact the content providers to delete Realtime Operating Systems: Concepts and Implementation of Microkernels for Embedded Systems if any and email us, we'll remove relevant links or contents immediately.