Index of /rabbit/SerDownl/Generic

Icon  Name                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] SDL-Generic-A.bin 2010-09-30 16:04 19K [   ] SDL-Generic-AD.bin 2010-09-30 16:04 19K [   ] SDL-Generic-B-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-B-ND.bin 2007-12-11 10:24 19K [   ] SDL-Generic-B.bin 2010-09-30 16:04 19K [   ] SDL-Generic-BD-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-BD.bin 2010-09-30 16:04 19K [   ] SDL-Generic-C-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-C.bin 2010-09-30 16:04 19K [   ] SDL-Generic-CX-Dbg.bin 2008-01-30 09:58 19K [   ] SDL-Generic-D-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-D.bin 2010-09-30 16:04 19K [   ] SDL-Generic-DX-Dbg.bin 2008-01-30 09:59 19K [   ] SDL-Generic-DX.bin 2008-01-30 09:59 19K [   ] SDL-Generic-E-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-E.bin 2010-09-30 16:04 19K [   ] SDL-Generic-F-Dbg.bin 2010-09-30 16:04 19K [   ] SDL-Generic-F.bin 2010-09-30 16:04 19K [   ] SetDbl.exe 2007-12-11 10:28 28K
S. Henion				10-08-2005

These are generic RAM loaders. Since Softools generates
smaller code and is not board-specific, These are easier
for SHDesigns to maintain.

These RAM loaders have better error recovery. Rather than write the RAM laoder to flash, it uses the RAM loader already in flash. The method is as follows:

1. RAM loader waits for the first download.
2. It then writes a stub to the first sector that will load the RAM loader from flash
3. A RAM cache is set up to include the area where the RAM loader is in flash. This will use all of RAM.
4. The .bin file is downloaded to RAM.
5. The .bin file data outside the cache are written directly to flash. 
6. The RAM loader area is written if it is different.
7. The first sector is written with the .bin code

The chance of no-recovery only exists in steps, 2,6 and 7. 2 and 7 are very short. 6 will not occur if the RAM loader does not change.

Note: This requires that the RAM loader is included in flash. Otherwise, recovery is disabled as there is no RAM loader in flash to jump to for recovery.

These RAM loaders never rewrite a sector if the data is the same. This minimizes Flash wear.

These RAM loaders have the following name:

SDL-Generic-XY.bin

Where X= port A,B,C etc
Y=D if The alternate port D is to be used.

There are also versions with -Dbg in the name. These will output debug info on the programming port at 115200 baud.
The "Diag" connector on the programming connector
can be used with something like Hyperterm to capture debug output. Teraterm pro works much better.

The only problem will be boards that do not use the clock doubler. Use the old loaders for these boards.

CLock Doubler:


The SetDbl.exe application can set or clear the clock doubler setting. By default, all RAM loaders use the clock doubler. If your board does not use a clock doubler, then use this app to create a modified RAM loader (suggestedname would end in -ND.bin).

Run the app. Use the "..." next to the original file name and select the source file. Similarly enter the output file name. Then press "Create".