Working on the STM32 platform at work, would like to explore the lower levels which the almighty grey beards before me already implemented. p.s. This is what nerds do for fun in weekends...
Going to repeat the whole college course with going through the chip registers and building a HAL.
- Turn LED on at start of program
- Read input pin from button, turn LED on when button is pressed
- Make a timer work so we can have a delay
- Implement Blink
- Use timer(s) for time stamp
- Use timer for interrupt
- Implement Blink on interrupt
- Implement PWM
- Implement glowing LED
- Use ADC for analog value
- Read POT meter and write to LED on above certain value
Although this is written in Rust, it will not follow the Rust principles of ownership or embedded-hal crate. This is done because we want to get to know the chip registers, not the whole Rust architecture.
- (Rust book)
- (Rust programming by example)
- (Rust cargo book)
- (Rustonomicon book)
- (Rust Embedded book)
- (Cortex-m crate)
- (Cortex-m-rt crate)
- (Install Rust)
- install openOCD
- (install gdb multi arch, and set udev rules)
- (add "thumbv7m-none-eabi" target)