--
AttilioTarantola - 26 Apr 2009
The OEPB flash programming over ETRAX.
1)ETRAX takes OEPB configuration file.
2)ETRAX does block write with increasing addresses and writes 32 bits dataword
in the following addresses:
address nr: 0-63 data (64 addresses x 32bits = 2048 bits =1 flash page)
address nr: 64: flash page number
address nr: 65: flash programming status
address nr: 64: flash control register
3)ETRAX sends 1 page->MDC addon->OEPB
4)OEPB loads page by page in a RAM and then to FLASH
5)OEPB writes control register.
The process is repeated for all pages.
Main Commands for Macronix (MX25L1605D) for OEPB
Command Name |
Command |
Send Data at Command |
Receive data at Command |
Comments |
WREN |
x"06" |
- |
- |
enable write |
WRDI |
x"04" |
- |
- |
reset write enable |
RDSR |
x"05" |
- |
2 byte |
readout status register |
CP |
x"AD" |
3 byte(ADD) + 2 byte(DUMMY DATA) + XX DATA |
- |
send all data at once. Add. auto increase |
CE |
x"60" |
- |
- |
erase whole chip |
PP |
x"PP" |
3 byte(ADD) + 1 byte (DATA) |
- |
program selected page |
REMS |
x"90" |
2 DUMMY byte |
2 byte |
output manufacturer ID and device ID |
|
|
Possible command sequence for OEPB
Sequence Number |
Command |
Comment |
0 |
RDSR |
if Block Protect = 0 then CE can be executed |
1 |
CE |
erase whole chip |
2 |
RDSR |
be sure CE has been executed |
3 |
WREN |
enable write |
4 |
CP |
continuously write data |
5 |
WRDI |
reset write enable |
6 |
RDSR |
be sure CP mode is ended |
|
|