static void m128rfa1_deinit(avr_t *avr, void *data) { (void)data; uart_pty_stop(&uart_pty[0]); uart_pty_stop(&uart_pty[1]); flash_close(avr->flash, avr->flashend + 1); avr->flash = NULL; }
// avr special flash deinitalization // here: cleanup the persistent storage void avr_special_deinit( avr_t* avr, void * data) { struct avr_flash *flash_data = (struct avr_flash *)data; printf("%s\n", __func__); lseek(flash_data->avr_flash_fd, SEEK_SET, 0); ssize_t r = write(flash_data->avr_flash_fd, avr->flash, avr->flashend + 1); if (r != avr->flashend + 1) { fprintf(stderr, "unable to load flash memory\n"); perror(flash_data->avr_flash_path); } close(flash_data->avr_flash_fd); uart_pty_stop(&uart_pty); }