โ 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()
