初学者之--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
|
|
|
|