1 (edited by WoS 2014-04-03 17:41:53)

Topic: Howto: Replay board updates (recommended for new boards, via SDCARD)

1) Background:

The ARM firmware is required to handle the boot process of the Replay board at startup. Updates may add features newer cores will need to run. So if a core does not work, check with the author (or on the according sub forum) what firmware version is required to use the specific core.

This new mechanism flashes ARM firmware directly from the SDCARD. It replaces the USB update method, which requires a Windows PC to update your Replay board. So it is the most convinient way and thus the preferred way.

This new flashing tool uses the so called "Replay App" (or short rApp) mechanism to temporarely run ARM binaries in its own RAM. This method uses the INI configuration as the cores do, so for an user an rApp looks the same as any other core - you just load a target INI cool

You can always try this procedure first, if it does not work, see instructions for "OLD"
and "VERY OLD"
firmware setups on your Replay board.


2) Prerequisites:

* You need an actual Replay Rev1.0b board with new firmware (from 2014 or newer)
* You need to download a new firmware flasher rApp setup from SVN
   (one quite actual is attached here: http://www.fpgaarcade.com/punbb/viewtopic.php?id=355 )
* Some cores may still require a specific one in this phase of ARM / core development,
   so check also the specific discussions on certain cores in this forum...


3) Upgrading the board via OSD:

* start the Replay board, you need a keyboard attached (and/or a serial debug setup - 115200/8/n/1)
* enter the OSD to load a new target, select the file "rApp.ini" from the uploader directory
* wait until the OSD shows you some numbers about your flash setup
* in case the flash checksum differs to the checksum on the sdcard, flashing is enabled
   (for now ONLY for the replay loader binary, the bootloader itself is yet BLOCKED in this test phase)
* press "f" on the keyboard (or send a 'f' via the serial debug line) or "r" to reboot w/o flashing
* !!! WAIT until flashing is done !!!, you see some progress numbers (maybe I'll add a nice progress bar in future...)
* the OSD tells you when flashing is done
* press "r" to reboot the board


4) Optional - launch flasher direct at start up of the board:

* you can take an empty sdcard
* copy all uploader files in the root directory
* rename the "rApp.ini" to "replay.ini"
* insert the sdcard and start the board (assuming you have a loader version >= 15th of December 2013)
* if the OSD says a update is required, press the "f" button

Notes for this beta phase:
No, I won't remove the 'f' keypress for now to have the chance to prevent flashing in case the check gives some strange numbers (e.g. the base address MUST be 0x00100000 for BOOT and 0x00102000 for LOADER, the length for BOOT must be smaller 0x2000 and for LOADER it must be smaller 0x40000).

I even suggest you write down (or photograph) the numbers you see for now before starting to flash and report them in case the board is not alive after upgrading.

As stated, for now the PC upgrade will work as fallback as the bootloader will not be harmed for now. So in a worst case (when the board does not start after this procedure) you can always use the USB flasher method here:

And in a worst-worst case the SAM-BA flashing is ALWAYS possible as described here:



Re: Howto: Replay board updates (recommended for new boards, via SDCARD)

I just fixed the build system for the ARM firmware and checked it in to SVN.

When using the "compile.bat" script in "...\arm_sw\Replay_Boot", it runs the make to build the firmware and also updates both the PC/USB tool and the new rApp for SDCARD usage. The script contains a "pause" command to allow checking the results for warnings/errors.

After a build, just either take the whole content of "...\arm_sw\Replay_Update" for delivering the PC/USB version (Win only) or
the content of "...\arm_sw\Replay_Apps\rAppFlashUpdater\sdcard" for delivering the SDCARD version (OS independent).
Both will contain the new build for board flashing.


3 (edited by WoS 2013-12-17 22:28:52)

Re: Howto: Replay board updates (recommended for new boards, via SDCARD)

That's how it should look like when running the flasher rApp. In this case the flash is up to date.
In case it detects a different checksum of the binary on the sdcard, it would tell you that and asks to press 'f' to start flashing.


SpotUP, I hope it is ok to take your picture wink


Re: Howto: Replay board updates (recommended for new boards, via SDCARD)

Improved the flasher a little.

Now it checks after flashing the memory again and allows another round of flashing.
Just in case something gets wrong, one can re-run the flash process until the flash is fine. Should make the process even safer.

Furthermore, the flasher can reboot with the 'R' key instead of simply stopping and asking the user to power cycle the board. This reboot can be also done if the flasher detects that a flash is needed and one decides not to flash (yet).