摘要 I Abstract II Acknowledgement III Contents IV List of Figures VII List of Tables X List of Listings XI Chapter 1 Introduction 1 1.1 Introduction and Motivation 1 1.2 Previous work 2 1.3 Organization 4 Chapter 2 Related works 5 2.1 Fault Tolerance 5 2.2 Self Testing Technique 11 Chapter 3 Background Knowledge 12 3.1 Real-Time Systems 12 3.1.1 Types of Constraints in Real-Time System 12 3.1.2 Real-Time Operating Systems 15 3.2 Real-Time Kernel MicroC/OS-II 16 3.2.1 MicroC/OS-II Features 16 3.2.2 Multi-Task Management in MicroC/OS-II 18 3.2.3 Task Control Blocks in MicroC/OS-II 20 3.2.4 Statistics Task in MicroC/OS-II 22 3.2.5 Ready List in MicroC/OS-II 23 3.3 Task Migration 25 3.3.1 Hardware/Software Architecture 25 3.3.2 Task Migration in Multiprocessor SoC 26 3.4 Processor Testing Techniques 27 3.4.1 External-Testing and Self-testing 27 3.4.2 Manufacturing Testing and On-Line Testing 29 3.4.3 Hardware-based Self-Test and Software-based Self-Test 30 Chapter 4 Implementation 32 4.1 PAC Duo platform 32 4.2 System Architecture Overview 34 4.3 Fault Detection 37 4.3.1 PAC DSP Software Self-testing Program 37 4.3.2 Test Response Check Daemon on MPU 50 4.3.3 Periodic Check with Watch dog timer 52 4.4 Program Data Replication 58 4.4.1 MicroC/OS-II Checkpoint API 58 4.4.2 The Option of Backup Area 61 4.5 Error Recovery 63 4.5.1 Error Recovery Daemon on MPU 64 4.5.2 MicroC/OS-II Recovery Point 66 4.5.3 MicroC/OS-II Task Migration Process 71 4.6 Communication Between Different SoCs 76 4.7 Task Migration Policy 77 Chapter 5 Experimental Results 82 5.1 Maximum Fault Recovery Time 82 5.1.1 Fault Detection Time 82 5.1.2 Error Process Time 85 5.2 Fault Recovery Testing 87 5.3 System Overhead 88 5.3.1 Code Size Increment 89 5.3.2 Memory Occupation 91 5.3.3 Time Measurement 93 5.3.4 Performance Overhead 97 Chapter 6 Conclusions and Future work 104 6.1 Conclusion 104 6.2 Future works 105 References 106
|