RedBoot support is available for the JTST board. By default this board is shipped with 256Kbytes of external SRAM. To minimize the amount of RAM used by RedBoot, only very basic flash management is provided, comprising of just the fis erase and fis write commands.
RedBoot supports two serial ports. The default serial port settings for RedBoot are 115200,8,N,1.
The following RedBoot configurations are supported:
This development board comes with RedBoot installed on flash. To install a new version of RedBoot or another binary image in flash you must start a GDB session setting a remote target and load and run the jtstflashd.elf diopsis application. This is a daemon that listens on JTST serial port 1. On the PC side you must use the jtstflash.exe (both linux and windows PC are supported) to flash the image on JTST. The sources for win32 and linux/cygwin versions of this host tool can be found in the support directory of the jtst hal. The binaries can be found along with the binaries for redboot on the eCos website at http://ecos.sourceware.org/ecos/boards/redbootbins/at91jtst/
When the jtstflashd.elf is started, the user should open the jumper JP5 to write in the second half (512Kbytes) of the flash, in this way the original RedBoot image is preserved.
arm-elf-gdb jtstflash.elf (gdb) set remotebaud 115200 (gdb) target remote /dev/ttyS0 Remote debugging using /dev/ttyS0 0x00502a44 in ?? () (gdb) load Loading section .internal_vectors, size 0x1c4 lma 0x160 Loading section .rom_vectors, size 0x40 lma 0x606000 Loading section .text, size 0x14198 lma 0x606040 Loading section .rodata, size 0xb6c lma 0x61a1d8 Loading section .data, size 0x498 lma 0x61ad44 Start address 0x606040, load size 86944 Transfer rate: 77283 bits/sec, 301 bytes/write. (gdb) c Continuing. * JTST FLASH PROGRAMMER * opening usart port 1 ...
jtstflash mybinaryimage.bin * binary len 79536 bytes flash add 0x500000.. * flash id check ok * erasing space address 0x500000... please wait * flash erase check ok * start programming 79536 bytes.
This processor has no MMU, so the only memory map is for physical addresses.
The memory layout of the JTST after bootstrap is as follows:
Physical Address Range Description ----------------------- ---------------------------------- 0x00000000 - 0x00007fff On-chip SRAM 0x00500000 - 0x0057ffff Flash 0x00600000 - 0x0063ffff External SRAM 0x00410000 - 0x0042fffc On-chip Magic Data Memory Left 0x00430000 - 0x0043fffc On-chip Magic Data Memory Right 0x00430000 - 0x0044fffc On-chip Magic Program Memory 0x00490000 - 0x00490ffc On-chip Arm/Magic Data Exchange Left 0x004A0000 - 0x004A0ffc On-chip Arm/Magic Data Exchange Right 0x00450000 - 0x0045003c Magic I/O registers 0x00460000 - 0x0046000c Magic Control registers 0xffe00000 - 0xffffffff I/O registers