Replacing EWR by using RLP code

Hi everyone.

I am using EMX module and SDK4.2.10 on vista Pro. Due to instability and data integrity issues when using EWR, I would like to know if it is possible to reach the 64kB flash from RLP code?

no you can’t but instead use the end of your deployment region. I doubt your application is using the entire region.

Look at “flash sector map” in FEZ Config tool or MFDeploy

Is there a way to know the free area in the deployment region? Deployment map is not available on the device.

Here is the flash sector map:
Flash Sector Map Command
Sector Start Size Usage

0    0x80000000  0x00030000   Bootstrap
1    0x80030000  0x00110000   Code
2    0x80140000  0x00010000   EWR Storage (A)
3    0x80150000  0x00010000   EWR Storage (B)
4    0x80160000  0x00010000   Bootstrap
5    0x80170000  0x00280000   Deployment
6    0x803f0000  0x0000a000   Deployment
7    0x803fa000  0x00002000   Bootstrap
8    0x803fc000  0x00002000   Bootstrap
9    0x803fe000  0x00002000   Configuration

10 0x00000000 0x00004000 Bootstrap
11 0x00004000 0x00004000 Code
12 0x00008000 0x00070000 Code
13 0x00078000 0x00006000 Code
14 0x00000000 0xece00000 File System
15 0x00000000 0x1dd60000 File System
Flash Sector Map Complete

May we have more explanation about this? What are the two area called FileSystem. Are they available for user data?

if you don’t need all that 64kB, there is also battery backed storage associated with the Real Time Clock. See the Developers’ Guide:

@ andre.m As far as I can tell from the MPU data sheet, there is no similar feature on the G400.

@ leforban - create application deployment using mfdeploy to know the used size and the full size is in the section map

Hello Gus

The base address of the app.hex is 0x80170000 and its size is 0x00030a00. So I think I will have enough place. Now the question is how to store data in a convenient way at this location. In fact I need to store 2 xml config files (about 250k-300k each). Using EWR was convenient but not enough reliable (no way to check when data are strored, no way to check if there’s enough place to store data…).

Is there’s a kind of filesystem that could be set in teh deployment area? do I need to work at low level with register class?

The problem with the Battery RAM is that a cr2032 only last a year/ a year and half… this is not enough for high end products.

I just realized this is not as easy as I thought first! Is adding spi flash out of the question?

Yes it is…

Unless the binary serializer used for EWR is better than the one that exist in Reflection, I confirmed that my data can not fit into the EWR, (73k for now but I think I will grow till 100-125k at the end of developpment) I can still use BitPacked serialization hints but I don’t hink it will help enough. Using bigger space in flash is extremely needed…

Then GHI may need to make you something special to fit your needs. This will be outside the scope of standard services but that is what the consulting service for, if you are interested.

Ok for now I am serializing the instances in binary format and store them into the SD card. Latency seems not so bad but may be that we will need to improve it later. In this case we will contact your consulting service soon. Regards