This is library for storing data array in internal flash memory of MCU LPC1768. The flash data is empty every time we download program to MCU so it can be used in project where we don't have acces to file system like mbed development board uses.

Dependencies:   IAP

Dependents:   Flash_Example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Flash.cpp Source File

Flash.cpp

00001 #include "Flash.h"
00002 
00003 Flash::Flash() {
00004 
00005 }
00006 
00007 void Flash::writeFlash(char data[MEM_SIZE]) {
00008     __disable_irq();
00009     
00010     // varijabla za spremanje odgovora
00011     int r;  
00012     // provijera ako je sektor flasha prazan, nakon svakog novog programiranja se flash prazni
00013     r = iap.blank_check(TARGET_SECTOR, TARGET_SECTOR);
00014     // brisanje sektora ako je potrebno
00015     if (r == SECTOR_NOT_BLANK) {
00016         iap.prepare(TARGET_SECTOR, TARGET_SECTOR);
00017         r = iap.erase(TARGET_SECTOR, TARGET_SECTOR);
00018     }
00019     // pisanje podataka u memoriju
00020     iap.prepare(TARGET_SECTOR, TARGET_SECTOR);
00021     iap.write(data, sector_start_adress[TARGET_SECTOR], MEM_SIZE);
00022     
00023     __enable_irq();
00024 }
00025 
00026 void Flash::readFlash(char *data) {
00027     __disable_irq();
00028     
00029     memcpy(data, sector_start_adress[TARGET_SECTOR], MEM_SIZE);
00030     
00031     __enable_irq();
00032 }