Hi, im programming a bootloader independent so i have a Program and a Bootloader so when i compile, it uses functions from libraries.
For example i have the function "__floatsidf()" from "_si_to_df.o" that is from library "libgcc_prog.a()".
This function is used in Program and Bootloder so i need allocate the function duplicated, one for Program and other for Bootloader and my problem is that when i link only use once because i suppose the function has the same name. i add two libraries to a folder \lib: libgcc_prog.a and libgcc_boot.a.
First i need to set all the functions from the library "libgcc_prog.a", the only way that i found to do is set all the ".o" that use, in this case "*_si_to_df.o (.text .text*))". So i set that in ".text : {}" and ".text_boot {}".
Second is force to use in Program and Bootloader to keep their own functions, i try with KEEP with no success. Anyone have documentation about that? Or a form to sure that no use the functions of library in some files?
Hi,
I'm little bit lost. Let's summarize it. So - you have two independent projects - Boot loader and your App, correct?
If So, you don't need rename libraries. You will have instances of functions from any library for both project.
Or what's your issue?
Jiri
I have a project of MPC5746R and in a core (one of the projects) i have to split between Program and Bootloader including the functions of libraries because if i erase the program from Bootloader, it affects the same. When i compile, the functions of libraries used is created automatically one time in a location but i need to be copied in both, Program and Bootloader. Another solution would be to make sure that the bootloader does not use library functions exhaustively testing the bootloader.
Hi,
I'm not sure about your scenario. Ideal configuration is to have two independent projects - Bootloader and Application project. Application project has shifted .text area address from boodloader.
Anyway - in S32DS for Power v 2.1 is Bootloader example. It is for MPC5748G - but you can look at it just for reference:
Jiri