Martin Smith
/
ISP_Programming
Program to allow ISP programming of custom LPC1768 ICs on custom PCBs.
Revision 0:fab931a2c13b, committed 2012-02-19
- 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