I got the YAGARTO sample program STR7Test working on an STR730 board. Besides going through each file to adjust memory settings, I also had to change the way some of the registers are controlled in crt.s . In particular, the STR730 doesn’t have PCU_BOOTCR, PCU_PDIVR and PCU_MDIVR registers. See below for details.
The really nice thing about the YAGARTO sample code is that it doesn’t depend on any particular development board. No board level peripherals are used. All output is accomplished by examining variables in the debugger. This is excellent sample code for a first project.
I tested it with an Embest STDV730F board, an Olimex ARM-JTAG cable, YAGARTO 4.1.1, OpenOCD r131 and Eclipse 3.2.
Following are the memory settings that you need to adjust:
RAM size from 64k to 16k
Flash base from 0x40000000 to 0x80000000
The OpenOCD config should include the following three lines:
reset_config srst_only
working_area 0 0xA0003000 0x1000 nobackup
flash bank str7x 0x80000000 0x00040000 0 0 STR73x 0
crt.s should have the following mods:
PRCCU_BASE = 0x60000000
Add CFG_BASE…
CFG_BASE = 0x40000000
Change the section that maps RAM to boot memory…
LDR r1, =CFG_BASE
LDR r0, [r1]
BIC r0, r0, #0x01
STR r0, [r1]
Comment out the two sections that set clock prescaling using PCU_PDIVR and PCU_MDIVR.
Change the MEMORY section in the linker script…
MEMORY
{
ram : org = 0xA0000000, len = 16k
}
After you make all of these changes, follow the YAGARTO instructions for getting started at http://www.yagarto.de/howto/yagarto1/index.html .
Disclaimer: These mods worked for me, although I might have got something wrong that’s not currently causing a problem for me. If you have more experience than I do and you see something wrong, then feel free to comment. Any feedback is appreciated!