USB helper functions *************************** Opens the ULINK device Currently, only the original ULINK is supported
Releases the ULINK interface and closes the USB device handle.
ULINK CPU (EZ-USB) specific functions ******************* Writes '0' or '1' to the CPUCS register, putting the EZ-USB CPU into reset or out of reset.
Puts the ULINK's EZ-USB microcontroller into reset state, downloads the firmware image, resumes the microcontroller and re-enumerates USB devices.
Downloads a firmware image to the ULINK's EZ-USB microcontroller over the USB bus.
Print the OpenULINK command queue to stdout.
Perform JTAG scan Creates and appends a JTAG scan command to the OpenULINK command queue. A JTAG scan consists of three steps: - Move to the desired SHIFT state, depending on scan type (IR/DR scan). - Shift TDI data into the JTAG chain, optionally reading the TDO pin. - Move to the desired end state.
Perform TAP state transitions
Generate a defined amount of TCK clock cycles All other JTAG signals are left unchanged.
Arbitrarily set JTAG output signals.
Test command. Used to check if the ULINK device is ready to accept new commands.
Sleep for a specific amount of time.
Generate TCK cycles while remaining in a stable state.
Perform post-processing of commands after OpenULINK queue has been executed.
Send one contiguous firmware section to the ULINK's EZ-USB microcontroller over the USB bus.
OpenULINK command queue helper functions ***************** Get the current number of bytes in the queue, including command IDs.
Clear the OpenULINK command queue.
Add a command to the OpenULINK command queue.
Sends all queued OpenULINK commands to the ULINK for execution.
Move from the current TAP state to the current TAP end state.
Perform a scan operation on a JTAG register.
Move the TAP into the Test Logic Reset state.
Run Test. Generate TCK clock cycles while remaining in the Run-Test/Idle state.
Execute a JTAG_RESET command
Move to one TAP state or several states in succession.