sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update sudo apt-get install gcc-arm-none-eabi sudo apt-get install gdb-arm-none-eabi arm-none-eabi-g++ --version sudo apt install make
Modify generalDefines.h There are a bunch of #define change this one to look like this #define ENNOID_HV 1
make -j
done :)
This is the firmware repository containing all firmware source files. There are three more repositories for this project:
ENNOID-BMS Hardware The hardware sourcefiles.
ENNOID-BMS Bootloader Same as DieBieMS bootloader. Can be flashed with the BMS Tool in the firmware tab or with an STlink-V2.
ENNOID-BMS Configuration tool the tool to configure the ENNOID-BMS and upload the bootloader / update the main firmware.
- Install arm-none-eabi-gcc
- Configure
generalDefines.h
for LV, HV, SS, or SS_LITE versions - Makefile has rules for flashing with STLink or JLink
- Could also load using bootloader with binary
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.