Need support for configurating the Flashfilesystem?

Hello,

I'm writing this huge Forum request because the Keil support didn't answer my email support request in a proper way, yet. I'm a bit disappointed, so I hope somebody else might help me...Maybe I'm not the only one, who has problems with the flashfilesystem.

I want to use the flashfilesystem delivered with the RealTime Libary on the on the MCB2300 board (with LPC2378 from NXP). Using ARM-MDK (3.04) and RL-ARM (3.04).

First I'm describing my configuration of the FFS and after that I explain my problems.

The flashfilesystem should be placed in the upper 5 sectors of the internal flash of the microcontroller.

So this is my device configuration file FS_FlashDev.h:

...
//Definition of the FlashSectors used by the Flash File System
// DFB( size   , baseadr ),   /* Comment                 */ \ <-- macro continuation sign (Don't forget)
#define FLASH_DEVICE                                \ 
   DFB(0x001000, 0x000000),   /* Sector Size 4kB */ \ 
   DFB(0x001000, 0x001000),   /* Sector Size 4kB */ \ 
   DFB(0x001000, 0x002000),   /* Sector Size 4kB */ \ 
   DFB(0x001000, 0x003000),   /* Sector Size 4kB */ \ 
   DFB(0x001000, 0x004000),   /* Sector Size 4kB */ \ 
// Number of previously defined sectors
#define FL_NSECT    5

I setup the File_Config.c like this:

Flash Drive Option                              checked
        Target device Base address              0x0007 8000
        Device Size in bytes                    0x0001 0000
        CPU Clock Frequency[Hz]                 48000000
        Initial Content of Erased Memory        0xFF
        Device Description File                 FS_FlashDev.h
Default Drive:          Flash


Comment: I'm not sure if I configured the Target device Base address correctly. According to the documentation it specifies the device base address in the memory space of ARM processor
I guess in my case it's the absolute starting address of the first Sector defined in the FS_FlashDev.h.

Parents
  • Just to inform others who may have the same problems:

    I got some proper information from keil support , that the issue is due to the ECC of the LPC2378 flash memory.

    So I made some tests writing data with inbuild IAP routine of the LPC2378 and read it again. So my current result is that the first writing to a position works, but the second write doesn't work. So it seems the IAP routine doesn't work properly and so it's not possible for the filesystem to write the data correctly to the internal flash of the LPC2378.

Reply
  • Just to inform others who may have the same problems:

    I got some proper information from keil support , that the issue is due to the ECC of the LPC2378 flash memory.

    So I made some tests writing data with inbuild IAP routine of the LPC2378 and read it again. So my current result is that the first writing to a position works, but the second write doesn't work. So it seems the IAP routine doesn't work properly and so it's not possible for the filesystem to write the data correctly to the internal flash of the LPC2378.

Children
More questions in this forum