MPC5748 EEPROM Emulation Driver

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5748 EEPROM Emulation Driver

2,034 Views
anoopnayak
Contributor II


Hello All,

 

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.

 

155557_155557.pngpastedImage_0.png

 

I make sure to set proper LOCK bits before the erase operation.

155597_155597.pngpastedImage_1.png

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.

155598_155598.pngpastedImage_7.png

The driver only sets SEL0 and SEL1 as shown below.

155600_155600.pngpastedImage_9.png

I tried to update this in the driver such that my SEL2 bits are.

155599_155599.pngpastedImage_8.png

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.

 

thanks

Anoop

Labels (1)
8 Replies

1,283 Views
alexvinchev
Contributor V

anoopnayak​,

I'm attaching my SSD demo, prepared for my colleague who is dealing with bootloader stuff.

It is based on sources, provided in SSD (libssd folder) and AN4830 (tgt and common folders). Demo is targeted for MPC5748G device, GHS compiler and Lauterbach debugger. For others I could not assist, since I'm not using them. I believe that source is self documented, so you should not have problems.

Use it at your own risk, I could not guarantee that it is 100% correct!

1,283 Views
anoopnayak
Contributor II

Aleksandar,

Thank you, I will refer the attached demo.

thanks

Anoop

0 Kudos

1,283 Views
anoopnayak
Contributor II

Lukas,

Is this only applicable for C55 SSD? The reason I am asking is I remember you providing the source code for C90 SSD.

thanks

Anoop

0 Kudos

1,283 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

I usually don't want to share the source codes. If I share it, it's only for reference. Customers are not supposed to use it directly.

The drivers are provided in pre-compiled form, so it avoids issues caused by different compilers. It also does not allow customers to change the code, so it's easier for us to track possible issues. We cannot provide support if the (modified) source codes are used directly.

Regards,

Lukas

0 Kudos

1,283 Views
anoopnayak
Contributor II

Lukas,

Thanks for the information. Is it possible for you to share the same only for reference?

thanks

Anoop

0 Kudos

1,283 Views
anoopnayak
Contributor II

Lukas,

Thanks for the information. I did download the SSD and I don't see the source code for the driver API's.

Is it not part of the archive? Can you please provide me the source code for the same?

thanks

Anoop

0 Kudos

1,283 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

We provide the SSD drivers only in pre-compiled form. The source files are not provided.

Regards,

Lukas

0 Kudos

1,283 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi Anoop,

eee low level driver support only low, mid and high space/blocks. Large 256KB blocks are not supported by this driver because it is not expected that emulation will be used on these large blocks. There may be problem with terminology - it is universal driver for MPC56xx/57xx and "high blocks" term is a little bit confusing on MPC57xx because the blocks are defined in this way:

pastedImage_0.png

pastedImage_1.png

You can use Standard Software Driver for this kind of operations:

http://www.nxp.com/files/product/software/C55_JDP_SSD.exe

Regards,

Lukas