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

image

Client-Server Communication

image

Encryption

image

Encryption with Monocypher

image

Pinned Loading

  1. IMBootloader Public

    Safety-Critical bootloader, written by following MISRA guidelines

    C 19 4

  2. IMFlasher Public

    Universal application for firmware flashing

    C++ 3 1

  3. IMLedBlink Public

    LED blink example compatible with IMBootloader

    C 3 1

  4. IMUtility Public

    A Safety-Critical Utility Code

    C 42 4

Repositories

Showing 7 of 7 repositories
  • IMUtility Public

    A Safety-Critical Utility Code

    C 42 BSD-3-Clause 4 0 0 Updated Mar 9, 2025
  • IMBootloader Public

    Safety-Critical bootloader, written by following MISRA guidelines

    C 19 BSD-3-Clause 4 0 0 Updated Feb 22, 2025
  • IMLedBlink Public

    LED blink example compatible with IMBootloader

    C 3 BSD-3-Clause 1 0 0 Updated Feb 20, 2025
  • .github Public
    0 0 0 0 Updated Jan 3, 2025
  • Python 1 0 0 0 Updated Mar 28, 2024
  • Library Public

    All shared software in one place that is not in IMUtility

    C 1 0 0 0 Updated Dec 12, 2022
  • IMFlasher Public

    Universal application for firmware flashing

    C++ 3 BSD-3-Clause 1 2 0 Updated Sep 15, 2022

Top languages

Loading…

Most used topics

Loading…