eeprom.c

来源:互联网 发布:手机屏幕录像录音软件 编辑:程序博客网 时间:2024/05/08 07:25
int eeprom_test(void)
{
    sys_status rval;
    uint16 data[32];
    uint16 addr = 0;
    uint16 i = 0;

    PioSetModes(PIO_BIT_MASK(3)|PIO_BIT_MASK(4), pio_mode_user);
    PioSetDir(3, TRUE);
    PioSetDir(4, TRUE);
    PioSet(3, FALSE);
    PioSet(4, FALSE);
    PioSet(3, TRUE);
    PioSet(4, TRUE);
    NvmConfigureI2cEeprom();

    MemSet(data, 0, sizeof(data));
    for(addr=0; addr<0x7fff; addr+=64)
    {
        rval = I2cEepromRead(0x50, addr, TRUE, 64, data);
    }
    PioSet(3, FALSE);
    for(addr=0x0; addr<0xffff; addr+=64)
    {
        for(i=0;i<32;i++)
        {
            data[i] = addr+i*2;
        }
        rval = I2cEepromWrite(0x50, addr, TRUE, 64, data);
    }
    PioSet(4, FALSE);
   
    Nvm_Disable();
   
    return 0;
}

#include "i2c.h"
static int eeprom_test2(void)
{
    sys_status rval;
    uint16 data[32];
    uint32 addr = 0;
    uint16 i = 0;

    NvmConfigureI2cEeprom();

    MemSet(data, 0, sizeof(data));
   
    PrintTime();
    DebugWriteString("EEPROM read start\r\n");
    for(addr=0; addr<0x10000; addr+=64)
    {
        rval = I2cEepromRead(0x50, addr, TRUE, 64, data);
    }
    PrintTime();
    DebugWriteString("EEPROM read end\r\n");

    PrintTime();
    DebugWriteString("EEPROM write start\r\n");
    for(addr=0x0; addr<0x10000; addr+=64)
    {
        for(i=0;i<32;i++)
        {
            data[i] = addr+i*2;
        }
        rval = I2cEepromWrite(0x50, addr, TRUE, 64, data);
    }
    PrintTime();
    DebugWriteString("EEPROM write end\r\n");
   
    Nvm_Disable();
   
    return 0;
}

static void nvm_test(void)
{
    DebugWriteString("N_APP_USED_NVM_WORDS: ");
    DebugWriteUint16(N_APP_USED_NVM_WORDS);
    DebugWriteString("\r\n");
   
    DebugWriteString("GATT_SERV_CHANGED_NVM_MEMORY_WORDS: ");
    DebugWriteUint16(GATT_SERV_CHANGED_NVM_MEMORY_WORDS);
    DebugWriteString("\r\n");
   
    DebugWriteString("GAP_SERVICE_NVM_MEMORY_WORDS: ");
    DebugWriteUint16(GAP_SERVICE_NVM_MEMORY_WORDS);
    DebugWriteString("\r\n");
   
    DebugWriteString("sizeof(GAP_DATA_T): ");
    DebugWriteUint16(sizeof(GAP_DATA_T));
    DebugWriteString("\r\n");
    return;
}
0 0
原创粉丝点击