Skip to content

This is the bootloader firmware portion of my DieBieMS battery management system.

Notifications You must be signed in to change notification settings

EnnoidMe/DieBieMS-Bootloader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Other parts of this project

This is the firmware-bootloader repository containing all firmware source files. There are three more repositories for this project:
DieBieMS Hardware The hardware sourcefiles.
DieBieMS Firmware can be flashed with the BMS Tool in the firmware tab.
DieBieMS Configuration tool the tool to configure the BMS and upload the bootloader / update the main firmware.

When attempting to install this firmware and bootloader you need to know the flash mapping. Make sure to use a microcontroller with at least 256kB of flash (eg the STM32F303CCT6 as described by the bom). When you use a lower size you cannot use the bootloader (flash is to small), when you use higher you don't utilize all the potential flash area.

When flashing the application the start address should be: 0x08000000 When flashing the bootloader the start address should be: 0x08032000

The flash is formatted as follows (summary):

((uint32_t)0x08000000) /* Base @ of Page 0, 2 Kbytes / // Startup Code - Main application
((uint32_t)0x08000800) /
Base @ of Page 1, 2 Kbytes / // Page0 - EEPROM emulation
((uint32_t)0x08001000) /
Base @ of Page 2, 2 Kbytes / // Page1 - EEPROM emulation
((uint32_t)0x08001800) /
Base @ of Page 3, 2 Kbytes / // Remainder of the main application firmware stars from here.
((uint32_t)0x08019000) /
Base @ of Page 50, 2 Kbytes / // New app firmware base addres
((uint32_t)0x08032000) /
Base @ of Page 100, 2 Kbytes */ // Bootloader base

See "modFlash.h" and "modFlash.c" for more info.

About

This is the bootloader firmware portion of my DieBieMS battery management system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.7%
  • Assembly 2.6%
  • C++ 0.7%