TVZ Mechatronics Team / Flash

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 }