Skip to content

divyamSoni/nucleo-STM32F767zi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basic Bare-Metal Embedded Code

This is a guide for newbies to bare metal programming using nucleo-STM32F767zi board. Bare metal code i.e. configuring registers directly to achieve desired behaviour without using various abstraction layers. One can use any board of there choice because in bare-metal programming we are interacting on a hardware level, main thing to learn here is how to go through a datasheet and configure various registers hence making one adaptable to different microcontrollers. The only thing that differs from one manufacturer to another is the architecture, which should be kept in mind while programming a partucular microcontroller.

nucleo-Stm32f767zi MDK-Arm

nucleo-stm32f767zi

Mainly 2 documents are required to program a particular microcontroller.

Datasheet View block diagram, bus connections etc.
Reference Manual To configure specific register bits.

Keil µVision Settings

Run-Time Environment

CMSIS Core Startup

Target options

Frequency Debugger

Flash Download

Download Function

1. BARE-METAL

  1. Hello World of Embedded - Blink an LED
  2. General Purpose Input Output
  3. System Tick Timer Basic
  4. Delay using System Tick Timer
  5. Universal Synchronous/Asynchronous Receiver Transmitter Driver
  6. General Purpose Timer Module Basic
  7. General Purpose Timer Module Compare
  8. General Purpose Timer Module Input Capture
  9. Input Capture Frequency Period Measurement
  10. Pulse Width Modulation Using Timer
  11. General Purpose I/O Interrupt
  12. Multiple General Purpose I/O Interrupt
  13. Universal Asynchronous Receiver-Transmitter Interrupt
  14. System Tick Timer Interrupt
  15. General Purpose Timer Module Interrupt
  16. Analog To Digital Converter Basic
  17. Analog to Digial Converter + Timer Basic
  18. Liquid Crystal Display 8-bit Mode Basic
  19. Liquid Crystal Display 8-bit Mode String
  20. Serial Peripheral Interface Basic
  21. Serial Peripheral Interface + Liquid Crystal Display
  22. CAN Loopback Mode

2. HAL

  1. Hello World of Embedded - Blink an LED
  2. Universal Synchronous/Asynchronous Receiver Transmitter - Transmit Only