I am trying to use the EEE Driver to erase and program the "High Address space" by directly using the API's present in the "eed_Lowlevel" driver. The address range I am working on is shown below.
I make sure to set proper LOCK bits before the erase operation.
As a first step I tried to erase and program a block which is successful.
The next step where I try to erase all the blocks(5) program a specific block it doesnt seem to work. I am only able to program the block that was erased recently.
For example if I erase Block 0 to Block 5 and try to program any block other than Block 5 results in unsuccessful write. When I say unsuccessful I mean I dont see the data being written instead it contains default data which is OxFF.
As I mentioned I am interested in the High Address Space the default driver doesn't set the bits for SEL2 register which refers to the High address block as per the manual.
The driver only sets SEL0 and SEL1 as shown below.
I tried to update this in the driver such that my SEL2 bits are.
Is there a limitation or known issues with the EEE driver to program specific blocks in High Address Space?
The steps mentioned in the manual for erase/program seems to be matching when I perfrom the above operation.
Any inputs/reference will be helpful.