Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 4.64 KB

File metadata and controls

49 lines (37 loc) · 4.64 KB

Chapter 3: Getting Your Hands on Hardware

This is a companion repository for Making Embedded Systems, 2nd Ed. by Elecia White.

Following Along in the Book

In order of when they appear in the book:

Digging Deeper into Electronics

EE Basics:

Fun and Games

  • nand2tetris is a series of lectures and projects about how to go from logic gates to software ( there is a book that is part of this as well: The Elements of Computing Systems: Building a Modern Computer from First Principles )
  • Human Resource Machine by Tomorrow Corporation is about optimizing resources, it turns out to be a lot like assembly programming.
  • Turing Complete shows how logic and logic gates work, building up a processor.
  • Zachtronics’ TIS-100 is another logic and processor design game. It is a little ugly in spots (too real world) but it is a really deep dive into learning assembly. It is the precursor to Shenzhen IO but harder to finish.
  • Zachtronics’ Shenzhen IO is about circuits and how they work .

The book doesn't cover logic gates or assembly so this is all about the amusement. These games are all good for building intuition about the lowest layers of what the computer is doing. I mean, if they aren't fun, don't continue, they aren't lessons. But if they are fun and you progress through the levels, you'll learn more about the lower levels of processors and how they work which will look familiar if you work with them.

MicroMadness Tournament

If you want to get a broad overview of a bunch of different boards, look at the MicroMadness Spreadsheet. Find 32 (or 16) friends/classmates. Randomly assign dev boards. Go off and look up some basic information about the dev board. Then have the boards compete based on the arbitrary (and randomly chosen) criteria. When a board loses a round, the "owner" becomes part of the winning team to help look up data.

The winner (and their newly formed team) gets bragging rights.

Code For This Chapter

FIXME Not implemented. Planning to have examples for:

  • Flash test
  • Error handling

The ARM GNU toolchain is very popular and can be run under Visual Studio Code. It may also be run underneath some other IDEs.

Final Note

If you like what's here, please consider buying the book: Making Embedded Systems, 2nd Ed. by Elecia White