mbed LPC1114 emulator pre-alpha version
Dependencies: BaseV6M mbed F12RFileSystem F32RFileSystem ROMSLOT SDStorage
Fork of emu812 by
TOYOSHIKI TINY BASIC mbed Edition TTB_mbed_LPC1114.bin save as "LPC1114.IMG" .
main.cpp
- Committer:
- va009039
- Date:
- 2015-08-19
- Revision:
- 4:6629544a482e
- Parent:
- 3:5df725af50e0
- Child:
- 6:41e64a077678
File content as of revision 4:6629544a482e:
// main.cpp 2015/8/19 #include "EMU111x.h" DigitalOut led1(LED1),led2(LED2); RawSerial pc(USBTX,USBRX); LocalFileSystem local("local"); uint8_t* flash = (uint8_t*)0x2007c000; // AHBSRAM0,AHBSRAM1 class MyEMU1114 : public EMU111x { virtual void DigitalWrite_Callback(int port, int pin, int value) { switch(port<<8|pin) { case 1<<8|5: led1 = value; break; // PIO1_5(LED1) case 0<<8|7: led2 = value; break; // PIO0_7(LED2) } } virtual void SerialPutc_Callback(int ch, uint8_t c) { pc.putc(c); } virtual int SerialGetc_Callback(int ch) { return pc.getc(); } virtual int SerialReadable_Callback(int ch) { return pc.readable(); } }; uint8_t* load(uint8_t* buf, int size, const char* filename) { pc.printf("loading[%s]... ", filename); FileHandle* fh = local.open(filename, O_RDONLY); MBED_ASSERT(fh); int n = fh->read(buf, size); pc.printf("%d bytes\n", n); fh->close(); return buf; } int main() { pc.baud(115200); pc.puts("LPC1114 emulator pre-alpha version\n"); MyEMU1114 mcu; mcu.assign_flash(load(flash, 32*1024, "LPC1114.IMG")); mcu.reset(); for(;;) { mcu.run(100); mcu.clock_in(250); } /* NOTREACHED */ }