<div dir="ltr">Hi,<div><br></div><div>Thank you very much for your reply. </div><div>Actually, i would like to continue using the following "make flash" target if possible. I'm calling a script by overiding PRE_FLASH_CHECK_SCRIPT variable. This script is adding some informations to my binary. i saw that i can flash HEX file by modifying this variable : "export IMAGE_FILE = $(HEXFILE)" but it seems that BIN file is not generated after compilation, only ELF and HEX files. With HEX file, there is no more corruption issue when i flash my main application. But unfortunatly, my script can only handles ELF or BIN file as input.</div><div>So is it possible to generate a BIN file as output and flashing it by using "make flash" ?</div><div><br></div><div>Regards,</div><div><br></div><div>Aurélien</div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-03-21 18:45 GMT+01:00 Francisco Acosta <span dir="ltr"><<a href="mailto:francisco.acosta@inria.fr" target="_blank">francisco.acosta@inria.fr</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Aurélien,<br>
<br>
This is completely normal. Whenever you flash an ELF file the “not used” ROM will become 0.<br>
<br>
What you might do is some magic to generate a “.o" file from your bootloader ELF and link it in a single ELF file together with your application.<br>
<br>
Or, you can flash everything as BIN, with openocd you can place it wherever you want.<br>
<br>
I have already tried something like that in some of my PRs regarding OTA and bootloader. You might look at them to have an example.<br>
<br>
Cheers,<br>
<br>
Francisco Javier Acosta Padilla<br>
Research Engineer at INFINE team<br>
Inria Saclay Ile-de-France<br>
<div><div class="h5"><br>
On 21 March 2018 at 18:37:39, Aurélien Fillau (<a href="mailto:aurelien.fillau@gmail.com">aurelien.fillau@gmail.com</a>) wrote:<br>
> Hello,<br>
><br>
> I'm currently working on a stm32l073 on a custom board. I'm writing an<br>
> application where i need to use my own linker file because i need to put<br>
> the application at a specific address. This application is starting at<br>
> 0x08008000. Between 0x08000000 and 0x08008000, i have a bootloader in<br>
> charge of booting on my application. But when i'm doing a "make flash", the<br>
> flasher is writing some code before 0x08008000 ... that is corrupting my<br>
> bootloader. Indeed, when i dump the memory i can find the ELF magic string<br>
> and i don't know why the flasher is flashing some code before 0x08008000<br>
> whereas it is specified in the linker file : rom (rx) : ORIGIN =<br>
> 0x08008000 !!! Regarding the vector table, it is put at the right place. If<br>
> i want this to work i need to flash my bootloader after the application ...<br>
> If i'm missing something or if you have any idea on how to put an<br>
> application at a specific address without corrupting the other partitions,<br>
> feel free to share :)<br>
><br>
> Best regards,<br>
><br>
> Aurélien<br>
</div></div>> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@riot-os.org">users@riot-os.org</a><br>
> <a href="https://lists.riot-os.org/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.riot-os.org/<wbr>mailman/listinfo/users</a><br>
><br>
<br>
</blockquote></div><br></div>