-
Notifications
You must be signed in to change notification settings - Fork 3k
Using "managed bootloader" with custom target? #11120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@theotherjimmy Saw you in some other issues relating to bootloaders in mbed, hoping you can help me out with some advice here! |
@DrynnBavis Jimmy has moved to a different team within arm. Embedded Planet recently went through this process with our Agora target but the resource that did it just went on vacation. @AGlass0fMilk also had interest in the mbed bootloader porting process and may or may not have time to look onto your issue as part of that effort. |
Looks like it's using CMSIS packs to look up memory layout of the target. The python tools are using this library: https://github.com/ARMmbed/cmsis-pack-manager to look up cached targets. I went through the @DrynnBavis And found a similar target name -- try using |
@AGlass0fMilk Where do I put this exactly? It's not recognising this as a
EDIT: I'm guessing here that the specification of Could you please explicitly describe what I need to do here to use EDIT2: After changing the
EDIT3: poking around in
If I can figure out what these arrays are for maybe I can use the data sheet to fill this in. Or maybe this was left null for a good reason. Regardless, I still don't see how this will solve the issue of |
Update time, I found a target with sectors defined that comes from the same family of processor called
Cross referencing this with the F413/23 family data sheet (see page 67-68), I now believe that the first number here is a ROM address and the second is the sector size starting at that address. If so, this is consistent with what the data sheet says for the first 3 entries, but the fourth remains a mystery to me. According to the data sheet, does this look like the right definition? Can anyone tell me what the 4th entry is supposed be doing? Is it correct? Anyway, I've changed my But unfortunately, one problem persists. After flashing the main project binary to my device, I successfully run through the bootloader, and after booting to the main app space I get this hard fault error:
Does this look familiar @AGlass0fMilk ? I have no clue where to start debugging this one... |
is your bootloader based in mbed os? is your bootloader relocating the vector table? mbed as i recall relocates the vector by default. In the past @AGlass0fMilk was getting a hardfault after booting mcuboot. i beleive it was due to an invalid vector table relocation? vtor is the register to confirm. |
yes
I don't know how to do this so probably not.
What's the actionable item on my end here? How do I check the value of vtor, and what value am I expecting to be there? Pretty new to this so if you wouldn't mind being as verbose as possible, it'd be appreciated. |
cc @ARMmbed/team-st-mcd (for checking the above sectors)
|
@0xc0170 Bit of an update from my work in another thread... Once I add my block device constructor call back to the bootloader like this:
then I'm unable to successfully initalise the kernel for the new app. While initalising, an SVC handler call within
How would I check this? |
Thank you for raising this issue. Please note we have updated our policies and |
The end of an era. Long live questions. |
@loverdeg-ep yes there should be one coming soon. |
Questions and enhancements will still be welcomed but should go to the forum going forward. This allows us to concentrate on the real bugs on GitHub whilst the forums can be more of an open discussion area. |
Tottaly agree with the change. Brings a tear to my eye seeing the project growing up, Founders moving on etc... I think the policy change is a significant step forward, both for image, accessibility, and maintenance of the project. |
Uh oh!
There was an error while loading. Please reload this page.
Description
Struggling to compile my bootloader for a custom MCU.
This MCU uses an STM32F413RH core M4F processor and I've got the following target definition filled out in
targets.json
:Unfortunately, when trying to use this target in my bootloader, I find that
POST_APPLICATION_ADDR
is undefined and it seems that"target.restrict_size"
was ignored completely in mymbed_app.json
.Is this intended behaviour? Am I forced to use an "unmanaged bootloader" with the
mbed_app_start
andmbed_app_size
settings? Or is there something I'm missing in my target definition above? I really thoughtbootloader_supported
would be all I needed..EDIT: I've also tried to build my main application (the one the bootloader will boot into) and after trying to build it with specifying my bootloader in
target.bootloader_imh
I get this error:Issue request type
Target: custom MCU with STM32F413RH processor
Toolchain: GCC_ARM 7.3.1
Tool: mbed-cli
Vers: cfa7938 (HEAD, tag: mbed-os-5.12.2)
The text was updated successfully, but these errors were encountered: