Write core registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.
Read core registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.
Wrapper function to ease reading of one core register.
Write AUX registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.
Wrapper function to ease writing of one AUX register.
Read AUX registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.
Wrapper function to ease reading of one AUX register.
Write a sequence of 4-byte words into target memory. We can write only 4byte words via JTAG, so any non-word writes should be handled at higher levels by read-modify-write. This function writes directly to the memory, leaving any caches (if there are any) in inconsistent state. It is responsibility of upper level to resolve this.
Read a sequence of 4-byte words from target memory. We can read only 4byte words via JTAG. This function read directly from the memory, so it can read invalid data if data cache hasn't been flushed before hand. It is responsibility of upper level to resolve this.
Read 4-byte word from data register. Unlike arc_jtag_write_data, this function returns byte-buffer, caller must convert this data to required format himself. This is done, because it is impossible to convert data before jtag_execute_queue() is invoked, so it cannot be done inside this function, so it has to operate with byte-buffers. Write function on the other hand can "write-and-forget", data is converted to byte-buffer before jtag_execute_queue().
Wrapper function to ease writing of one core register.
Set transaction in command register. This function sets instruction register and then transaction register, there is no need to invoke write_ir before invoking this function.
Run reset through transaction set. None of the previous settings/commands/etc. are used anymore (or no influence).
Write registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.
Read registers. addr is an array of addresses, and those addresses can be in any order, though it is recommended that they are in sequential order where possible, as this reduces number of JTAG commands to transfer.