OpenOCD
|
ANGIE command (ANGIE command queue element). More...
Data Fields | |
struct jtag_command * | cmd_origin |
Pointer to corresponding OpenOCD command for post-processing. More... | |
bool | free_payload_in_start |
Indicates if angie_clear_queue() should free payload_in_start More... | |
uint8_t | id |
ANGIE command ID. More... | |
bool | needs_postprocessing |
Indicates if this command needs post-processing. More... | |
struct angie_cmd * | next |
Pointer to next command (linked list) More... | |
uint8_t * | payload_in |
Pointer where IN payload shall be stored. More... | |
uint8_t | payload_in_size |
IN direction payload size for this command. More... | |
uint8_t * | payload_in_start |
Pointer to first element of IN payload array. More... | |
uint8_t * | payload_out |
Pointer where OUT payload shall be stored. More... | |
uint8_t | payload_out_size |
OUT direction payload size for this command. More... | |
ANGIE command (ANGIE command queue element).
For the OUT direction payload, things are quite easy: Payload is stored in a rather small array (up to 63 bytes), the payload is always allocated by the function generating the command and freed by angie_clear_queue().
For the IN direction payload, things get a little bit more complicated: The maximum IN payload size for a single command is 64 bytes. Assume that a single OpenOCD command needs to scan 256 bytes. This results in the generation of four ANGIE commands. The function generating these commands shall allocate an uint8_t[256] array. Each command's payload_in pointer shall point to the corresponding offset where IN data shall be placed, while payload_in_start shall point to the first element of the 256 byte array.
The last command sets needs_postprocessing to true.
struct jtag_command* angie_cmd::cmd_origin |
Pointer to corresponding OpenOCD command for post-processing.
Definition at line 131 of file angie.c.
Referenced by angie_post_process_queue(), and angie_post_process_scan().
bool angie_cmd::free_payload_in_start |
Indicates if angie_clear_queue() should free payload_in_start
Definition at line 128 of file angie.c.
Referenced by angie_allocate_payload(), and angie_clear_queue().
uint8_t angie_cmd::id |
ANGIE command ID.
Definition at line 115 of file angie.c.
Referenced by angie_dump_command(), and angie_execute_queued_commands().
bool angie_cmd::needs_postprocessing |
Indicates if this command needs post-processing.
Definition at line 125 of file angie.c.
Referenced by angie_post_process_queue().
struct angie_cmd* angie_cmd::next |
Pointer to next command (linked list)
Definition at line 133 of file angie.c.
Referenced by angie_clear_queue(), angie_dump_queue(), angie_execute_queued_commands(), angie_get_queue_size(), and angie_post_process_queue().
uint8_t* angie_cmd::payload_in |
Pointer where IN payload shall be stored.
Definition at line 121 of file angie.c.
Referenced by angie_allocate_payload(), angie_clear_queue(), angie_execute_queued_commands(), and angie_init().
uint8_t angie_cmd::payload_in_size |
IN direction payload size for this command.
Definition at line 122 of file angie.c.
Referenced by angie_allocate_payload(), angie_append_queue(), angie_dump_command(), angie_execute_queued_commands(), and angie_get_queue_size().
uint8_t* angie_cmd::payload_in_start |
Pointer to first element of IN payload array.
Definition at line 120 of file angie.c.
Referenced by angie_allocate_payload(), angie_clear_queue(), and angie_post_process_scan().
uint8_t* angie_cmd::payload_out |
Pointer where OUT payload shall be stored.
Definition at line 117 of file angie.c.
Referenced by angie_allocate_payload(), angie_clear_queue(), angie_dump_command(), and angie_execute_queued_commands().
uint8_t angie_cmd::payload_out_size |
OUT direction payload size for this command.
Definition at line 118 of file angie.c.
Referenced by angie_allocate_payload(), angie_append_queue(), angie_dump_command(), angie_execute_queued_commands(), and angie_get_queue_size().