+ /* wait for fwdump to send transmit start character */
+ start=0;
+ while(start!=0x23) {
+ while(!(UART0_LSR&(1<<0)))
+ continue;
+ start=UART0_RBR;
+ }
+
+ /* transmit 1 mb of data */
+ for(i=0;i<524288;i++) {
+ while(!(UART0_LSR&(1<<5)))
+ continue;
+ UART0_THR=(*flash&0xff); // care for endianness
+ while(!(UART0_LSR&(1<<5)))
+ continue;
+ UART0_THR=((*flash&0xff00)>>8);
+ flash++;
+ }
+
+ return 0;