Release Notes: Base package
This document lists the known open issues and limitations in the latest release of the Base package.
For more information, status, workarounds, etc. related to any of these issues
please contact ClearSpeed support quoting the relevant CTS number.
15 known issues
- CTS 231:
A seqence of client connecting/disconnecting to the simulator may fail after several hundred attempts with a socket error.
- CTS 239:
csrun or host client applications do not check whether the simulator has been reset. Running code on a simulator that has not been reset should not be attempted. It is the responsibility of the user to reset the simulator before running code (csreset -s).
- CTS 647:
Calling dprintf frequently on the board will cause the host to block other interrupts while each print is completed. This may cause the system to slow down if semaphores are being used to communicate between the host and the board at the same time.
- CTS 1108:
If an application program using the CSXL library is terminated abnormally (for example by using Ctrl-C) then the Advance board may be left in an undefined state. It may be necessary to reset the board (using the csreset command) before restarting the application.
- CTS 1195:
The driver may produce a warning message of the form:
HalfBridge_WaitforDMA: pre_enable_mask = 7, should be 0
or HalfBridge_waitForDMA: post_dma_int_mask not zero = 7
This message is due to an internal check failing however it does not affect the operation of the driver.
- CTS 1417:
If a program using the CSX600 board is abnormally terminated, it is possible that it may continue to run in the background. Further attempts to use the board will fail to connect, giving the PID of the process still using the board. You should ensure that any applications are properly terminated. For example using ^Z to background a process will cause problems for further programs.
- CTS 1430:
The board size plan and execute functions for csdft do little checking on correctness of input. It is possible to get bus errors if unsupported values are used (see release notes and documentation).
- CTS 1445:
If a program is left running on the card (e.g. by using Ctrl+C to exit the host application) a message similar to the following may be seen when reconnecting:
INTERRUPT HANDLER :: non-zero interrupt enabled and fired for semaphore 2 that does not have a handler
This is the result of messages being received from the card before the processors have been stopped and they can be safely ignored.
- CTS 1747:
An error will arise if an older release of the runtime is used in conjunction with the new kernel driver.
It is important that the installation process be completed as documented to ensure that the correct version of the runtime is used with the correct kernel driver.
- CTS 1807:
The CSDft Library is at a pre-alpha stage and as such there are a number of incomplete or unsupported features. Please refer to the README included in the package for a more complete description of what features are currently available.
- CTS 1820:
The functions CSAPI_read_mono_memory_async_wait, CSAPI_read_mono_memory_async_poll and their CSAPI_write counterparts will not return an error code if the asynchronous transfer failed.
- CTS 1982:
The kernel driver based on Jungo may cause the kernel's memory space to become fragmented, resulting in out of memory failures after a very long period of continuous use.
- CTS 2004:
This release includes a script for resetting the Advance board when csreset fails to do so. This does a 'hard' reset of the processors. This functionality will be incorporated into csreset in a future release. Before using the reset script, please gather any diagnostic or debugging information (for example, the output from csreset -v) as all state will be lost by the hard reset.
Before running the script, first setup your environment if you have not already done so. Under Linux, source the bashrc file (usually present in /opt/clearspeed/csx600_m512_le/bin). For Windows, start a command prompt using the shortcut from the ClearSpeed start menu item. If you have more than one board, set the environment variable LLDINST to the instance number of the board to be recovered. For example, to reset only the first board under Linux enter "export LLDINST=0".
To run the script, type the command recover_board. You should then see some output like this:
Board recovery utility
This should only be used:
- when csreset fails to reset your board
- after any useful diagnostic information has been gathered
(e.g. the output from csreset -v)
If you wish to continue, press the return key. Otherwise, press
control-c to exit.
If you are happy to run, then press the return key. You will then see output as follows:
Starting...
25%
50%
75%
DONE.
Board recovery attempted - you can now re-run csreset.
- CTS 2287:
Large data segments (e.g. .bss) fail to load on the Instruction Set Simulator (isim) on Windows XP.
- CTS 2364:
The example dgemmtest.c program in the CSXL User Guide, and provided as source code, may not compile on all platforms.
A more robust example is available from the customer support website: https://support.clearspeed.com/search.php?text=dgemm&type=7
Wed Oct 4 16:31:50 2006
© Copyright ClearSpeed Technology plc 2006