c12c28fb44
It works!!
41 lines
733 B
C
41 lines
733 B
C
#include "sys.h"
|
|
|
|
int main() {
|
|
uint16_t addr;
|
|
uint8_t len;
|
|
uint16_t val;
|
|
|
|
led0->output = 1;
|
|
|
|
while(1) {
|
|
uint8_t c = uart_read(uart0);
|
|
if (c == 'c') {
|
|
c = uart_read(uart0);
|
|
addr = c << 8;
|
|
c = uart_read(uart0);
|
|
addr |= c;
|
|
|
|
len = uart_read(uart0);
|
|
for (int i = 0; i < len; i += 2) {
|
|
c = uart_read(uart0);
|
|
val = c << 8;
|
|
c = uart_read(uart0);
|
|
val |= c;
|
|
|
|
*((uint16_t*)(addr + i)) = val;
|
|
}
|
|
|
|
uart_write(uart0, 'a');
|
|
uart_write(uart0, len);
|
|
led0->output = 0xf0;
|
|
} else if (c == 'j') {
|
|
c = uart_read(uart0);
|
|
addr = c << 8;
|
|
c = uart_read(uart0);
|
|
addr |= c;
|
|
|
|
((void (*)())addr)();
|
|
}
|
|
}
|
|
}
|