37 lines
932 B
C
37 lines
932 B
C
|
#include "types.h"
|
||
|
#include "t124.h"
|
||
|
|
||
|
typedef void (*ep1_x_imm_t)(void *buffer, u32 size, u32 *num_xfer);
|
||
|
ep1_x_imm_t usb_read = (ep1_x_imm_t) ( BOOTROM_EP1_OUT_READ_IMM | 1 );
|
||
|
ep1_x_imm_t usb_write = (ep1_x_imm_t) ( BOOTROM_EP1_IN_WRITE_IMM | 1 );
|
||
|
// int (*usb_write)(void*addr, uint32_t size, void *return_addr) = (void*)BOOTROM_EP1_IN_WRITE_IMM;
|
||
|
// int (*usb_read)(int, int, int) = (void*)BOOTROM_EP1_OUT_READ_IMM;
|
||
|
|
||
|
int mystrlen(char *data) {
|
||
|
int i=0;
|
||
|
while(1) {
|
||
|
if(data[i++] == '\0'){
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
return i-1;
|
||
|
}
|
||
|
|
||
|
#define usb_log(msg, error) usb_write(msg, mystrlen(msg), error);
|
||
|
|
||
|
__attribute__((section(".init")))
|
||
|
void payload_main() {
|
||
|
uint32_t error_code;
|
||
|
uint32_t data = 0xdeadbeef;
|
||
|
u32 num_xfer;
|
||
|
u32 to_send;
|
||
|
u8 *buffer = (u8*)0x40020000;
|
||
|
uint32_t test = 1;
|
||
|
|
||
|
while (1) {
|
||
|
usb_write(&test, sizeof(test), &num_xfer );
|
||
|
test += 1;
|
||
|
}
|
||
|
}
|
||
|
|