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@0:e38daa7b1a22, 2015-08-10 (annotated)
- Committer:
- va009039
- Date:
- Mon Aug 10 13:04:09 2015 +0000
- Revision:
- 0:e38daa7b1a22
- Child:
- 1:913dfd59e25a
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:e38daa7b1a22 | 1 | #include "mbed.h" |
va009039 | 0:e38daa7b1a22 | 2 | LocalFileSystem local("local"); |
va009039 | 0:e38daa7b1a22 | 3 | |
va009039 | 0:e38daa7b1a22 | 4 | DigitalOut led1(LED1); |
va009039 | 0:e38daa7b1a22 | 5 | RawSerial pc(USBTX,USBRX); |
va009039 | 0:e38daa7b1a22 | 6 | |
va009039 | 0:e38daa7b1a22 | 7 | uint8_t flash[1024*16] __attribute__((section("AHBSRAM0"))); |
va009039 | 0:e38daa7b1a22 | 8 | uint8_t rom[1024*8] __attribute__((section("AHBSRAM1"))); |
va009039 | 0:e38daa7b1a22 | 9 | |
va009039 | 0:e38daa7b1a22 | 10 | int load(uint8_t* buf, int size, const char* filename) { |
va009039 | 0:e38daa7b1a22 | 11 | pc.printf("loading[%s]... ", filename); |
va009039 | 0:e38daa7b1a22 | 12 | FileHandle* fh = local.open(filename, O_RDONLY); |
va009039 | 0:e38daa7b1a22 | 13 | if (fh == NULL) { return -1; } |
va009039 | 0:e38daa7b1a22 | 14 | int n = fh->read(buf, size); |
va009039 | 0:e38daa7b1a22 | 15 | fh->close(); |
va009039 | 0:e38daa7b1a22 | 16 | pc.printf("%d bytes\n", n); |
va009039 | 0:e38daa7b1a22 | 17 | return n; |
va009039 | 0:e38daa7b1a22 | 18 | } |
va009039 | 0:e38daa7b1a22 | 19 | |
va009039 | 0:e38daa7b1a22 | 20 | int main() { |
va009039 | 0:e38daa7b1a22 | 21 | pc.baud(115200); |
va009039 | 0:e38daa7b1a22 | 22 | pc.printf("%s\n", __FILE__); |
va009039 | 0:e38daa7b1a22 | 23 | |
va009039 | 0:e38daa7b1a22 | 24 | if (load(flash, sizeof(flash), "LPC812.IMG") >= 0) { |
va009039 | 0:e38daa7b1a22 | 25 | load(rom, sizeof(rom), "LPC812.ROM"); |
va009039 | 0:e38daa7b1a22 | 26 | } |
va009039 | 0:e38daa7b1a22 | 27 | |
va009039 | 0:e38daa7b1a22 | 28 | while(1) { |
va009039 | 0:e38daa7b1a22 | 29 | led1 = !led1; |
va009039 | 0:e38daa7b1a22 | 30 | wait_ms(200); |
va009039 | 0:e38daa7b1a22 | 31 | } |
va009039 | 0:e38daa7b1a22 | 32 | } |