Program to allow ISP programming of custom LPC1768 ICs on custom PCBs.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
ms523
Date:
Sun Feb 19 10:33:26 2012 +0000
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r fab931a2c13b main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Feb 19 10:33:26 2012 +0000
@@ -0,0 +1,61 @@
+#include "mbed.h"
+
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+
+Serial pc (USBTX,USBRX);
+Serial target (p28,p27);
+
+// We'll drive this low, and then set the as inputs
+// this mimics an open collector style ouput
+DigitalInOut reset (p29);
+DigitalInOut isp   (p30);
+
+int main() {
+
+    pc.baud(19200);
+    target.baud(19200);
+   
+    // ISP Input with pullup
+    isp.input();
+    isp.mode(PullUp);
+
+    // pulse reset low
+    reset.output();
+    reset = 0;
+    wait (0.01);
+    
+    // reset input, with pullup
+    reset.input();
+    reset.mode(PullUp);
+    
+    while (!pc.readable()) {}   
+   
+    // pull ISP and nReset low
+    reset.output();
+    isp.output();
+    reset = 0;
+    isp = 0;
+    
+    wait (0.1);
+    
+    // Bring target out of reset
+    reset.input();
+    reset.mode(PullUp);
+    
+    wait (0.1);
+
+    while (1) {
+    
+        if (pc.readable()) {
+            target.putc(pc.getc());
+            led1 = !led1;
+        }
+    
+        if (target.readable()) {
+            pc.putc(target.getc());
+            led2 = !led2;
+        }
+    
+    }
+}
diff -r 000000000000 -r fab931a2c13b mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Feb 19 10:33:26 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/49a220cc26e0