2024-01-12 03:27 AM
I'm using an STM32H745 and have developed the Boot code, which works as expected when built as part of an application. However, having converted the Boot code to a static library and linked it into the same application the Boot startup section .isr_vector is not detected and hence not located at the appropriate location defined by the Application linker script.
Is there something I need to add, either to the Boot library or the Application so that the library section get located at the correct address?
Other than making the Boot source code a library, rather than part of the Application nothing else has changed.
Solved! Go to Solution.
2024-01-14 09:32 AM
Having created a new workspace to generate a reduced case example, I found that the example worked as expected. The Boot Application correction linked in the library and vectors to the correct location.
Going back to my full up solution, having changed workspaces, this now works as expected. Previously the map file had nothing allocated at the .isr_vector location, now it correctly identifies the object file from the library. Running the software on the Nucleo board works as expected.
As the issue cannot be replicated, I consider it closed. Thanks for your help.
2024-01-13 02:49 AM
Dear @NBrick67 ,
Thanks for this interesting use case, indeed it should work. It might be a configuration or option miss on linker files between both the Compiler for boot and final application code . If possible to provide a reduced case example we can replicate using a Nucleo board as exemple and also the linkers file so we can assist you . @SofLit .
Ciao
STOne-32
2024-01-14 09:32 AM
Having created a new workspace to generate a reduced case example, I found that the example worked as expected. The Boot Application correction linked in the library and vectors to the correct location.
Going back to my full up solution, having changed workspaces, this now works as expected. Previously the map file had nothing allocated at the .isr_vector location, now it correctly identifies the object file from the library. Running the software on the Nucleo board works as expected.
As the issue cannot be replicated, I consider it closed. Thanks for your help.