Пример #1
0
void
avr_terminate (avr_t * avr)
{
  if (avr->special_deinit)
    avr->special_deinit (avr, avr->special_data);

  if (avr->gdb)
    {
      avr_deinit_gdb (avr);
      avr->gdb = NULL;
    }

  if (avr->vcd)
    {
      avr_vcd_close (avr->vcd);
      avr->vcd = NULL;
    }

  avr_deallocate_ios (avr);

  if (avr->flash)
    free (avr->flash);
  if (avr->data)
    free (avr->data);
  avr->flash = avr->data = NULL;
}
Пример #2
0
void avr_terminate(avr_t * avr)
{
	if (avr->custom.deinit)
		avr->custom.deinit(avr, avr->custom.data);
	if (avr->gdb) {
		avr_deinit_gdb(avr);
		avr->gdb = NULL;
	}
	if (avr->vcd) {
		avr_vcd_close(avr->vcd);
		avr->vcd = NULL;
	}
	avr_deallocate_ios(avr);

	if (avr->flash) free(avr->flash);
	if (avr->data) free(avr->data);
	if (avr->io_console_buffer.buf) {
		avr->io_console_buffer.len = 0;
		avr->io_console_buffer.size = 0;
		free(avr->io_console_buffer.buf);
		avr->io_console_buffer.buf = NULL;
	}
	avr->flash = avr->data = NULL;
}