Return to serial download directory.

The Serdownl.zip file has all the files you will need including all the protected loaders.
The PCSource directory has the source to the PC Utility (MS Visual C++.)

Pre-Built RAM loaders:

The pre-built RAM loaders are called:

SDL-Generic-X.bin - 'X' is serial port to use.
SDL-Generic-X-Dbg.bin - Same as above, with debug output on port A at 9600 baud.

The old, board-specific loaders are kept in the file, PLoaders.zip (4.1 megs). These are no longer supported.

08-23-2006: New RAM loaders

The RAM loaders would not do the IO_INIT function reliably, this was a bug in the compiler. The have been rebuilt and now output debug info at 115200 baud.

01-07-2006: New lib and Generic Loaders

Ther is a new feature to pass I/O init values to the RAM loaders:

#define SERDL_IOINIT {PDDR,0x1,PDDDR,0x1,PEDR,(char)~0x40,PEDDR,0x40,0}

If SERDL_IOINIT is defined, it is passed to the RAM loader. This is a list of I/O port and data to write. The above sets port D bit 0 as output high and port E bit 6 as an output low.

This should help with modems that need DTR/CTS etc set to work. It can alos be used to power up serial drivers. Up to 16 pairs of ports/data can be defined.

The documrntation has been updated and there is a new EncryptBin.exe to fix a problem that it would accept incorrect passwords.

11-09-2005: New library

This lib has been tested with the RCM3300. The old libe worked fine. This lib implements the changes that were made for the ethernet version. The main change is it now compiles for board types by family, not by specific boards.

11-09-2005: New RAM loaders fix ports E and F

The generic RAM loaders did not initialize serial ports E and F correctly (they were in 7-bit mode). This has been fixed.

Note ther generic RAM laoders must be used on RCM33xx, RCM32xx and otehr new boards. The old board-specif loaders do not work (DC bugs.)

04-10-2005: Updated lib and new RAM loaders.

The RAM loader did not set the wait states correctly for the 3300 (DC compiler bug.) There are now new RAM loaders. One additional change is that the recovovery code is not installed until the first sector of code is downloaded. This allows returning to the main program on a board reset if the download was started but no file was actually transferred.

There are also new RAM loaders in the "Generic" directory and Generic.zip. Please try these versions, see the README.txt file for details. Note: these are based off of the Softools code that has run for over a year. The only change from the softools code is removing some features that the ZW version did not support and moving some data structures around. These are new and will become the default as they are 40% smaller, significantly faster and have better error recovery.

04-06-2005: Added support for the RCM3300

There are now loaders for the RCM3300 and the lib has changes need to support the board.

7-1-2004: Removed serdlinc.h

Serdlinc.h is no longer used. The library now uses the following define:

#define USE_SERIAL_X

Where 'X' would be the port to use, A, B,...F. This simplifies the source.

6-25-2004: DC Compiler issue

The DC compiler has started generating .bin files with garbage where the User Block and IDBlock are stored. Previously, this was filled with 00's.

The protected RAM loaders have been updated for this. There is a new PC Utility that has a new "Check Board for User Block Address" option.

1-27-2004: Protected RAM loaders:

When updating the loaders I found that the batch file was creating the non-protected version. The loaders must have been wrong or a while. If you are using one of the protected loaders make sure it is about 27k bytes long. If not, it is probably an unprotected version.

I have added RS485 support to port D of the BL18xx boards.

11-21-2003 Protected loader for RCM3200 updated

Code to handle the specal case of thr RCM3200and BL-2500A was missing from the code. This has been fixed.

Update 11-2-2003:

The protected RAM loaders are now included in the main release. The RAM loader source is no longer included as most users have problems building it.

Update 9-4-2003:

The RAM loaders based on serdownl2.c did not work for boards with 512k of flash. This has been fixed. They have been recompiled using the RCM2300. These should work for the RCM21xx ans RCM22xx boards. These files have been saved as SL-2300xy.bin. Where 'x' is A,B,C,D for he serialport and 'y' willl be 'D' if USEPORTD is defined. The RCM2200 boards should use the 'D' versions for port A and B as the regular port pins are used.

There is also a fix if an error occurred during flash write. The code would retry on the wrong block.

In the Beta directory, there is a new PC utility that includes a dumb terminal. This allows users to enable the terminal and then enter any commands needed to enable the downloader. I.e. the board is set up with the serial port used for a user command menu. This prevents the need to run something like Hyperterm and enter the command to enable the download, then exit Hyperterm and run the PC utility. The program is in the Beta directory as the .exe and also zipped up.

Update 8-7-2003:

Source modified slightly to make it compatable when the Ethernet loader is also used.

Update 8-1-3003: PC Utility Version 1.2

PC Utility now recovers from connection problems better.
The RAM loader works better with modems that default to numeric result codes.

Updated 07-9-2003:

Problems were found with the RCM3000 board. This does not seem to be specific to the module, just more problems with Z-World's BIOS.

Changes:

Updated 06-01-2003:

Separate Instruction and data is now supported.
Also, there is no longer a need to modify the Z-World libs to compile with the library. This new version is written in assembly and does not use the libraries to load the RAM loader into memory.

The latest has been tested on the RCM3200 and RCM22xx boards.

Updated 5-23-2003:

The serial downloader has been rewritten to support the Rabbit 3000-based boards. The serdownl.lib has also been updated. I also disabled the clock doubler. Certian BIOS versions do not calculate the value correctly when rebooted with this on.

The new loader is called serdownl2.c. For Rabbit 2000-based boards either can be used. The new verson must be used on any board that uses 512k (large sector) flash chips. Also all Rabbit 3000-based boards should uses serdownl2.c.

Return to serial download directory.