This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

FLASH driver problems on eCos 1.3.1 for edb7312


We developed a FLASH driver for an Intel bootblock FLASH for a prototype
board based upon the ebd7212 design running eCos version 2.0. The driver
worked very well, as did all of our test programs for the 7212. 

We subsequently developed a prototype board based upon the ebd7312 and
needed to rebuild eCos for the 7312 configuration. We obtained the
repository files and a patch for the 7312 from Cirrus Logic. The patch
operated on the repository files for version 1.3.1 of eCos. We tested a
simple program (it simply toggled an I/O line) on our 7312 board with
the new eCos build and it performed correctly. However, when I tested
our FLASH driver, which had been developed for the 7212 and eCos 2.0,
the driver could no longer write to the FLASH or erase any sectors. 

I then built eCos 1.3.1 with the edb7212 template and tested our FLASH
driver on our 7212 prototype. This time, the FLASH driver did not erase
any sectors and was not able to perform any writes either.

We examined the differences in the settings between the 1.3.1 and 2.0
eCos Configuration Tools with the 7212 template implemented. We noticed
that version 2.0 implements a setting for Cirrus Logic EDB7xxx FLASH
memory support, while version 1.3.1 does not. We don't use the function
calls for the 'built in' FLASH driver since we have developed our own
driver. However, we surmise that this setting may enable/disable write
attempts to the FLASH device. We also examined some of the repository
directories and noticed that under version 1.3.1, the \packages\devs
directory contains only two directories: 'wallclock' and 'watchdog'.
Alternatively, under version 2.0, the \packages\devs directory contains
several additional directories including a 'flash' directory. This leads
us to believe that we have either not installed version 1.3.1 properly
or that we need to install additional packages (eg. epk files).

1. Is version 1.3.1 with the edb7212 template configured as described
above (eg. without the Cirrus Logic EDB7xxx FLASH memory support
setting)? If so, how do we add additional packages for this or the 7312
configuration and where can we find the necessary epk files?

2. What factors would prevent our FLASH driver from operating on version
1.3.1 when it works correctly on version 2.0 for the 7212? There is
nothing special about our FLASH driver code - it's simple C programming
and the FLASH device is identical on both of our boards. Will the
exclusion of the 'Cirrus Logic EDB7xxx FLASH memory support' have an
effect on our own FLASH driver?

3. I've skimmed over the code in the patch for the 7312 and I am
considering manually implementing these changes into the repository
files for eCos version 2.0, most significantly, hal_platform_setup.h. Is
this a reasonable solution to our problems? 

4. Does the red hat website have a patch for the 7312 which patches eCos
version 2.0? It appears that Cirrus Logic only provides a 7312 patch for
version 1.3.1.

Thanks for any assistance,

CHRIS.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]