[Previous]
[Next]
[Contents]
[Index]
Telelogic Tau 3.5
User's Manual
Part 8:
Chapter
61
--
63
Table of Contents
61. The Cmicro Code Generator
3121
Introduction 3122
Application Area for the Cmicro Code Generator 3122
Overview of the Cmicro Code Generator 3123
Generated Files 3124
Generated Configuration File 3124
Generated C File 3126
Generated Environment Header File 3126
Generated Make File 3128
Generated Symbol File 3129
Generated Kernel Group File 3129
Implementation 3130
Time 3130
Scheduling 3130
Synonyms 3133
Procedure Calls and Operator Calls 3134
Generation of PAD function 3135
Any 3135
Calculation of Receiver in Outputs 3135
Abstract Data Types 3137
General C Definitions 3137
Exceptions for SDL Predefined Types 3137
Exceptions for Implementations of Operators 3141
Exceptions for Directives 3143
Selecting File Structure for Generated Code -- Directive #SEPARATE 3143
Assigning Priorities -- Directive #PRIO 3147
Modifying Outputs -- Directive #EXTSIG, #ALT, #TRANSFER 3149
Output of Code Generation 3150
Header of Generated C File 3151
SECTION Types and Forward References 3152
Symbol Tables 3152
Tables for Processes 3152
Actions by Processes and Procedures 3162
Init Function 3176
Function main 3177
Symbol Table File 3177
Generation of Identifiers 3178
Processes and Process IDs (PID) 3178
Signals and Timers 3180
States 3181
SDL Restrictions 3182
General 3182
sdth2sdl 3182
Combining Cadvanced / Cmicro C Code 3183
CORBA / IDL / ITEX 3183
Light and Tight Integrations 3183
Restrictions in Combination with Cmicro Tester 3183
62. The Cmicro Library
3185
Introduction 3186
Differences between Cmicro and Cadvanced 3188
General 3188
SDL Restrictions 3188
Scheduling 3189
Generation of Files 3190
Environment Handling Functions 3190
Including C Code in SDL by User 3191
Generated C Code 3192
General Recommendations Regarding Compatibility 3192
The SDL Scheduler Concepts 3193
Signals, Timers and Start-Up Signals 3193
Processes 3202
Procedures 3212
Blocks, Channels and Signal Routes 3213
Targeting with the Cmicro Package 3214
Directory Structure 3214
Prerequisites 3214
Steps of Targeting -- Overview 3215
Generate Cmicro C Code 3216
Manual Configuration with the BodyBuilder 3217
Copying Template Files 3218
Adapting the Makefiles 3218
Connecting the SDL Environment 3223
Compiling and Linking 3224
Download and Execution 3224
Different Forms of Target Integration 3225
The BodyBuilder 3226
Starting the BodyBuilder 3227
The Main Window 3228
The Configuration Window 3229
The Configuration Field 3230
Using the BodyBuilder 3231
The Menu Bar 3233
The Log Window 3235
The Generated Environment 3236
The BodyBuilder's Definition Files 3237
Compilation Flags 3239
Manual Scaling 3239
Cmicro Kernel/Library 3241
Cmicro Tester 3257
Support of SDL Constructs 3263
Automatic Scaling Included in Cmicro 3273
Automatic Dimensioning in Cmicro 3275
Adaptation to Compilers 3276
List of Available C Compilers in ml_typ.h 3276
Introducing a New C Compiler 3278
Defining the SDL System Time Functions in mk_stim.c 3283
Bare Integration 3284
Implementation of Main Function 3284
Integrating Hardware Drivers, Functions and Interrupts 3285
Initializing the Environment / Interface to the Environment 3286
Receiving Signals from the Environment 3286
Sending Signals to the Environment 3290
Closing the Environment / the Interface to the Environment 3295
SDL System Time Implementation 3295
Getting the Receiver of a Signal -- Using xRouteSignal 3296
Dynamic Memory Allocation 3297
User Defined Actions for System Errors -- the ErrorHandler 3302
List of Dynamic Errors and Warnings 3304
Light Integration 3313
Model 3313
Adaptations That Are to Be Made 3314
System Partitioning 3317
Model 3317
Specifying and Generating the Partitions 3318
Adaptations That Are to Be Made 3320
Unique Identifiers 3320
Restrictions 3321
File Structure 3322
Description of Files 3322
Functions of the Basic Cmicro Kernel 3327
Exported from env.c 3327
Exported from mk_user.c 3328
Exported from mk_main.c 3329
Exported from mk_sche.c 3330
Exported from mk_outp.c 3333
Exported from mk_queu.c 3336
Exported from mk_tim1.c 3340
Exported from mk_stim.c 3343
Exported from ml_mem.c 3344
Exported from ml_mon.c 3346
Exported from mk_cpu.c 3348
Functions of the Expanded Cmicro Kernel 3351
Exported from mk_sche.c 3351
Exported from mk_outp.c 3352
Exported from mk_queu.c 3354
Exported from mk_tim1.c 3355
Technical Data 3356
Allocating Dynamic Memory 3356
Estimating the Required Memory 3357
Performance 3359
63. The Cmicro Tester
3361
Introduction 3362
The Cmicro Tester -- An Overview 3363
Prerequisites 3363
Following the Execution Flow -- The Cmicro Tracer 3364
Reproduction of Errors -- The Cmicro Recorder 3367
Commands for the Host and Debugging Facilities 3369
Using the Cmicro Tester's Host 3370
Introduction 3370
Different Ways of Using the Cmicro Tester 3371
Preparing the Host to Target Communication 3373
Invoking the Cmicro Tester's Host 3378
Getting a Target Trace 3382
Debugging -- A Few Guidelines 3383
Record a Session 3384
Re-Play a Recorded Session 3385
Restrictions of the Cmicro Tester 3386
Cmicro Tester Commands 3387
Graphical User Interface 3415
Starting the Cmicro Tester UI 3415
The Main Window 3415
The Text Area 3416
The Input Line 3416
Parameter Dialogs 3417
The Button Area 3418
A Button Module 3419
The Default Button Modules 3421
The Menu Bar 3426
Button and Menu Definition File 3435
The Target Library 3437
General 3437
File Structure 3437
The API on Target 3440
Environment Functions 3446
Compiling and Linking the Target Library 3447
Connection of Host and Target 3450
General 3450
Structure of Communications Link Software 3450
Default Implementation of Communications Link Software 3451
The Communications Link's Target Site 3474
Steps to Implement a Communications Link 3478
The Communications Link's Host Site 3479
Current Restrictions for Communications Link Software 3486
Connection of a Newly Implemented Communications Link 3486
The Communications Link To Lauterbach Emulators 3491
More Technical Descriptions 3496
The File Formats of Sdtmt 3496
The Symbol Tables 3496
Cmicro Recorder 3499
Utility Functions 3506
File Structure 3506
Trouble-Shooting 3507
What to Do if the SDL Editor Trace Does Not Work? 3507
What to Do if There Is a Warning of the Information/Message Decoder? 3507
[Previous]
[Next]
[Contents]
[Index]