社区
嵌入开发(WinCE)
帖子详情
FLASH Driver
Tiro
2002-07-05 12:55:32
有人写过Intel FLASH 28F320J5的驱动吗
...全文
137
10
打赏
收藏
FLASH Driver
有人写过Intel FLASH 28F320J5的驱动吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Tiro
2002-07-28
打赏
举报
回复
问题我已经解决,程序没有错,但是做硬件的同事没有告诉我要先置一个地址线
hunter_99
2002-07-19
打赏
举报
回复
回樓上,
曾經聽philips的實現是:
1.把一個block劃分成適當大小的邏輯block,首先把整個block全部擦掉;
2.要用時申請未用過的邏輯block直接寫入;
3.修改數據時涉及掉電保護:
3.1先把原來要改寫的邏輯block里的data讀入內存;
3.2在內存中modify data;
3.3modify後重新再申請一塊新的邏輯block,把內存中的data寫入新的邏輯block,
3.4寫好後把新的邏輯block標記為有效data區;
3.5原來的邏輯block在定期的整理後又為可用block.
以上僅是他人之經驗,我也正想在intel FLASH 28f160ct的1,2block上做一個文件系統,哪位大蝦可指點一二!
hunter_99
2002-07-19
打赏
举报
回复
up!up!!!
強烈灌注!
zgz
2002-07-10
打赏
举报
回复
to: misshome()
可以谈谈你是如何做到断电保护的么?
还有,Intel的flash块特别大,文件系统中期望的逻辑块又很小,你是如何解决这个矛盾的?
misshome
2002-07-09
打赏
举报
回复
我写过,是wince下的驱动程序。
不是很复杂的,主要考虑物理扇区和逻辑扇区映射是动态的,不要固定死,可以大大的增加其寿命,同时要考虑废弃块的搜集,和断电保护,错误数据恢复等功能。
潘多拉猫之碧海蓝天
2002-07-09
打赏
举报
回复
提供一些思路,我没用过这种flash.
short flash_erase_block(short block)
{
unsigned char flag;
flash_address = (unsigned char *)FLASH_START_ADDRESS + block * 128 * 1024;
*flash_address = 0x60;
*flash_address = 0xd0;
while(1)
{
flag = *flash_address & 0x80;
if(flag != 0)
break;
}
如果没猜错的话上面是块解锁吧。
----------------------------------------
*flash_address = CLEAR_STATUS;
*flash_address = READ_ARRAY;
-----------------------------------------
*flash_address = 0x20;
*flash_address = 0xd0;
flash_address = (unsigned char *)FLASH_START_ADDRESS;
*flash_address = 0x70;
while(1)
{
flag = *flash_address & 0x80;
if(flag != 0)
break;
}
flash_address = (unsigned char *)FLASH_START_ADDRESS;
*flash_address = CLEAR_STATUS;
*flash_address = READ_ARRAY;
/* *flash_address = 0xff;*/
return 1;
}
Tiro
2002-07-09
打赏
举报
回复
请教,为什么下面的程序无法擦除块
short flash_erase_block(short block)
{
unsigned char flag;
flash_address = (unsigned char *)FLASH_START_ADDRESS + block * 128 * 1024;
*flash_address = 0x60;
flash_address = (unsigned char *)FLASH_START_ADDRESS + block * 128 * 1024;
*flash_address = 0xd0;
while(1)
{
flag = *flash_address & 0x80;
if(flag != 0)
break;
}
flash_address = (unsigned char *)FLASH_START_ADDRESS + block * 128 * 1024;
*flash_address = 0x20;
flash_address = (unsigned char *)(FLASH_START_ADDRESS + block * 128 * 1024);
*flash_address = 0xd0;
flash_address = (unsigned char *)FLASH_START_ADDRESS;
*flash_address = 0x70;
while(1)
{
flag = *flash_address & 0x80;
if(flag != 0)
break;
}
flash_address = (unsigned char *)FLASH_START_ADDRESS;
*flash_address = 0xff;
return 1;
}
zgz
2002-07-08
打赏
举报
回复
我的是J3的,any problem?
潘多拉猫之碧海蓝天
2002-07-05
打赏
举报
回复
我写给intel FLASH 28f160ct
lichenzhou
2002-07-05
打赏
举报
回复
你依据databook的时序应该没有问题的呀,到底你出现了什么问题?
Freescale DSC
Flash
driver
Flash
Driver
Sim EEPROM
nand
flash
driver
nand
flash
driver
8位驱动
Spark 3.0.0
Driver
启动内幕
本课程讲解Spark 3.0.0
Driver
启动内幕 的内容,包括:Spark
Driver
Program 剖析:Spark
Driver
Program、SparkContext 深度剖析、SparkContext 源码解析;DAGScheduler 解析:DAG 的实例化 、DAGScheduler 划分Stage 的原理、DAGScheduler 划分Stage 的具体算法、Stage 内部Task 获取位置的算法;TaskScheduler 解析:TaskScheduler 原理剖析、TaskScheduler 源码解析;SchedulerBackend 解析:SchedulerBackend 原理剖析、SchedulerBackend 源码解析、Spark 程序的注册机制、Spark 程序对计算资源Executor 的管理; 打通Spark 系统运行内幕机制循环流程。
How To Add Nand
Flash
Driver
(CN)
How To Add Nand
Flash
Driver
(CN) How To Add Nand
Flash
Driver
(CN) How To Add Nand
Flash
Driver
(CN)
Win CE6.0下的
Flash
Driver
Win CE6.0下的
flash
driver
,修改了5.0下漏洞百出
driver
的bug,同时也更新了其架构。
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章