โœ… Task 5: Preprocessor and the volatile Keyword in C

๐ŸŽฏ Objective:
Understand how the C preprocessor works and learn the importance of the volatile keyword in embedded systems programming.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 5: Preprocessor and the volatile keyword in C
Link: https://drive.google.com/file/d/1CalBJ1DLfsS_Yckc_5-b9AP9gWBAzslt/view?usp=sharing

๐Ÿ“ Make notes on:

  • What is the C Preprocessor?
  • Preprocessor directives (#define, #include, #ifdef, etc.)
  • Macro functions and constants
  • Conditional compilation
  • What is the volatile keyword?
  • Why volatile is important in embedded systems
  • Example use cases of volatile

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Write a program using macros.
  • Demonstrate the use of volatile variable.
  • Use conditional compilation in a small example.


โœ… Task 6: Bitwise Operators in C

๐ŸŽฏ Objective:
Learn how bitwise operators work and how they are used in low-level and embedded programming.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 6: Bitwise Operators in C
Link: https://drive.google.com/file/d/1DMFCUCAGKc_LGvS5BMPm-SvYSezPp6hg/view?usp=sharing

๐Ÿ“ Make notes on:

  • What are bitwise operators?
  • AND (&)
  • OR (|)
  • XOR (^)
  • NOT (~)
  • Left shift (<<)
  • Right shift (>>)
  • Bit masking techniques
  • Real-world embedded examples

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Write programs using each bitwise operator.
  • Perform bit masking on a number.
  • Toggle specific bits in a variable.


โœ… Task 7: Arrays and Pointer Arithmetic

๐ŸŽฏ Objective:
Understand how arrays work in C and how pointer arithmetic is used to access and manipulate memory.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 7: Arrays and Pointer Arithmetic
Link: https://drive.google.com/file/d/1I3qS1MwRfPv4y6z1h3GRr3Z-F6Vx5kCI/view?usp=sharing

๐Ÿ“ Make notes on:

  • What are arrays in C?
  • Types of arrays
  • Relationship between arrays and pointers
  • Pointer arithmetic operations
  • Accessing arrays using pointers
  • Memory layout of arrays

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Create programs using single-dimensional arrays.
  • Access array elements using pointers.
  • Perform pointer arithmetic operations.


โœ… Task 8: Functions in C and the Call Stack

๐ŸŽฏ Objective:
Learn how functions work in C and understand how the call stack manages function calls.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 8: Functions in C and the Call Stack
Link: https://drive.google.com/file/d/1RI9MQOW31Lb4-w1rTaA9IYO2rEm4rA-f/view?usp=sharing

๐Ÿ“ Make notes on:

  • What are functions in C?
  • Function declaration and definition
  • Parameter passing
  • Return values
  • What is the call stack?
  • Stack frame concept
  • Function execution flow

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Write programs with multiple functions.
  • Pass parameters between functions.
  • Trace function calls using stack understanding.


โœ… Task 9: Modules, Recursion & ARM Procedure Call Standard (AAPCS)

๐ŸŽฏ Objective:
Understand modular programming, recursion concepts, and how ARM uses procedure call standards.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 9: Modules, Recursion, ARM AAPCS
Link: https://drive.google.com/file/d/1PlvfIpZpl8l6B6nm0IlEyFGfqVZuNyGQ/view?usp=sharing

๐Ÿ“ Make notes on:

  • What is modular programming?
  • Benefits of modules in embedded development
  • What is recursion?
  • Recursive vs iterative approach
  • ARM Application Procedure Call Standard (AAPCS)
  • Parameter passing in ARM
  • Register usage in function calls

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Write a recursive function example.
  • Break a program into multiple modules.
  • Analyze function call behavior.


โœ… Task 10: Stack Overflow and Other Function Pitfalls

๐ŸŽฏ Objective:
Learn common mistakes in functions and understand stack overflow issues in embedded programming.

๐Ÿ”น To Do:

๐ŸŽฅ Watch Session 10: Stack Overflow and Other Pitfalls of Functions
Link: https://drive.google.com/file/d/1D8WnkTUjwSn5XRGpdZaQ3jQlFaIAeTLS/view?usp=sharing

๐Ÿ“ Make notes on:

  • What is stack overflow?
  • Causes of stack overflow
  • Infinite recursion problems
  • Function memory usage
  • Debugging function issues
  • Best practices for writing safe functions

๐Ÿ”„ Revise the concepts carefully.

๐Ÿ“Œ Mini Practice:

  • Write a recursive function and analyze stack behavior.
  • Identify a stack overflow scenario.
  • Apply best practices to prevent stack issues.