courses > Modular Syllabus
 
 Embedded C
  1. A ) Introduction to Processor Architectures

  2.  
    1. 8, 16, 32 bit architecture, RISC / CISC
    2. Choosing an architecture for an embedded application
  1. B ) 32 bit RISC architecture programming model

  2.  
    1. Instruction set & Assembly language programming.
    2. Assignments and exercises (1 & 2)
  1. C ) Introduction to Embedded C.

  2.  
    1. Data types and alignment.
    2. Endian-ness and Byte ordering
    3. Parameter passing
    4. Procedure calls and returns.
    5. Mixed C and Assembly language programming.
    6. Assignments and exercises. (3a)
  1. D ) Embedded device programming in C.

  2.  
    1. Assignments and exercises. (3b)
  1. E ) Exception handling in C

  2.  
    1. Exception types with reference to ARM architecture
    2. Timer Interrupt
    3. Assignments and Exercises (4)
  1. F ) C language optimization techniques

  2.  
    1. Identifying performance issues.
    2. Identifying the bottleneck in the software/firmware
    3. Writing efficient C for embedded systems
    4. Assignments and Exercises (5, 6)
  1.       Assignments and Exercises
  1.  
    1. Development environment, Debuggers, Make files, Linker script files, Map files, Binutils
    2. Assembly language instructions execution
    3. Embedded C programming
      1. Calling the assembly functions from C and vice versa.
      2. Memory mapped I/O, GPIO, LED, ADC Programming
    4. Vector Interrupt controller.
      1. Timer.
      2. Exception handling: Timer interrupt
    5. Optimization techniques
      1. Using Switch cases, Loop unrolling, choosing among the different loops.
      2. Dealing with data alignments issue, Cache considerations (Using cache for optimal use, and avoiding it in Memory mapped).
      3. Pipeline considerations (avoiding stalls by rearranging the code).
    6. Consideration for executing from ROM/RAM.
 
Follow Us on
Our Technology Partners
© 2009 Oasis Technologies Pvt. Ltd. All rights reserved.