forum  >  Evaluation >Time Analysis of Embedded Software -- Embedded software theory, analysis and practice in the automotive industry
Time Analysis of Embedded Software -- Embedded software theory, analysis and practice in the automotive industry
  • Market reference price: ¥ 139.0   |   number: five   |   Number of applicants: ten
  • Warming up Applying Experiencing Closed
  • June 10 August 31
  • To the end of the activity: seventy-four day six hour eleven branch
  • Exhibition of works List publication
  • Event Details

    The proportion of software in the car is steadily increasing, and the part of runtime behavior Timing (time performance measurement) in the software is also growing explosively. There are many reasons for this: more and more parts of the software are related to security, the system itself becomes more and more complex, and multi-core applications are more difficult than expected in most cases. The subject of time performance measurement can not be ignored by controller units in modern automobile field. The cost of analyzing and solving time performance measurement problems is undoubtedly very high, especially in the later stage of the project. in addition Safety specifications such as ISO 26262 specify requirements related to time performance of embedded software.


    This book introduces the basic content, In order to develop software or solve serious time performance measurement problems with correct time performance measurement methods. It also focuses on various analysis methods, Covers all stages of the development process , and through a large number of practical examples and specific suggestions for the work of developers to lay the foundation for its theory. Even though most of the practical examples in the book come from the automotive industry , but almost all of its contents can be directly transferred to other fields. "Time analysis of embedded software" is not a topic only related to a few experts , in-depth understanding of the time analysis challenges faced by embedded systems will help to develop better and more reliable embedded software, and can also save a lot of costs in the entire development life cycle. Welcome interested netizens to take advantage of this activity to further study, exchange and improve.



    How to apply

    (1) Slide down to the "Product Data" column to further understand the book content and chapter settings;

    (2) >>Click I want to apply , carefully fill in the application reasons, read the sharing plan, etc., and you will have the opportunity to obtain books for free. There is one place available for evaluation coupon in this activity, first use first serve


    Event schedule

    Application time: May 20 to June 10
    Selection announcement: all shortlisted names will be announced before June 13
    Reading time: June 20 to August 31
    Award time: within two weeks after the event

     

    Reading requirements

    (1) After receiving the book, please click EEWorld Automotive Electronics During the activity period, Share at least 3 experiences with substantive content , the progress is to submit an article every 15 days at least. It requires 100% original starting, and plagiarism will be blocked. The experience can include: the evaluation and understanding of the book content, and the experiment process in the book;

    (2) Bookfriends' Q&A, Solitaire, Interaction and Growth: Each chapter sets up a question and answer online interaction activity, where the administrator posts and the book friend posts, asking the first book friend to initiate the question of this chapter, the second to answer, and so on. The last one is the chapter summary role, summarizing this chapter in the form of text or mind map, and this interaction ends. Participants are required to participate in at least 50% of the chapter book interaction

     

    Event award

    The judges will rate the quality of reading experience, the completion of reading plan, the completion of interactive chapters, and the timeliness of sharing. Comprehensive score=60% reading experience quality+10% reading plan completion+20% interactive chapter completion+10% timeliness

    Comprehensive score

    reward

    Comprehensive score>=90

    Keep reading books+20 prestige+20 core points

    Comprehensive score>=75 points

    Keep reading books+10 prestige+10 core points

    Comprehensive score<75

    Send back reading books


  • Product Data

    author

    Peter Gliwa, CEO of Gliwa, is a famous expert in the field of automotive embedded systems. He has more than 20 years of work experience in the field of operating systems and time analysis in the automotive electronics industry. He and his GLIWA company have provided a large number of consulting services on related topics for many vehicle manufacturers and large suppliers, At the same time, as the development partner of AUTOSAR (Automotive Open System Architecture) Alliance, he led the development work of relevant project teams. He once worked as a professional lecturer of microcomputer in Stuttgart College and regularly held industry training courses.


    catalog

    Chapter 1 Basic Knowledge 1
    1.1 Real time system 1
    1.2 Phased software development model V-Model 1
    1.3 Compilation process: from model to executable 3
    1.3.1 Model based software development and code generation 3
    1.3.2 C precompiler 3
    1.3.3 C compiler 5
    1.3.4 Code optimization performed by compiler 6
    1.3.5 Assembler 6
    1.3.6 Linker 7
    1.3.7 Positioner 7
    1.3.8 Link Script8
    1.3.9 Debugger 10
    1.4 Summary 12
    Chapter 2 Processor Basics 13
    2.1 Structure of processor 13
    2.1.1 CISC and RISC 14
    2.1.2 Registers14
    2.2 Code execution 15
    2.3 Memory addressing and its mode17
    2.3.1 Addressing Modes Important for Data Access 18
    2.3.2 Addressing Mode for Jumping and Calling 20
    2.3.3 Selecting addressing mode20
    2.4 Waiting state, burst access 22
    2.5 Cache 23
    2.5.1 Cache Structure and Cache Lines24
    2.5.2 Group Associated Cache and Cache Eviction25
    2.6 Pipeline27
    2.7 Interruption 28
    2.8 Traps/Exceptions29
    2.9 Data consistency 29
    2.10 Features of embedded processors compared with desktop processors 31
    2.11 Summary 32
    Chapter 3 Operating System 33
    3.1 No operating system: infinite loop plus interrupt 33
    3.1.1 Implementation example of cycle interrupt 33
    3.1.2 Polling - Nondisruptive Implementation34
    3.1.3 Scalability 36
    3.2  OSEK/VDX 36
    3.2.1 Task 36
    3.2.2 Interruption 39
    3.2.3  ErrorHook 39
    3.2.4 Basic scheduling strategy39
    3.3 Multi task: collaboration and preemption 41
    3.3.1 Illustration of two kinds of tracking (Example 1) 41
    3.3.2 Stack consumption (Example 2) 43
    3.3.3 Ensuring Data Consistency 45
    3.3.4 Limitations of collaborative multitasking 45
    3.3.5 Optimization that can be implemented to reduce OS_Schedule() calls 47
    3.3.6 Summary 47
    3.4  POSIX 47
    3.4.1 Process 49
    3.4.2 Threads 49
    3.4.3 POSIX Thread Status Diagram 51
    3.4.4 Scheduling Strategy52
    3.5 Summary 52
    Chapter 4 Software Time Theory 53
    4.1 Time parameter53
    4.1.1 RTOS scheduling (OSEK, AUTOSAR CP, etc.) time parameter53
    4.1.2 POSIX related time parameters58
    4.2 Statistical parameters58
    4.2.1 Small values and values59
    4.2.2 Average 59
    4.2.3 Histogram 60
    4.2.4 Occurrence mode of irregular events60
    4.3 CPU load61
    4.3.1 Definitions 62
    4.3.2 Selecting the Observation Range64
    4.3.3 Expanded CPU Load65
    4.3.4 CPU load when using background tasks66
    4.4 Bus load67
    4.5 Logic execution time67
    4.6 Summary 68
    Chapter 5 Software Time Analysis Method69
    5.1 Overview and classification at different levels 69
    5.1.1 Communication layer69
    5.1.2 Dispatching level 70
    5.1.3 Code level 71
    5.2 Definition of terminology72
    5.2.1 Tracking 72
    5.2.2 Analysis, time measurement and (again) tracking 72
    5.3 Static code analysis 73
    5.3.1 Basic Functions and Workflow73
    5.3.2 Use cases 75
    5.3.3 Limitations of Static Code Analysis 76
    5.3.4 Static Code Analysis Expert Interview78
    5.4 Code emulation 80
    5.4.1 Functions and Workflow80
    5.4.2 Use cases 81
    5.4.3 Limitations of static code emulation 82
    5.4.4 Interviews with experts in the field of code simulation 83
    5.5 Running time measurement86
    5.5.1 Basic Functions and Workflow86
    5.5.2 Use cases 95
    5.5.3 Limitations of running time measurement96
    5.6 Hardware based tracking97
    5.6.1 Basic Functions and Workflow97
    5.6.2 Use cases 99
    5.6.3 Limitations of hardware based traceability 101
    5.6.4 Hardware based tracking expert interview 102
    5.7 Tracking based on software method108
    5.7.1 Basic Functions and Workflow108
    5.7.2 Use cases 115
    5.7.3 Limitations of measurement based tracking 115
    5.7.4 Measurement based expert interviews in tracking field 116
    5.8 Dispatching simulation 121
    5.8.1 Basic Functions and Workflow121
    5.8.2 Use case 124
    5.8.3 Limitations of dispatching simulation124
    5.8.4 Dispatching simulation expert interview 125
    5.9 Static scheduling analysis127
    5.9.1 Basic Functions and Workflow128
    5.9.2 Use case 129
    5.9.3 Limitations of static scheduling analysis131
    5.9.4 Interview with experts on static scheduling analysis 131
    5.10 Optimization using evolutionary algorithm135
    5.11 Application of time analysis method in V-Model137
    Chapter 6 Software Time Problem Case 139
    6.1 Where did the interruption come from? one hundred and thirty-nine
    6.2 OSEK ECC: Not 140
    6.3 Accidental collapse occurs 17 min after resetting 143
    6.4 Missing and duplicate sensor data144
    6.5 Holding the handbrake to compete 149
    6.6 The actual measured WCET is greater than the static code analysis 150
    6.7 Sometimes the network management message comes too early 151
    6.8 Time analysis without interruption in series projects152
    6.9 Time analysis saved the car factory 12 million Euro152
    6.10 Summary 153
    Chapter 7 Software Time in Multi core and Multi ECU Environment154
    7.1 Multi core basics 154
    7.1.1 Amdahl vs. Gustafson - who is right? one hundred and fifty-five
    7.1.2 CPU core - Homogeneous, Heterogeneous
    Or Lock step? one hundred and fifty-five
    7.1.3 Lock step multi-core 156
    7.1.4 Infineon AURIX - Same, Different and Lock Step 157
    7.2 Multiple types of concurrent execution 158
    7.2.1 Parallel execution of applications 158
    7.2.2 Parallel execution of function159
    7.2.3 Parallel execution of instructions 164
    7.3 Data consistency, Spinlocks 165
    7.3.1 The ideal solution to ensure data consistency 168
    7.3.2 Cost of ensuring data consistency 169
    7.4 Storage address cloning 170
    7.5 Summary 172
    Chapter 8 Software Runtime Optimization 174
    8.1 Scheduling level run-time optimization174
    8.1.1 Preventing cross core communication174
    8.1.2 Avoid using ECC task174
    8.1.3 Rational use of heterogeneous multi-core processors 175
    8.1.4 Mechanisms to avoid the need to ensure data consistency 175
    8.1.5 Realize load balancing of periodic tasks by optimizing offsets 175
    8.1.6 Split task177
    8.1.7 Migrating functions to tasks with lower execution frequency177
    8.2 Runtime optimization for memory use178
    8.2.1 Use of fast memory 178
    8.2.2 Data Alignment 180
    8.2.3 Code alignment and cache optimization181
    8.3 Runtime optimization at code level182
    8.3.1 Optimizing Frequently Called Small Functions 184
    8.3.2 Optimize root function sqrt 184
    8.3.3 AURIX's linear kernel ID 187
    8.3.4 Calculation to saturation 190
    8.3.5 Processor specific general instructions 191
    8.3.6 Compiler optimizations 192
    8.4 Summary and guide of runtime optimization 199
    Chapter 9 Methods and Skills in the Development Process 202
    9.1 Time related needs202
    9.1.1 Time demand 202
    9.1.2 Requirements for methods and tools207
    9.1.3 General requirement template208
    9.2 Collaboration during development209
    9.3 Software runtime concept, scheduling design and operating system configuration210
    9.4 Software running time debugging 210
    9.5 Runtime optimization 211
    9.6 Time verification 211
    9.6.1 "Analysis" in the test phase 212
    9.6.2 "POI (Point of Interest) Tracking" 212
    9.6.3 "Situation" in the test phase 212
    9.6.4 "Determine space based on experience" 212
    9.7 Early consideration of later functions213
    9.8 Time monitoring in end product214
    9.9 A good example: CoReMa 215 produced by Vitesco Technologies
    9.10 Summary 216
    Chapter 10 AUTOSAR 218
    10.1  AUTOSAR CP 219
    10.1.1 Functional architecture219
    10.1.2 Software architecture, SW-C definition and VFB 219
    10.1.3  RTE 220
    10.1.4 Implementation, System Configuration and Runnable 221
    10.2  AUTOSAR AP 221
    10.2.1 Functional architecture221
    10.2.2 Software architecture AA 221
    10.2.3 Implementation and system configuration223
    10.2.4 Deployment224
    10.2.5 Execution management and execution client224
    10.2.6 Deterministic Execution and Deterministic Clients 224
    10.2.7 POSIX dispatche226
    10.2.8 Time in AUTOSARAP 227
    10.3 AUTOSAR time extension TIMEX 229
    10.3.1 Objective 229
    10.3.2 Events and event chain229
    10.3.3 TIMEX Requirements Type 230
    10.3.4 AUTOSAR/TIMEX perspective 230
    10.4 AUTOSAR/ASAM runtime interface ARTI 231
    10.4.1  AUTOSAR ARTI  232
    10.4.2  ASAM ARTI 233
    10.5 Technical report "time analysis" 233
    10.6 Summary234
    Chapter 11 Functional Safety, ISO 26262 235
    11.1 Basic knowledge235
    11.1.1 Risk235
    11.1.2 SIL - safety integrity class 235
    11.1.3 Out of context, in context and verified by use236
    11.2 Safety standards, time and time verification237
    11.3 Tools required for time safety238
    11.4 Legal considerations 239
    11.5 Summary240
    Chapter 12 Foreground 241
    Acknowledgements 242
    References 243


    preface

    In the field of computer science, embedded software only accounts for a relatively small part. Among them, the theme of "runtime analysis" is a specific aspect of the discipline. So, is "time analysis of embedded software" only a topic related to a few experts?
    At present, there are billions of embedded systems used in the world. All these devices are running embedded software, and each system has its own set of time requirements. If these time requirements cannot be met due to software errors, the results may vary greatly. Depending on the product and the specific situation, the consequences may be difficult to detect, may also cause problems to users, or even endanger lives.
    An in-depth understanding of the time analysis challenges faced by embedded systems will help to develop better and more reliable embedded software. This can not only improve the security and reliability of the system, but also save a lot of costs in the entire development life cycle. These are not just words. Many examples described in Chapter 6 of this book can be verified. Cost savings are possible at all stages of development.
    In the design of embedded systems and their software, early consideration of time issues plays a decisive role in improving development efficiency, and can avoid time issues from the beginning. It is detailed in Section 3.3, 6.2, 8.1 and Chapter 9 of this book.
    If the correct time analysis technology is used in application development, it can also save time and money. Chapter 5 of this book outlines a number of different technologies. Each technology has its applicable project development stage, and its working principle and process are described in their respective introductions, with emphasis on the application and limitations. In addition to these descriptions, Chapter 5 also contains interview records of experts in the corresponding fields. This makes the theme more vivid and provides some objectivity. If serious problems have occurred in the project, especially in the case of serious time problems, it will be of great help to use the corresponding time analysis technology at the appropriate stage.
    It goes without saying that automated testing helps to save costs. However, the existing automated test usually lacks the test related to time analysis, and only focuses on the functional aspect. Section 9.6 provides suggestions in the form of specific measures, hoping to solve such problems by using embedded software time analysis in automated testing in an appropriate way.
    If a project has sustained or sporadic CPU overload, measures must be taken to reduce the load. This usually happens when the project is approaching the deadline, so a team needs to be established to deal with this situation. Chapter 8 provides relevant basic knowledge and experience for such task groups. Among them, Section 8.4 is the end of this chapter, which can be used as the starting point for dealing with problems.
    The focus of this book is to closely combine theory with practice. The theory is always illustrated by examples, and there are many specific skills that can be applied to the design, implementation, debugging and verification stages.
    The layout of this book is reasonable, and it is easy for readers to read in order. However, when writing this book, the author has tried to endow each chapter with a certain degree of independence, so that readers will not be lost when searching for content or reading selectively.

  • Participants
    • hehung qinyunti Digital lobule Common Ze 1 luyism
  • Exhibition of works
  • name author time
  • Award
Welcome manufacturers to provide trial products
X
Copyright Electronic Engineering World Beijing B2-20211791 Jing ICP Bei 10001474-1 TSSP [2006] No. 258 Jinggong Network Anbei No. 11010802033920 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved