这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 高手给解释一下nord flash vxworks驱动里关于写flash函数的参

共3条 1/1 1 跳转至

高手给解释一下nord flash vxworks驱动里关于写flash函数的参数FLBoolean overwrite

菜鸟
2007-10-11 09:58:28     打赏

高手给解释一下nord flash驱动里关于写flash函数的参数FLBoolean overwrite

vxworks下nord flash驱动里需要编写对flash写的函数,tffs提供了接口函数如下,内容由我们自己根据flash芯片型号完成相应的写操作.

static FLStatus myMTDWrite
(
FLFlash vol,
CardAddress address,
const void FAR1 *buffer,
int length,
FLBoolean overwrite
)
{
/* Write routine */
return flOK;
}

其中最后一个参数表示是否对已写过的地址再次进行操作,
而flash如果写过的地方不擦除就再次写入会导致超时失败,
可是我看了tornado目录下的几个样本程序,都没有对这个overwrite参数进行判断,不知为何?
仅有一个amd29LvMtd.c的程序(是对32bit的flash编写的驱动)其中有这样的判断:
if (overwrite && length == 2)
{
    擦除该扇区,再写入.
}
else
{
    if ((length & 0x03) != 0) return ERROR;
    进行一般的写入操作.
}
对此,很是不解,为何只当要写2字节并且是overwrite时才认为是重复写入,需要擦除整个扇区呢??
希望高手能给解释一下.




关键词: 高手     解释     一下     flash     vxworks     驱动    

菜鸟
2007-11-16 10:07:17     打赏
2楼
overwrite 属性只用于修改数据属性字段,例如从0xFF->ox60->0x40->0x00

高工
2007-11-16 13:42:15     打赏
3楼

woodhead老兄终于出现了!

我们太想念你了!!


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]