Contents
Preface
...............................................................................................................................
7
1
Overview
...................................................................................................................
9
1.1
Scope of the Standard
............................................................................................
10
1.1.1
Rules and Guidelines
....................................................................................
11
1.2
Requirements of the Standard
..................................................................................
11
1.3
Goals of the Standard
............................................................................................
12
1.4
Intentional Omissions
............................................................................................
12
1.5
System Architecture
...............................................................................................
13
1.5.1
Frameworks
...............................................................................................
13
1.5.2
Algorithms
.................................................................................................
14
1.5.3
Core Run-Time Support
.................................................................................
14
2
General Programming Guidelines
...............................................................................
15
2.1
Use of C Language
...............................................................................................
16
2.2
Threads and Reentrancy
.........................................................................................
16
2.2.1
Threads
....................................................................................................
16
2.2.2
Preemptive vs. Non-Preemptive Multitasking
.........................................................
17
2.2.3
Reentrancy
................................................................................................
17
2.2.4
Example
...................................................................................................
18
2.3
Data Memory
.......................................................................................................
19
2.3.1
Memory Spaces
..........................................................................................
20
2.3.2
Scratch versus Persistent
...............................................................................
20
2.3.3
Algorithm versus Application
............................................................................
22
2.4
Program Memory
.................................................................................................
23
2.5
ROM-ability
........................................................................................................
23
2.6
Use of Peripherals
................................................................................................
24
3
Algorithm Component Model
.....................................................................................
25
3.1
Interfaces and Modules
...........................................................................................
26
3.1.1
External Identifiers
.......................................................................................
27
3.1.2
Naming Conventions
.....................................................................................
28
3.1.3
Module Initialization and Finalization
..................................................................
28
3.1.4
Module Instance Objects
................................................................................
28
3.1.5
Design-Time Object Creation
...........................................................................
29
3.1.6
Run-Time Object Creation and Deletion
..............................................................
29
3.1.7
Module Configuration
....................................................................................
30
3.1.8
Example Module
..........................................................................................
30
3.1.9
Multiple Interface Support
...............................................................................
31
3.1.10
Interface Inheritance
....................................................................................
32
3.1.11
Summary
.................................................................................................
32
3.2
Algorithms
..........................................................................................................
33
3.3
Packaging
..........................................................................................................
34
3.3.1
Object Code
...............................................................................................
34
3.3.2
Header Files
..............................................................................................
35
3.3.3
Debug Verses Release
..................................................................................
35
SPRU352G – June 2005 – Revised February 2007
Contents
3
Submit Documentation Feedback