diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..57f75d47c32ca3d3a0dd6c23d4b46383a5e853a3 --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +XP-el Mikroprocessorprogrammeringskurs (MPPK) +============================================= + +# Introduction + +Embedded systems are everywhere. + +Use-cases ranges from heavy industry to tiny sensors in your everyday life. + +# Hardware + +## ARM + +While your laptop/stationary computer most likely runs some `x86_64` CPU architecture, +odds are your mobile phone is powered by an ARM processor. +The ARM family of Reduced Instruction Set Computing (RISC) architectures is one of the most prevalent processor architectures. + +For more information: https://en.wikipedia.org/wiki/ARM_architecture + +## Registers, IO + +A typical way to access and interface with the hardware connected to your microcontroller is by accessing various registers, which is memory regions mapped to some hardware. + +# Software + +In order to instruct the hardware some sort of software is required. + +Software is the instructions for the ARM-processor, telling it which registers and what memory to modify. + +## Compiler + +## Toolchain + +### Git + +### Cargo-binutils + +``` +rustup component add llvm-tools-preview +``` + +### GDB / LLDB + +## Rust + +Installation + +https://rustup.rs/ + +# Bare-metal programming + +## OpenOCD + +## ST-link + +## Blackmagic probe + +## GDB / LLDB Debugger