ISP example program.

Dependencies:   SLCD mbed USBLocalFileSystem

/media/uploads/va009039/lpc81isp-360x240.jpg

FRDM-KL46ZLPC810
UART RXDPTE23p2(P0_4)
UART TXDPTE22p8(P0_0)
nRESETD6p1(P0_5)
nISPD8p5(P0_1)
GNDGNDp7
3.3VP3V3p6

Copy binary image to the disk called LPC81ISP.
Push sw1 or sw3, start write to LPC810 flash.

Committer:
va009039
Date:
Sun Feb 16 12:56:12 2014 +0000
Revision:
1:cccfc461c61f
add virtual COM.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:cccfc461c61f 1 // DiskInterface.h 2013/9/21
va009039 1:cccfc461c61f 2 #pragma once
va009039 1:cccfc461c61f 3
va009039 1:cccfc461c61f 4 class DiskInterface {
va009039 1:cccfc461c61f 5 public:
va009039 1:cccfc461c61f 6 /*
va009039 1:cccfc461c61f 7 * read a block on a storage chip
va009039 1:cccfc461c61f 8 *
va009039 1:cccfc461c61f 9 * @param data pointer where will be stored read data
va009039 1:cccfc461c61f 10 * @param block block number
va009039 1:cccfc461c61f 11 * @returns 0 if successful
va009039 1:cccfc461c61f 12 */
va009039 1:cccfc461c61f 13 virtual int disk_read(uint8_t * data, uint64_t block) = 0;
va009039 1:cccfc461c61f 14
va009039 1:cccfc461c61f 15 /*
va009039 1:cccfc461c61f 16 * write a block on a storage chip
va009039 1:cccfc461c61f 17 *
va009039 1:cccfc461c61f 18 * @param data data to write
va009039 1:cccfc461c61f 19 * @param block block number
va009039 1:cccfc461c61f 20 * @returns 0 if successful
va009039 1:cccfc461c61f 21 */
va009039 1:cccfc461c61f 22 virtual int disk_write(const uint8_t * data, uint64_t block) = 0;
va009039 1:cccfc461c61f 23
va009039 1:cccfc461c61f 24 /*
va009039 1:cccfc461c61f 25 * Disk initilization
va009039 1:cccfc461c61f 26 */
va009039 1:cccfc461c61f 27 virtual int disk_initialize() = 0;
va009039 1:cccfc461c61f 28
va009039 1:cccfc461c61f 29 /*
va009039 1:cccfc461c61f 30 * Return the number of blocks
va009039 1:cccfc461c61f 31 *
va009039 1:cccfc461c61f 32 * @returns number of blocks
va009039 1:cccfc461c61f 33 */
va009039 1:cccfc461c61f 34 virtual uint64_t disk_sectors() = 0;
va009039 1:cccfc461c61f 35
va009039 1:cccfc461c61f 36 /*
va009039 1:cccfc461c61f 37 * Return memory size
va009039 1:cccfc461c61f 38 *
va009039 1:cccfc461c61f 39 * @returns memory size
va009039 1:cccfc461c61f 40 */
va009039 1:cccfc461c61f 41 virtual uint64_t disk_size() = 0;
va009039 1:cccfc461c61f 42
va009039 1:cccfc461c61f 43 /*
va009039 1:cccfc461c61f 44 * To check the status of the storage chip
va009039 1:cccfc461c61f 45 *
va009039 1:cccfc461c61f 46 * @returns status: 0: OK, 1: disk not initialized, 2: no medium in the drive, 4: write protected
va009039 1:cccfc461c61f 47 */
va009039 1:cccfc461c61f 48 virtual int disk_status() = 0;
va009039 1:cccfc461c61f 49 };