Onboarding v2: Difference between revisions

(Added objectives)
 
(3 intermediate revisions by one other user not shown)
Line 22: Line 22:
** Declaration vs. Definition
** Declaration vs. Definition
* You know what registers are and how they differ from RAM
* You know what registers are and how they differ from RAM

=== Lessons ===

* [[What is Embedded Software?|Lesson 1: What is Embedded Software?]]
* [[Setting up an Embedded Development Environment|Lesson 2: Setting up an Embedded Development Environment]]
* [[Writing a Blinky Program|Lesson 3: Writing a Blinky Program]]
* [[Lesson 4: Reading Documentation/Manuals]]

Latest revision as of 17:30, 13 October 2024

Started on June 11. This is my (Alex's) attempt for starting a second attempt at onboarding, primarily based on the feedback from the 2023-2024 onboarding session. In particular, the onboarding was great for helping people build a robot from scratch, but really did not help people with gaining experience working on what is needed to work on Qubo. Therefore, I am trying to develop a new curriculum for embedded software, which is my "area of expertise". This is developed in tandem with me learning a bunch of stuff to get CAN Bus working on a couple STM32 boards for competition Summer 2024.


Take note that I am writing this from the perspective of a computer science student, so my assumptions are based on what is covered in the usual computer science introductory courses and what I knew when I started doing embedded work (which was only knowledge of C and a light amount of computer systems experience). I have no clue if this stuff is obvious to (say) electrical/computer engineering students who have completed the same amount of introductory coursework.

The goals of these tasks/lessons are so that you know the following by the end:

  • How to read the documentation for your microcontroller (gaining an intuition to know what information belongs in which manuals, and where to look)
  • How to debug a microcontroller
  • How to read and understand other standards so that you can utilize the hardware on the your microcontroller which implements that standard


As of right now, I am assuming the following:

  • You know how to program in C (you can learn most of this along the way, but you an avoid a lot of pitfalls the more you know here)
    • Heap vs. Stack
    • Pointers
    • Bitwise Operations
    • C standard library vs. C programming language
    • Declaration vs. Definition
  • You know what registers are and how they differ from RAM

LessonsEdit