|
|
|
|
|
Oasis embedded system training bridges the gap between higher-level abstract modeling concepts and the lower-level programming aspects of embedded systems development. We have divided the embedded system training modules in the following major chronological categories: |
|
|
 |
|
|
|
|
|
1.
C Programming:
This modules aims to introduce the more advanced elements of the C language, which are so important when developing for embedded systems such as function pointers, typedef, structures, unions and bit fields |
|
|
|
|
|
 |
Pointers & Function Pointers |
|
|
|
 |
Structure, unions and bit fields |
|
|
|
 |
Data structure including linked list, binary trees, stacks queues etc. |
|
|
|
 |
C and Process Architecture specific issues. |
|
|
|
|
|
|
|
2.
8 Bit Micro controllers programming: |
 |
|
|
|
|
|
|
This module will deal with 8 bit micro-controller architecture and programming. Following are some of the details about this module : |
|
|
|
|
|
 |
8 bit Micro controller architecture, register set and memory map |
|
|
|
 |
8 bit Instruction set, addressing mode and programming |
|
|
|
 |
Peripheral devices programming (GPIO, ADC, DAC, LED, 7 SEGMENT, UART, Keyboard, Timers etc) |
|
|
|
 |
Interrupt architecture and programming |
|
|
|
|
|
|
|
|
|
|
|
|
3.
Operating Systems Fundamentals: |
 |
|
|
|
|
|
|
This module is designed to a strong conception background in operating systems. It provides an overview of the main tasks faced by operating systems developers and teaches the primary methods used to solve common problems with more emphasis on Linux Programming. Some of the module concepts include: |
|
|
|
|
|
 |
Operating System and Hardware Architecture |
|
|
|
 |
Process and Process Control |
|
|
|
 |
Signals |
|
|
|
 |
|
Inter Process Communication (Pipes, Shared memory, Message Queues, Signals etc) |
|
|
|
|
 |
|
Deadlocks and avoidance techniques |
|
|
|
|
|
 |
Thread Management |
|
|
|
 |
Deadlocks and avoidance techniques
|
|
|
|
 |
|
Scheduler and various Scheduling Algorithms |
|
|
|
|
 |
|
|
|
|
 |
Memory Management
|
|
| |
|
|
|
|
4.
32 Bit ARM Architecture and Programming: |
 |
|
|
|
|
|
|
This section will mostly deal with the architecture and programming of ARM. Following are some of the details pertaining to this section: |
|
|
|
|
|
 |
ARM processor hardware architecture |
|
|
|
 |
GNU tool chain |
|
|
|
 |
ARM programming model, Instruction Set Architecture |
|
|
|
 |
Exceptions handling in Arm, External interrupt, Software interrupt, Abort handling |
|
|
|
 |
Arm procedure call standards (APCS) |
|
|
|
 |
C and assembly interfacing |
|
|
|
 |
Thumb instruction set architecture, and programming model |
|
|
|
 |
Arm - Thumb inter-working |
|
|
|
 |
ARM optimization techniques |
|
|
|
 |
Project: Implementing Scheduler and context switching in ARM
|
| |
|
|
| |
5.
Embedded C :
Device programming in C
Interrupt Programming
Mixed C and Assembly
Optimization
|
|
|
|
6
. RTOS Fundamentals & Programming
(using
µCos)
: |
 |
|
|
|
|
|
|
This module provides an introduction to the theory, structure and practice of Real-Time operating systems. Particular emphasis is placed on issues related to Embedded Application, the module content are: |
|
|
|
|
|
 |
Real time systems Fundamentals |
|
|
|
 |
Real time operating system introduction |
|
|
 |
Task, thread, process |
|
|
|
 |
Real Time Kernel Architecture. |
|
|
|
 |
Real Time Scheduler algorithm, analysis |
|
|
|
 |
Deadlocks |
|
|
|
 |
Kernel data structure |
|
|
|
 |
IPC |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|