mbed LPC812 emulator pre-alpha version

Dependencies:   BaseV6M mbed F12RFileSystem F32RFileSystem ROMSLOT SDStorage

320 340

Example

TTB_mbed_LPC812.bin save as "LPC812.IMG" .
internal boot rom image(0x1fff0000-0x1fff1fff) save as "LPC812.ROM".

Tested programs

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?

UserRevisionLine numberNew 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 }