first working version of incremental upload

This commit is contained in:
Jannis (jix) Harder
2009-09-23 00:43:33 +02:00
parent 54ac4204ed
commit 080598cb97
7 changed files with 608 additions and 7 deletions

View File

@@ -73,7 +73,7 @@ uint8_t tx_buffer[32];
uint8_t data_buffer[4];
uint32_t addr;
uint16_t crc = 0;
uint8_t loader_enabled = 1;
@@ -130,9 +130,9 @@ usbMsgLen_t usbFunctionSetup(uchar data[8])
req_bank++;
timer_start();
} else {
sram_bulk_write_start(req_addr);
}
sram_bulk_write_start(req_addr);
ret_len = USB_MAX_TRANS;
/*
@@ -239,6 +239,11 @@ usbMsgLen_t usbFunctionSetup(uchar data[8])
tx_buffer[1] = (crc >> 8) & 0xff;
ret_len = 2;
req_state = REQ_STATUS_IDLE;
} else if (rq->bRequest == USB_SET_LAODER) {
loader_enabled = rq->wValue.word;
ret_len = 0;
}
usbMsgPtr = data_buffer;
@@ -371,7 +376,14 @@ int main(void)
shared_memory_init();
irq_init();
boot_startup_rom(500);
if(loader_enabled)
boot_startup_rom(500);
else
{
avr_bus_active();
send_reset();
}
}

View File

@@ -38,5 +38,6 @@
#define USB_MODE_SNES 10
#define USB_MODE_AVR 11
#define USB_AVR_RESET 12
#define USB_SET_LAODER 13
#endif /* __REQUESTS_H_INCLUDED__ */

View File

@@ -228,8 +228,6 @@ void sram_bulk_write_start(uint32_t addr)
sreg_set(addr);
AVR_WR_PORT &= ~(1 << AVR_WR_PIN);
}
inline void sram_bulk_write_next(void)
@@ -237,11 +235,11 @@ inline void sram_bulk_write_next(void)
addr_current++;
AVR_WR_PORT |= (1 << AVR_WR_PIN);
counter_up();
AVR_WR_PORT &= ~(1 << AVR_WR_PIN);
}
inline void sram_bulk_write( uint8_t data)
{
AVR_WR_PORT &= ~(1 << AVR_WR_PIN);
AVR_DATA_PORT = data;
}