โ Task 10: Stack Overflow & Other Function Pitfalls
๐ฏ Objective:
Understand stack behavior and common mistakes while working with functions in C.
๐น To Do:
๐บ Watch Session 10: Stack Overflow and Other Pitfalls of Functions
๐ Link: https://drive.google.com/file/d/1D8WnkTUjwSn5XRGpdZaQ3jQlFaIAeTLS/view?usp=drive_link
๐ Make notes on:
- What is stack overflow?
- Function call stack behavior
- Recursion pitfalls
- Memory mismanagement in functions
- Debugging techniques
๐ Revise concepts carefully
๐ Mini Practice:
- Write a recursive function and test limits
- Create a scenario causing stack overflow
- Debug and fix the issue
โ Task 11: Standard Integers in C
๐ฏ Objective:
Learn about integer types and their importance in embedded programming.
๐น To Do:
๐บ Watch Session 11: Standard Integers
๐ Link: https://drive.google.com/file/d/1ybhad1E-hH5FH6DwnAtXrtTh65IhzRC5/view?usp=drive_link
๐ Make notes on:
- Integer types (
int,short,long) - Signed vs unsigned
- Fixed-width integers (
stdint.h) - Memory size and range
- Embedded system relevance
๐ Revise concepts carefully
๐ Mini Practice:
- Write programs using different integer types
- Print size of each type
- Use
uint8_t,int32_tin examples
โ Task 12: Structures in C & Cortex Interface
๐ฏ Objective:
Understand structures and their role in embedded system programming.
๐น To Do:
๐บ Watch Session 12: Structures in C and Cortex Microcontroller Interface
๐ Link: https://drive.google.com/file/d/1Y_-RXGoHBAC3m1YAlsrZTEC_ljIchyyW/view?usp=drive_link
๐ Make notes on:
- Structure syntax
- Nested structures
- Memory alignment
- Use in embedded systems
- Peripheral mapping concepts
๐ Revise concepts carefully
๐ Mini Practice:
- Create and use structures in programs
- Access and modify structure members
- Simulate embedded-style structure usage
โ Task 13: Startup Code (Part 1)
๐ฏ Objective:
Learn how startup code initializes the system in ARM-based microcontrollers.
๐น To Do:
๐บ Watch Session 13: Startup Code Part 1
๐ Link: https://drive.google.com/file/d/1VmoI_i-3Tzv72WfSHxU9PKqaeh75vyFf/view?usp=drive_link
๐ Make notes on:
- What is startup code?
- Reset handler
- Memory sections (.data, .bss)
- Initialization flow
- Boot process basics
๐ Revise concepts carefully
๐ Mini Practice:
- Analyze a simple startup file
- Identify memory sections
- Trace execution from reset to main()
โ Task 14: Startup Code (Part 2)
๐ฏ Objective:
Understand advanced startup code concepts, including vector tables and interrupt handling in ARM-based systems.
๐น To Do:
๐บ Watch Session 14: Startup Code Part 2
๐ Link: https://drive.google.com/file/d/15OgVMceVZSC4ZdMfsRPijvAqHtCllQ1m/view?usp=drive_link
๐ Make notes on:
- What is a vector table?
- Interrupt and exception handling basics
- Role of interrupt service routines (ISR)
- Linking startup code with application code
- Execution flow after reset
๐ Revise concepts carefully
๐ Mini Practice:
- Analyze a vector table structure
- Identify ISR functions in startup code
- Trace execution from reset handler to main()
Updated Tasks :
โ Task 15: Interrupts Deep Dive (ARM Cortex-M)
๐ฏ Objective:
Understand how interrupts work internally in ARM Cortex-M microcontrollers.
๐บ To Do:
Watch Session: Interrupts Part-3 โ How interrupts work on ARM Cortex-M
๐ Link: https://drive.google.com/file/d/1X6rTFaPmZ_-Zc9EITdb3aJ5mPLBwhd5r/view?usp=drive_link
๐ Make notes on:
- Interrupt vector table
- NVIC (Nested Vectored Interrupt Controller)
- Interrupt priority levels
- ISR (Interrupt Service Routine) flow
- Context switching during interrupts
๐ Revise concepts carefully
๐ Mini Practice:
- Write a simple interrupt handler (pseudo or embedded C)
- Explain interrupt flow step-by-step
- Identify priority-based interrupt execution
โ Task 16: GNU ARM Toolchain & IDE Setup
๐ฏ Objective:
Learn how embedded C programs are compiled and executed using toolchains.
๐บ To Do:
Watch Session: GNU ARM Toolchain and Eclipse IDE
๐ Link: https://drive.google.com/file/d/1yraW8Wq1cqqjX2nnnWHVDs-_se0m4oGO/view?usp=sharing
๐ Make notes on:
- What is a toolchain?
- Compiler, linker, and debugger roles
- Build process in embedded systems
- IDE setup and workflow
- Cross-compilation basics
๐ Revise concepts carefully
๐ Mini Practice:
- Draw embedded build flow diagram
- Explain difference between compiler & linker
- List steps to compile a C program for ARM
โ Task 17: Race Conditions in Embedded Systems
๐ฏ Objective:
Understand race conditions and how to prevent them.
๐บ To Do:
Watch Session: Race Conditions โ What & How to Avoid
๐ Link: https://drive.google.com/file/d/1ppqhbtUpWK7zsNcvnCyFMJYF0XAVrpmR/view?usp=sharing
๐ Make notes on:
- What is a race condition?
- Shared resource problems
- Critical sections
- Real-world examples
- Prevention techniques
๐ Revise concepts carefully
๐ Mini Practice:
- Write a scenario showing race condition
- Explain how data inconsistency occurs
- Suggest fixes using critical sections
โ Task 18: RTOS Basics โ Thread Blocking
๐ฏ Objective:
Understand thread blocking and efficient CPU usage in RTOS.
๐บ To Do:
Watch Session: RTOS Part-4 โ Efficient Blocking of Threads
๐ Link: https://drive.google.com/file/d/1e9lW_GOMgmS88Ko9Ix8yKOgTVeI3coA_/view?usp=sharing
๐ Make notes on:
- What is blocking vs busy waiting
- Thread states (Ready, Running, Blocked)
- CPU utilization concepts
- Delay and wait mechanisms
๐ Revise concepts carefully
๐ Mini Practice:
- Draw thread state diagram
- Compare blocking vs polling
- Explain how blocking improves performance
โ Task 19: RTOS Scheduling Concepts
๐ฏ Objective:
Learn how RTOS schedules tasks efficiently.
๐บ To Do:
Watch Session: RTOS Part-5 โ Preemptive, Priority-based Scheduling
๐ Link: https://drive.google.com/file/d/1di9yqtUXwJr2Fpfnzmj3Ms44cWoJPJS9/view?usp=sharing
๐ Make notes on:
- What is real-time system?
- Preemptive vs cooperative scheduling
- Priority-based scheduling
- Context switching
๐ Revise concepts carefully
๐ Mini Practice:
- Create a task priority example
- Explain preemption with example
- Draw scheduling timeline
โ Task 20: Thread Synchronization & Communication
๐ฏ Objective:
Understand synchronization between multiple threads in RTOS.
๐บ To Do:
Watch Session: RTOS Part-6 โ Synchronization & Communication
๐ Link: https://drive.google.com/file/d/14KLH3B5qLMmo979-PyXdVR1XhB9f54z5/view?usp=sharing
๐ Make notes on:
- Need for synchronization
- Mutex vs Semaphore
- Deadlocks basics
- Inter-task communication methods
๐ Revise concepts carefully
๐ Mini Practice:
- Explain mutex vs semaphore
- Write a simple synchronization scenario
- Identify possible deadlock situation
