在线时间28 小时
UID2074361
注册时间2015-9-23
NXP金币0
该用户从未签到
注册会员

- 积分
- 184
- 最后登录
- 2017-12-17
|
大家好,我在用飞思卡尔官方代码调试MKE06Z128片内FLASH读写的时候,遇到几个问题1.官方的FLASH代码只有FLASH_Program(),没有读函数,所以无法知道写数据是否成功,2.我自己根据库函数的FLASH_ReadOnce(),遇到函数有不理解的地方,// Write index to specify the command code to be loaded FTMRH->FCCOBIX = 0x0;
// Write command code and memory address bits[17:16]
FTMRH->FCCOBHI = FLASH_CMD_READONCE;// command
//FTMRH->FCCOBLO = 0;// memory address bits[17:16]
FTMRH->FCCOBLO = 1;// memory address bits[17:16]
// Write index to specify the lower byte memory address bits[15:0] to be loaded
FTMRH->FCCOBIX = 0x1;
// Write the phrase index
FTMRH->FCCOBLO = 0x0;// u8PhraseIndex;
FTMRH->FCCOBHI = 0x0;// u8PhraseIndex >>8;
根据bits[17:16] = 1,bits[15:0] =0,读的地址应该是0x10000,我的程序如下
FLASH_Init(BUS_CLK_HZ);
/* Erase 99th sector */
FLASH_EraseSector(0x10000);
for(i=0;i<256;i++)
{
u8DataBuff[i] = 2;
}
/* write data to erased sector */
FLASH_Program( 0x10000,&u8DataBuff[0],4 );
for(i=0;i<256;i++)
{
u8DataBuff[i] = 0;
}
u8DataBuff[8] = FLASH_ReadOnce(1,&u8DataBuff[0]);
仿真的结果是 u8DataBuff[0]到u8DataBuff[7]都是0XFF,其他的为0,不知道是写的有问题还是怎么回事,对这个FLASH读 不是很理解。我在keil5的options已经设置ROM起始地址0,size 0x8000,。FLASH读写的是0X10000,希望大神们帮忙看下问题出在哪儿?
最佳答案
时间的流逝 发表于 2016-8-17 21:06
你好!我在写FLASH时,感觉到写几次FLASH之后数据就写不进去了?读写次数怎么这么少,我直接调用FLASH_Pr ...
Flash的寿命,最小10K, 典型值是100K。
你操作次数超过了吗?
另外 ...
|
|