I would like to learn how to work with a bootloader on a Synergy S3A7 device. My intention is to flash a bootloader which loads my application from internal flash memory, which can be updated trough a UART or USB connection if necessary. I found some documentation about the S7G2 DK, but the examples provided there don't work at all. It's mentioned that it is necessary to install SSP 1.3.0, but now we are at version 1.7.5. I didn't find a way to download this version. I can't either believe that there is a bootloader only for S7G2DK, but it's very hard to get some usable information about this topic, especially for Renesas Synergy devices.
In reply to Renesas Karol:
In reply to larry_c_not_Renesas:
In reply to MCP:
Finally I can log in again.
Thanks again for your advice. I don't understand the point of the Secure Boot Manager; it seems to be a very niche offering. If I could connect a PC to the S7 via a USB or serial cable, I don't need a bootloader because it's already got one built-in. Making a secure version seems like an application problem. But I don't expect Renesas to solve my application problems; I just want them to solve my hardware problems.
Right now I have having some trouble finding the actual project associated with the "Customizable Flashloader Solution for Snergy MCUs" PDF. That document is really good but it doesn't answer some basic questions. Like... how does it all work? The REA pack gives you a bunch of options, but I don't know what those options mean.
This is what I have got so far (the ? are the parts I don't understand):
1. Download the "REA Synergy Flashloader 0.0.0 pack" and copy it to your development directory "internal\projectgen\arm\packs" folder.
2. Create a new project to the be the bootloader and select the bootloader framework stack for your thread. Follow the "S7_SK_ux_mass_host_boot_nano_1_3_0" bootloader example to read a bch file from a USB memory stick or SD card and burn it into Flash (or, on the HE-PMI, from the eMMC card, though that means getting the image onto the card via some kind of downloader, vs. just sticking in a USB flash stick and using that). Use the python batch file from the Gallery to turn an srec into a bch.
But where is the .srec file?
Also I can't quite figure out the memory driver stack. I don't understand what it does or why it exists?
Is there a project associated with the Customizable Flashloader and where is it?
3. Configure your app to launch from a different space?
There are some framework stacks in the REA pack for blocking and non-blocking downloaders. I don't even understand why they exist. I already know how to download files to local storage, and if I don't, I don't need to learn that from a bootloader. I certainly don't need a tutorial on blocking or non-blocking comms when I am trying to write a bootloader. I just need to know how to configure my app to run in a different space. There are some hints to that in the PDF, but I have no idea how to actually accomplish that, or if those hints are complete, or if I should look at the downloader stacks for clues.
4. Flash the bootloader the normal way; i.e. whatever you're already doing.
5. Load the app via the bootloader.
5. Debug the app by disabling flash-loading in the debugger? I have seen some hints on how to do this but am not entirely confident I understand it.
Separately, I am mystified by comment that hardware graphics acceleration doesn't work on internal flash? I have an HE-PMI board, which runs off of internal flash, and it uses the D/AVE library, so I am just flummoxed. Can I just ignore this statement?
Given that bootloaders are absolutely critical and every single project will eventually need one, I really don't understand why Renesas has not done more to make it clear and easy. In theory it's not even hard; flash my code to the right address, reset the vector table, jump to the start of that code. All of this is simple and straightforward, if you already know exactly where to type the magic numbers.