ISP example program.
Dependencies: SLCD mbed USBLocalFileSystem
FRDM-KL46Z | LPC810 | |
---|---|---|
UART RXD | PTE23 | p2(P0_4) |
UART TXD | PTE22 | p8(P0_0) |
nRESET | D6 | p1(P0_5) |
nISP | D8 | p5(P0_1) |
GND | GND | p7 |
3.3V | P3V3 | p6 |
Copy binary image to the disk called LPC81ISP.
Push sw1 or sw3, start write to LPC810 flash.
USBMSD2/DiskInterface.h@1:cccfc461c61f, 2014-02-16 (annotated)
- Committer:
- va009039
- Date:
- Sun Feb 16 12:56:12 2014 +0000
- Revision:
- 1:cccfc461c61f
add virtual COM.
Who changed what in which revision?
User | Revision | Line number | New 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 | }; |