Buy Contact Devices Home

nsdsp_debug_wait_for_halt

This function waits for halt and never times out.

Syntax

int nsdsp_debug_wait_for_halt(
        nsdsp_session_t   session
);

Parameters

session - a reference to the Debug Session Object obtained with nsdsp_session_program_for_debug or nsdsp_start_debug_session function

Return

The function returns non-zero if halt has happened or zero if an error occurs.

Notes

If the target device never halts, the function waits forever. To stop the wait, you can abort the connection from another thread with nsdspif_abort function, using the abort id returned by nsdsp_get_abort_id. If aborted, the function returns zero and the connection becomes unusable.

Example

For devices with ordered halting, this function must be ordered among other fetch functions. An example of correct ordering and matching:

  nsdsp_session_t sess;
  unsigned int W0;
  char buffer[16];

  // #1
  nsdsp_debug_run(sess);
  // #2
  nsdsp_debug_read_reg(sess,REG_PIC24_W0);
  // #3
  nsdsp_debug_read_ram(sess,0x1000,16);

  nsdsp_session_flush(sess);

  // #1 - matched to nsdsp_debug_run()
  nsdsp_debug_wait_for_halt(sess);
  // #2 - matched to nsdsp_debug_read_reg()
  W0 = nsdsp_debug_fetch_word(sess);
  // #3 - matched to nsdsp_debug_read_ram()
  nsdsp_debug_fetch_data(sess,buffer,16);

The above example shows a program which lets the target device run, then, when the device halts, it reads a register and 16 bytes of memory. After everything is processed, things are retrieved in the same order as the requests were sent - first check for halt, second fetch the register value, third read the memory.

The above considerations do not apply to devices with unordered halting - check for halt can be performed at any time.

 

Minimum library version - 163

Northern Software Home NSDSP Supported Devices Contact Us Purchase/View Cart

© 2007-2026 Northern Software Inc. All Rights Reserved.