Nohau Training Courses
C Programming for Embedded Systems, part III The main part of the training is focused on the problems occurring when dealing with embedded systems programming, such as high performance, synchronising and memory requirements.
Course: C Programming for Embedded Systems, part III
Days: 2
This training course is the most advanced in our series of C-
knowledge, for those who wishes to get new fresh views on
programming courses.
the subject, and get practical ideas to be used in their own
We will take a good look at the complex parts of the C language so important when developing for embedded systems, such as function pointers, unions and bit fields.
company.
Previous knowledge You need to have good knowledge in C programming, cor-
We will also teach you methods for developing good code pos-
responding to our courses ”C programming for embedded
sible to do maintenance on, and possible to test.
systems, part I” and ”C programming for embedded systems, part II” as well as practical experience to a certain degree.
Goal What we aim for with this training course is to give you the
Practical exercises / Tools
necessary deeper knowledge in C programming that you do
This course has many exercises following up the items brought
need.
up on the theory part of the training.
You will be taught valuable tricks and ways to make time
We use a windows based integrated environment consisting of
saving constructions in you development process.
editor, C-compiler and linker from IAR (Embedded Workbench for ARM). The Programs are downloaded and run in an
Participants
ARM7TDMI-based target from Atmel (AT91EB42).
This training course is designed to suit developers and programmers of embedded systems with some experience in programming, who wishes to deepen their C programming
For debugging we use the In-Circuit Debugger from Lauterbach (Lauterbach Trace32-ICD).
Content Advanced C constructions
Generally
• More about pointers and function pointers
• Encapsulation of HW;
• Structures; • unions and bit fields • Memory requirement; • static and dynamic • Inline assembler
Performances in C • How do I write optimal code (which require little maintenance)
• writing code for several target environments
Advanced debugging and maintenance • Writing code possible to test • Logging
• Start-up codes and programs loading
• Built-in test
• Synchronising problems
• Hot-swap;
• Interrupt handling
• to write programs for on-line-update
• Semaphores and monitors • Re-entrancy • Shared data
Objectoriented C • How do you simulate C++ in C?
Nohau Solutions AB, Box 1030, SE-212 10 Malmö, info@nohau.se, www.nohau.se | Contact Nohau Training Courses: +46 40 59 22 16, kurs@nohau.se
46