Writing C directly to the hardware!
- URL: https://github.com/kongkrit/BareMetal-C
- Purpose: Repository for teaching/learning
BareMetal-C - Go to Setup Documents
These are the instructions to follow to set up your computer to be ready to do assignments.
You need to follow all the steps from 1-4 to have a working environment for the class:
- Setup Tools - instructions.
- Setup
SimulIDE- instructions. - Setup
Visual Studio Code(VS Code) - instructions. - Test the whole system - instructions.
Your environment should be ready, but before starting lecture or a new assignment, you should:
- Update the system - instructions
Warning: Only perform instructions below if you have problems with
Docker DesktoporVS Code. It will erase all your Dockerimagesand reset your VS Codesettingsandextensions. It will not touch anything else. Your personal data files should remain safe.But we cannot guarantee that. So, If you follow the Reset instructions below, proceed at your own risk.
- Reset Docker and VS Code to original state. See instructions
-
Download lecture notes from https://github.com/kongkrit/BareMetal-C/tree/main/slides.
-
Right now, the following lecture notes are available. More will be available soon:
- 00 Intro
- 01 Welcome to the Digital World
- 02 From Text to Machine
- 03 A Full MVC Example
- 04 Interrupts and Stacks
These are the reference documents for the class:
- 1. Read
C99 Coding Guildlineshere - 2. Read
C99 Style Guidehere - 3. Read
C99 Operator Precedencehere - 4. Cheat sheet
- 0xC000-0xC003 toggle switches
- 0xE000-0xE003 LEDs
- 0xE010-0xE017 strip LEDs
- numerical keypad read2clr
- directional keypad read2clr
