Coder Social home page Coder Social logo

nucleo-stm32f767zi's Introduction

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 (register codes)

  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

nucleo-stm32f767zi's People

Contributors

divyamsoni avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.