C For Embedded Systems
Getting more advanced topics in C language that are more suitable for programming the embedded systems.
Description
Getting more advanced topics in C language that are more suitable for programming the embedded systems. Course topics include various technical skills as follows:
Section 1 which includes What are Embedded Systems?, Embedded systems characteristics, Micro-Controller concepts, C for Embedded Systems vs. Embedded C, Code compilation process, Preprocessing, Compilation, Assembler stage, Linking, Error types. with the following videos:
Intro to Embedded Systems
Micro-Controller concepts
Compilation Process
Conditional Compilation and #Pragma
Function-like Macro
Stringification and Concatenation
Compilation Process - Continue
Error Types
Section 2 which includes Environment setup, Using gcc on command line, Build & run code using cmd, Debugging using CodeBlocks, Debugging using cmd. with the following videos:
Intro to cmd
Compilation Process using cmd - continue
Debugging using CodeBlocks
Debugging using cmd
Section 3 which includes Primitive Data Types, Data Type Qualifiers, Derived Data Types, Array, Function, Pointers. with the following videos:
Intro to Data Types
Array Continue
Functions and Pointers intro
Pointers Continue 1
Pointers Continue 2
Section 4 which includes User Defined Data Types: Structure, Union, Enum, Using typedef, Declaration vs. Definition, Overflow vs. Underflow, Type Casting, Data Type Qualifiers (Continue), Scope and Lifetime. with the following videos:
Structure and Union
enum and typedef
Declaration Vs Definition
Overflow Vs Underflow
Type Casting
Qualifiers - Continue
Scope
Lifetime
Section 5 which includes Memory types, Program memory segments, Static vs. Dynamic memory allocation, Static vs. Dynamic linking, Function call, Functions types. with the following videos:
Memory Types
Memory Segments
Memory Allocation
Static and Dynamic Linking
Function Call
Function Types
Section 6 which includes Memory alignment, Bitwise operations, HW I/O concepts: Memory mapped registers, Polling vs. Interrupts, DMA, Startup file, Inline Assembly, Software layered architecture, MISRA rules. with the following videos:
Memory Alignment
Bitfields
Bitwise operations
Memory mapping
Polling Vs Interrupt and DMA
Startup code
Inline Assembly
Software Layered Architecture
What You Will Learn!
- Learn Code Compilation Process
- learn Using Command Line & Debugging
- Learn C Data types and Qualifiers
- Program Memory Deep Understanding
- Learn Some General Principles
Who Should Attend!
- Intermediate C language developers intending to develope for Embedded Systems