Skip to content

About

This project is created as an ecosystem to help other Embedded projects to save some time for developing Bootloaders and applications for Flashing.

Discord

Join to project's Discord group: https://discord.gg/r53FEqvz73

Repositories

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

Architecture

IMProject_architecture drawio

Pinned

  1. IMBootloader IMBootloader Public

    Safety-Critical bootloader, written by following MISRA guidelines

    C 16 4

  2. IMFlasher IMFlasher Public

    Universal application for firmware flashing

    C++ 3 1

  3. IMLedBlink IMLedBlink Public

    LED blink example compatible with IMBootloader

    C 3 1

  4. IMUtility IMUtility Public

    A Safety-Critical Utility Code

    C 32 3

Repositories

Showing 7 of 7 repositories

Top languages

C C++ Python

Most used topics

Loading…