registry flash read/ write

Dependencies:   FreescaleIAP mbed

Fork of testregistr by Team Fox

main.cpp

Committer:
raizel_varun
Date:
2015-06-16
Revision:
3:ad384b346c28
Parent:
2:f20b253b3a0c

File content as of revision 3:ad384b346c28:

#include "mbed.h"
#include "FreescaleIAP.h"

Serial pc(USBTX,USBRX);
 
int main() {
 float var0,var1,var2,var3,var4,var5,var6,var7,var8,var9;
 float dumar[10]={var0,var1,var2,var3,var4,var5,var6,var7,var8,var9};
    
    pc.printf("Starting\r\n"); 
     int* adress = (int*)(0x0003fc08+4); 
   //  pc.printf("value at 3fc00 is %d\r\n",*adress);
   //  pc.printf("value at 3fc00 is %d\r\n",SECTOR_SIZE);
   
    int address = flash_size() - (SECTOR_SIZE);           //Write in last sector(simply use 256-xkb of file)
                     
    pc.printf("Starting %x \r\n",address); 
    char *data = (char*)address;
    pc.printf("Starting\r\n"); 
    erase_sector(address);//cant erase the program
    char numbers = 'd';
    int i;
    
   // for(i=0;i<2560;i++){
    //numbers[i]=((3*i)+1);}
    Timer t;
    t.start();
    program_flash(address, (char*)&numbers,4);        //10 integers of 4 bytes each: 40 bytes length
    //printf("heloooooooooooooooooooooooo");
    t.stop();
    pc.printf("Resulting flash: \r\n");
    for (i =0 ; i<5;i++)
        printf("%d,%c\r\n",i, data[i]); 
        
    pc.printf("Done %f\r\n\n",t.read());
    pc.printf("value at %x\r\n",address); 
    t.reset();

 
    //while (true) {
    //}
}

uint8_t RD_FLASH(int ad1,int ad2)
{
  for(int i = 0;i < a; i++)
    g_flashd[i] = data[i];//read in to ram , can do othr functions  now in g_flashd
  
  
 }
 
extern int a;
extern int g_flashd[a]; 
 
uint8_t WR_FLASH(int ad, int value)
{  for(int i = 0;i < a; i++)
    g_flashd[i] = data[i];
    g_flashd[ad-address] = value;//change data in ram, if wanted can change multiple variables
    erase_sector(address);
    program_flash(address, (char*)&g_flashd,(a*4));
    
 }