简单说说Stellaris LM4F里的EEPROM

[复制链接]
4853|4
 楼主| TI_MCU 发表于 2011-12-6 17:36 | 显示全部楼层 |阅读模式
本帖最后由 TI_MCU 于 2011-12-6 17:38 编辑

M4里面的EEPROM并不是编址在内存空间中的,而是直接通过操作寄存器(Register)进行读写的。所以EEPROM中间的某个地址就是只属于EEPROM的地址,并不和内存地址有冲突。

要想方便的使用EEPROM,最好的办法就是使用TI的StellarisWare驱动库程序:

  1. #include "inc/hw_memmap.h"
  2. #include "inc/hw_types.h"
  3. #include "inc/hw_timer.h"
  4. #include "inc/hw_ints.h"
  5. #include "inc/hw_gpio.h"
  6. #include "driverlib/sysctl.h"
  7. #include "driverlib/eeprom.h"

  8. unsigned long pulRead[2];

  9. void main()
  10. {
  11.     unsigned long pulData[2];

  12.     // 系统工作在50MHZ
  13.     SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);

  14.     // 使能EEPROM
  15.     SysCtlPeripheralEnable(SYSCTL_PERIPH_EEPROM0);
  16.   
  17.     // 初始化EEPROM
  18.     EEPROMInit();

  19.     pulData[0] = 0x12345678;
  20.     pulData[1] = 0x56789abc;

  21.     // 向EEPROM里面0x400地址写入数据
  22.     EEPROMProgram(pulData, 0x400, sizeof(pulData));

  23.     // 读回来
  24.     EEPROMRead(pulRead, 0x400, sizeof(pulRead));   
  25.     while(1)
  26.     {
  27.     }
czdo 发表于 2011-12-6 19:22 | 显示全部楼层
支持一下,看来M4也很快就
iEye 发表于 2012-1-12 10:12 | 显示全部楼层
zb0830 发表于 2012-1-12 21:40 | 显示全部楼层
还没有玩过M4呢,不过我的M3还是菜呢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

420

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部