Ika Shouyu Poppoyaki - LPC82x supported

Dependencies:   MODSERIAL mbed

Fork of ika_shouyu_poppoyaki by Tedd OKANO

main.cpp

Committer:
okano
Date:
2013-09-26
Revision:
34:eaca33d3e632
Parent:
31:1a4d59d7bd72
Child:
35:0b434ef4af49

File content as of revision 34:eaca33d3e632:

/**
 *  Sample of ISP operation for NXP MCUs
 *
 *  @author  Tedd OKANO
 *  @version 0.96
 *  @date    Sep-2013
 *
 *  This program programs MCU flash memory through UART. It uses
 *  "In-System Programming (ISP)" interface in target MCU (NXP LPC micro-
 *  controllers).
 *
 *  The ISP is done by PC and serial cable normally. The ISP protocol is
 *  executed software on a PC. The software reads a data file and transfers
 *  the data with the ISP protocol.
 *  This program does same process of that. The mbed perform the function like
 *  "FlashMagic" and "lpc21isp".
 *  (This program not just copies the binary but also insert 4 byte checksum at
 *  address 0x1C.)
 *
 *  This program currently supports LPC1114(LPC1114FN28/102 - DIP28-ARM) and
 *  LPC810(LPC810M021FN8 - DIP8-ARM).
 */

#include    "mbed.h"
#include    "isp.h"
#include    "serial_utilities.h"
#include    "_user_settings.h"


LocalFileSystem local( "local" );


int main()
{
    int     err;

    printf( "\r\n\r\n\r\nmbed ISP program : programming LPC device from mbed (v0.95)\r\n" );

    err     = isp_flash_write( SOURCE_FILE );

    printf( "\r\n  %s\r\n\r\n",
            err ?
            "** The data could not be written :(" :
            "** The data has been written successflly :)"
          );

    if ( err )
        error( "  ** ISP failed\r\n" );

#ifdef  AUTO_PROGRAM_START

    start_target_in_normal_mode( TARGET_OPERATION_BAUD_RATE );

    printf( "  ** The program in flash has been started!!\r\n" );
    
#endif

    printf( "     (now the mbed is working in \"serial through mode\")\r\n\r\n" );
    
    start_success_indicator();
    usb_serial_bridge_operation();  //  doesn't return. infinite loop in this function
}