Hello Synergy community,I am trying to use the program "A very basic USB Bootloader that uses MMF" on S7SK board.I am able to custom and run the led blinking SSP110 HAL app and the Time & Temp HMI SSP110 app provided in the package.I am able to run my own led blinking HAL SSP121 app (directly generate a .bin not a .srec with srec_cat)butI can't get my HMI (SSP121 or SSP110, based on S7SK bsp) app running and at this point I have no idea why.The screen is switched ON but stay black.
- The AddSectionAttribute.py file runs well. bootloader_flash_qspi.bat (srec_cat.exe) runs well too. - I have changed in the linker script FLASH ORIGINE from 0x00000000 to 0x02000000- I have removed DTC from the SPI driver as Karol suggested in March in an other thread.- Finally I have tried to copy the linker script from the provided HMI app to my HMI app, (I had to add some sections in the SSP121 version), it compiles but it doesn't work = black screen.
Any idea ?
I am also working on a different way to make this usb stick bootloader.I am trying to implement the Karol's wip project using Flashloader framework.I have the bootloader running on my SKS7G2 board, green led blinking.I am stuck whith the BCH maker :
Error - The Load Image Header was not found for this application.Look at structure of Load Image Header for what is supposed to be found
I have taken a look to linker file S7G2.ld and I didn't find the header information to fill the form of the srec to BCH conversion.
In reply to TLHQ:
About the second method with flashloader :I have found how to create the header on the topic "Question about the Synergy Flash Loader Add-on".I added :
. = __ROM_Start + 0x800; KEEP(*(.sf_firmware_image_file_header*))
In my S7G2.ld file. But i am still confused about how to found the executable adress (and the header location : executable_adress + 0x800).
EDIT : In the bootloader HAL module starting adress of the first flash area is 0x40000 and size of the first flash area is 0x3c0000, but when I fill the srec to bch form with header location 0x40800 , executable adress 0x40000 and valid flash size 0x3c0000 I got an error
Error - Valid mask in Application Header did not match the value it was supposed to be.Expected Value = 0xaf Actual Value = 0x80
In reply to Renesas Karol:
I have managed to run the bootloader on my custom board : I can read the usb key on USB_HS port and the .bch file is written at the defined address.
I have an other issue now, I can't boot on my application, in bsp_warmstart g_sf_bootloader_mcu.p_api->appStart(g_sf_bootloader_mcu.p_ctrl) returns ssp_err_t 0x2C9 (=713) so the bootloader go to the load from usb key mode and never start the app.
This error seems not a normal error. What can cause this error and how to fix it ?
Since SF_BOOTLOADER (and other flashloader components) are add-ons to SSP, they define error codes outside of ssp_err_t enum. You'll find these in sf_firmware_image_api.h:
After programming the board, if you start the bootloader app using the debugger, block of data with firmware records will be overwritten (since debugger will re-programm the project with firmware records empty). If the app fails to boot after simple reset (not reprogramming), then please verify that you've inserted .bootloader_record section at 0x500 and before .text:
Thanks you for the quick answer,
So my error 713 is no image found in internal mcu flash.
My custom board has no debuger, it happens on power on or on software reset.
As you suggested I've added the missing entry
/* Bootloader records */KEEP(*(.bootloader_record*))
in the bootloader .ld file.
No change, I still have the error 713.
In reply to adboc:
sorry for the late answer I was very busy last week.My project is based on the Karol's project :"questions about the synergy flash loader add-on (this link also includes a simple bootloader using USB mass storage)"
There is a bootloader project loaded on the board over serial programming. It can read a USB storage and write the .bch file in the defined address.
I have an application SSP121 created with e²studio, the .srec is converted into a .bch with the tool provided with Flashloader addon.
I have taken some screenshot to show you the configuration :
Hi again, I have an other question about this topic : What would be the steps to generate file for the QSPI and write it ? I think I have to use the script from the "A very basic USB Bootloader that uses MMF" to split the .srec between MCU and QSPI .srec then I create the MCU .bch the normal way. But then what would be the setup to create the QSPI .bch ? Maybe I can just use the QSPI .bin like what was done in "A very basic USB Bootloader that uses MMF" ? Regards,