| 本帖最后由 TI_MCU 于 2011-12-6 17:38 编辑 
 M4里面的EEPROM并不是编址在内存空间中的,而是直接通过操作寄存器(Register)进行读写的。所以EEPROM中间的某个地址就是只属于EEPROM的地址,并不和内存地址有冲突。
 
 要想方便的使用EEPROM,最好的办法就是使用TI的StellarisWare驱动库程序:
 
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_timer.h"
#include "inc/hw_ints.h"
#include "inc/hw_gpio.h"
#include "driverlib/sysctl.h"
#include "driverlib/eeprom.h"
unsigned long pulRead[2];
void main()
{
    unsigned long pulData[2];
    // 系统工作在50MHZ
    SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);
    // 使能EEPROM
    SysCtlPeripheralEnable(SYSCTL_PERIPH_EEPROM0); 
  
    // 初始化EEPROM
    EEPROMInit(); 
    pulData[0] = 0x12345678;
    pulData[1] = 0x56789abc; 
    // 向EEPROM里面0x400地址写入数据
    EEPROMProgram(pulData, 0x400, sizeof(pulData)); 
    // 读回来
    EEPROMRead(pulRead, 0x400, sizeof(pulRead));    
    while(1)
    {
    }
 |