This project is created as an ecosystem to help other Embedded projects to save some time for developing Bootloaders and applications for Flashing.
Join to project's Discord group: https://discord.gg/r53FEqvz73
IMBootloader is a bootloader with different features written in C following the MISRA C 2012 guidelines:
- accepts signed Firmware
- it is secure. It uses encrypted communication for firmware and bootloader update
- it can copy and run Firmware directly from the RAM
- it is self updatable
- enters in bootloader over FLASH segment
- enters in bootloader over RAM segment
- enters in bootloader with button
- CRC32 protected communication with IMFlasher
- capable of enabling read protection (RDP)
- capable of disabling read protection (RDP)
- generates 32 bytes long unique board id
- informs IMFlasher with GIT branch/hash/tag info
- carry manufacturer id for integration with a system
- carry product type data for integration with a system
- running Firmware from external FLASH over QSPI (paid version)
IMFlasher is a Qt application for flashing firmware or a new bootloader by using a PC. \
- multiplatform application
- auto detect IMBootloder over USB
- download files from improject.imtech.hr server
IMLedBlink is a simple example that serves as a showcase of project capabilities.
IMUtility A Safety-Critical Utility Code written in C (Queue, CRC, data serialization/deserialization, base64...)