Aaron Berk
/
mbedAvrProgrammer
AVR910 In-System Programming
main.cpp@0:56d5a7ca509d, 2010-06-16 (annotated)
- Committer:
- aberk
- Date:
- Wed Jun 16 13:10:04 2010 +0000
- Revision:
- 0:56d5a7ca509d
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aberk | 0:56d5a7ca509d | 1 | /** |
aberk | 0:56d5a7ca509d | 2 | * Program an AVR with an mbed. |
aberk | 0:56d5a7ca509d | 3 | */ |
aberk | 0:56d5a7ca509d | 4 | |
aberk | 0:56d5a7ca509d | 5 | // ATMega328 Datasheet: |
aberk | 0:56d5a7ca509d | 6 | // |
aberk | 0:56d5a7ca509d | 7 | // http://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf |
aberk | 0:56d5a7ca509d | 8 | |
aberk | 0:56d5a7ca509d | 9 | #include "AVR910.h" |
aberk | 0:56d5a7ca509d | 10 | |
aberk | 0:56d5a7ca509d | 11 | LocalFileSystem local("local"); |
aberk | 0:56d5a7ca509d | 12 | Serial pc(USBTX, USBRX); |
aberk | 0:56d5a7ca509d | 13 | |
aberk | 0:56d5a7ca509d | 14 | AVR910 mbedISP(p5, p6, p7, p8); //mosi, miso, sclk, nreset. |
aberk | 0:56d5a7ca509d | 15 | |
aberk | 0:56d5a7ca509d | 16 | int main() { |
aberk | 0:56d5a7ca509d | 17 | |
aberk | 0:56d5a7ca509d | 18 | int success = -1; |
aberk | 0:56d5a7ca509d | 19 | |
aberk | 0:56d5a7ca509d | 20 | FILE *fp = fopen(PATH_TO_BINARY, "rb"); |
aberk | 0:56d5a7ca509d | 21 | |
aberk | 0:56d5a7ca509d | 22 | if(fp == NULL){ |
aberk | 0:56d5a7ca509d | 23 | pc.printf("Failed to open binary. Please check the file path\n"); |
aberk | 0:56d5a7ca509d | 24 | } |
aberk | 0:56d5a7ca509d | 25 | else{ |
aberk | 0:56d5a7ca509d | 26 | pc.printf("Binary file opened successfully\n"); |
aberk | 0:56d5a7ca509d | 27 | success = mbedISP.program(fp); |
aberk | 0:56d5a7ca509d | 28 | fclose(fp); |
aberk | 0:56d5a7ca509d | 29 | } |
aberk | 0:56d5a7ca509d | 30 | |
aberk | 0:56d5a7ca509d | 31 | if(success < 0){ |
aberk | 0:56d5a7ca509d | 32 | printf("Programming failed.\n"); |
aberk | 0:56d5a7ca509d | 33 | } |
aberk | 0:56d5a7ca509d | 34 | else{ |
aberk | 0:56d5a7ca509d | 35 | printf("Programming was successful!\n"); |
aberk | 0:56d5a7ca509d | 36 | } |
aberk | 0:56d5a7ca509d | 37 | |
aberk | 0:56d5a7ca509d | 38 | } |