void test() { // set up serial console uart_init(); // get the board's unique serial number with a mailbox call mbox[0] = 8*4; // length of the message mbox[1] = MBOX_REQUEST; // this is a request message mbox[2] = MBOX_TAG_GETSERIAL; // get serial number command mbox[3] = 8; // buffer size mbox[4] = 8; mbox[5] = 0; // clear output buffer mbox[6] = 0; mbox[7] = MBOX_TAG_LAST; // send the message to the GPU and receive answer if (mbox_call(MBOX_CH_PROP)) { uart_puts("My serial number is: "); uart_hex(mbox[6]); uart_hex(mbox[5]); uart_puts("\n"); } else { uart_puts("Unable to query serial!\n"); } while(true) { uart_puts("hello uart 0 \n"); delayCPU(1000,1000); } // echo everything back // while(1) { // uart_send(uart_getc()); // } }
void uart_dump(void *ptr) { unsigned long a,b,d; unsigned char c; for(a=(unsigned long)ptr;a<(unsigned long)ptr+512;a+=16) { uart_hex(a); uart_puts(": "); for(b=0;b<16;b++) { c=*((unsigned char*)(a+b)); d=(unsigned int)c;d>>=4;d&=0xF;d+=d>9?0x37:0x30;uart_send(d); d=(unsigned int)c;d&=0xF;d+=d>9?0x37:0x30;uart_send(d); uart_send(' '); if(b%4==3) uart_send(' '); } for(b=0;b<16;b++) { c=*((unsigned char*)(a+b)); uart_send(c<32||c>=127?'.':c); } uart_send('\r'); uart_send('\n'); } }