# Download Error Messages

- ### Serial Receive Timeout Error

  Cause: Too much elapsed time between received characters. Once the transmission has begun, an interval of more than 5 seconds between consecutive serial characters will usually indicate that the transmission has been interrupted on the host PC side.

  Solution: Check cable and transmitting host program.

- ### Serial Receive Status Error

  Cause: The EyeBot Serial Interface has detected an error condition in the serial data it received. Possible errors include parity, frame, noise, and data overrun.

  Solution: The most likely cause is a discrepancy in the serial protocol requested on the two sides of the transmission (see PC terminal settings) . Otherwise, seek hardware assistance. Some of these conditions can be the result of a bad power supply, or a ground-loop condition between the computers and power supply.

- ### Serial Send Timeout Error

  Cause: Too much elapsed time between transmitted characters. Once the transmission has begun, an interval of more than 5 seconds between consecutive characters is an error. Either the host PC is not "Clear to Send," or the EyeBot has not been able to complete sending the previous character.

  Solution: Check cable. Check PC terminal settings and EyeBot serial settings.

- ### S-Record Checksum Error

  Cause: The computed checksum for the most recently transmitted S-Record has failed to match the checksum contained within the S-Record itself. The download will not proceed past this point.

  Solution: Verify that the .hex file on the host was generated properly, using the objcopy routine, and has not been corrupted.

- ### User Canceled Download

  Cause: This is not really an error, but an indication that the user pressed the cancelation key on the EyeBot while the download was in progress. The download was aborted, as requested.

  Solution: N/A

- ### Unknown S-Record Type

  Cause: This is an S-Record processing default contingency. All known S-Record types are processed by the download routine (S0, S1, S2, S3, S5, S7, S8, and S9). Should this error appear, it would indicate that invalid S-Records were received.

  Solution: Verify that the .hex file on the host was generated properly, using the objcopy routine, and has not been corrupted.

- ### Illegal Baudrate Error

  Cause: This error occurs if the user attempts to use the OS_InitRS232 system routine to initialize the RS232 interface with a value for the baudrate not consistant with the input requirements of that routine. The routine expects to receive an offset in register %d1 for indexing into a table of baudrate values. Currently, this index may be in the range 0 (9600bps) to 3 (57600bps).

  Solution: Verify input to the OS_InitRS232 routine.

- ### Illegal Load Address Error

  Cause: The user's program is attempting to load itself below the end of the Operating System (20000 hex). This is illegal, the download has aborted.

  Solution: Re-compile/link user routines to load at locations above 20000 hex.