static int ft245r_paged_write_gen(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m, int page_size, int n_bytes) { unsigned long i; int rc; for (i=0; i<n_bytes; i++) { report_progress(i, n_bytes, NULL); rc = avr_write_byte_default(pgm, p, m, i, m->buf[i]); if (rc != 0) { return -2; } if (m->paged) { /* * check to see if it is time to flush the page with a page * write */ if (((i % m->page_size) == m->page_size-1) || (i == n_bytes-1)) { rc = avr_write_page(pgm, p, m, i); if (rc != 0) { return -2; } } } } return i; }
static int ft245r_paged_write_gen(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m, unsigned int page_size, unsigned int addr, unsigned int n_bytes) { unsigned long i, pa; int rc; for (i=0; i<n_bytes; i++, addr++) { rc = avr_write_byte_default(pgm, p, m, addr, m->buf[addr]); if (rc != 0) { return -2; } if (m->paged) { // Can this piece of code ever be activated?? Do AVRs exist that // have paged non-flash memories? -- REW // XXX Untested code below. /* * check to see if it is time to flush the page with a page * write */ if (((addr % m->page_size) == m->page_size-1) || (i == n_bytes-1)) { pa = addr - (addr % m->page_size); rc = avr_write_page(pgm, p, m, pa); if (rc != 0) { return -2; } } } } return i; }