Code Monkey home page Code Monkey logo

stm32_sd_bootloader's Introduction

STM32 SD Bootloader

Description

Custom Bootloader project which enables firmware update over sd card with a lot of error handling mechanisms.

  • Flash Integrity (Firmware Update Corruptions)
  • Hardware SD Card Detection
  • File System Initilization Handlers
  • User Defined Firmware File Existance Control
  • CRC Check of Firmware Binary File
  • Flash Unlock/Erase/Read/Write/Lock Operation Controls
  • Comparison of Firmware File Size and User Application Flash Area

Bootloader project uses FatFs file system.

SD Card wrapper library (sdcard.c and sdcard.h) makes use of FatFs APIs easy.

Usage

  • This project is generated using STM32CubeIDE
  • Demo project is demonstrated on STM3240G-EVAL Board but bootloader project can be easily adapted to other microcontrollers and development boards

Notes

  • User Application binaries (.bin file) should include CRC32 at the end of firmware. CRC32 check is done by comparing the CRC32 value of firmware file and sd card input stream buffer.

  • There are online tools that manage your binary files. User could use the below sites to calculate the CRC32 value of binary file and add CRC32 value to the end of firmware file

  • https://hexed.it/

  • https://emn178.github.io/online-tools/crc32_checksum.html

sd_bootloader_flow_diagram

stm32_sd_bootloader's People

Contributors

serbayozkan avatar

Watchers

 avatar  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.