Hi
I have tested a working version of a stripped down V1.3 project compiled with RIDE7 and downloaded wither with the RIDE7 debugger or else with RFlasher7. This uses the simplest configuration with the device booting from bank0 and all code there.
These are the changes that I made:
1) In
config.h disable
ETH_INTERFACE. This removes everything to do with Ethernet (including TCP/IP stack and services) so that the code is small. RIDE7 does not allow debugging code larger than 32k in size if it is not licensed. There is however no restriction to compiling larger codes and downloading them with RFlasher7.
2) I needed to make a change in the STR91XF driver since the GCC variable initialisation was missing :-/. This is here:
http://www.uTasker.com/software/V1.3/STR91XF.zip3) In the linker script file
uTaskerV1.4_FLASH.ld (in
\Applications\uTaskerV1.3\RIDE_STR91XF) the FLASH memory map needs to be set to
FLASH_START = 0x0000000;
FLASH_SIZE = 0x40000;MEMORY
{
SRAM (wx) : ORIGIN = 0x04000000, LENGTH = 0x00010000
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
}This locates the code starting at address 0x00000000 where it needs to be in the simple case (it was at 0x80000).
4) In the Ride7 project "
Flash bank selection" is set to
bank0 @ 0x0 (see previous post)
and the script file is set to
\Applications\uTaskerV1.3\RIDE_STR91XF\uTaskerV1.4_FLASH.ld (rather than the "Bare Minimum " loader version.
After making these changes it should be possible to load the code from the debugger - just command "
Debug | Start" or click on the corresponding symbol. You need to be quite patient since it takes 20s or more, after which you can then step in the code or let it run. The debugger is not very fast but does seem usable (better than the Ride4 version that was didn't do much useful at the time...)
If not debugging, loading form RFlasher is faster .
I compiled my test version for the
Raisonance REva hardware. The code doesn't do much but is seen to operate due to the linking LED D0.
To test on other boards the corresponding board can be selected in
config.h or else the watchdog LED needs to be configured to a different location to suit. In any case a blinking LED (heart-beat) is always good to start with.
Good luck
Mark
P.S. Exercise to test the configuration once the simple test code is running:
- try modifying the configuration to boot from bank 1. This will stop the board from running since bank 1 is empty
- then try modifying the configuration back to booting from bank 0. The board will then run again without the need to re-program the code.