ARMmbed / ARMmbed/minar

Build and linking mbed for a start address different then Flash origin

Open
#39 1 comment 0 reactions 0 assignees View on GitHub
mirrored
Dominant language
C++
Stars
26
Forks
21
PR merge metrics
No merged PRs in 30d

Description

Hello,

I'm not sure if this is the right repo for my question. If not, please let me know.
We will implement a sort of bootloader (for FW updates) for our mbed devices.
We planed to put the bootloader at start of flash (and hence reserving the interrupt vectors for itself).
This means we need to move our mbed image by a given offset, hence mbed needs to be compiled and linked for another start address then it is now; furthermore the way mbed manages the interrupt vector table may necessary to be changed. May be the bootloader will have to do that in advance to the mbed image (by relocating the vector table to RAM prior to jump to mbed), if so the mbed internal mechanism may be deactivated.
My question:
- is it possible to relocate an mbed image without too much effort?
- If yes, how do we achieve that (where is the start address actually defined)?
- How do we modify (if necessary) the mbed internal vector table management to allow this relocation?

Thanks in advance for your help.

Kind Regards

Martin Tomasini

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how the mbed image's link start address and interrupt vector table are defined and managed. Done would require a clear, supported approach for relocating the image and handling vector-table ownership with the bootloader.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.