加入收藏 | 设为首页 | 会员中心 | RSS
您当前的位置:首页 > Linux技术 > Linux嵌入式

初学者之--Flash ROM编程示例

时间:2008-06-06 11:46:47  来源:  作者:
Intel Flash芯片 i28f160,i28f320: 
i28F320B: 64*64K,64个blocks,4M空间,每个block 64K,第一个64K由8个8*8K小blocks组成.每个Black可以被独立擦写(寿命周期) 100,000次以上 

字串9


Flash操作的大概步骤: 字串3 

flash读写操作中,读应该很简单,和RAM一样,写就复杂一点. 
Intel TE28F320C3的flash是4M空间
flash空间,划分成许多的block,Intel TE28F320C3的flash是4M空间,64个block,每个block由64K.
要对所有的block单独进行操作, 每个操作结束,都需要判定状态, 
每个block操作的大概步骤如下: 
1.unlock 
2.erase 
3.check empty 
所有的block完成上述操作,且状态正确,才能进行下一步,写 
4.write 

字串6


ARM汇编程序 

字串4

LDR r2, =FlashBase ;Flash起始地址 

字串1


//第一步,UNLOCK的64个block,步骤和上边一样 字串9 


MOV r1,#63 ;63x64k block 计数 

字串7


01 LDRB r3, =X16_FLASH_COMMAND_CONFIG_SETUP 字串6 

STRB r3, [r2] ;该block的首地址 

字串9

LDRB r3, =X16_FLASH_COMMAND_UNLOCK_BLOCK 字串5 

STRB r3, [r2] ;将Unlock命令写入 字串9 

ADD r2, r2, #0x10000 ;64K
SUBS r1, r1, #1
BNE 
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门