/* ============================================================================= This routine bails from the app in case of a panic. ============================================================================= */ void bail(char *msg) { int endtime; endtime=msclock(); puts(msg); printf("%-22s A:%02X F:%02X B:%02X C:%02X D:%02X E:%02X H:%02X L:%02X PC:%04X SP:%04X IM:%02X *SP:%04X\n",op,A,F,B,C,D,E,H,L,PC,SP,IM,MEM16(SP)); printf("Start: %d End: %d\n",starttime,endtime); printf("Time: %f\n",((double)(endtime-starttime))/1000); printf("MHz: %f\n",((UINT64)cycles/(((double)(endtime-starttime))/1000))/1000000); exit(1); }
/** * Returns the CPU's flash size (in bytes) */ uint32_t PIOS_SYS_getCPUFlashSize(void) { return (uint32_t)MEM16(0x1fff7a22) * 1024; // it might be possible to locate in the OTP area, but haven't looked and not documented }