first working version of incremental upload
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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__ */
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user