This is the mail archive of the ecos-patches@sourceware.org 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] |
Other format: | [Raw text] |
All, I had the opportunity to test the new 65nm flavor of the strata P30 by Numonyx. Both old and new chip use the same CFI device ID. This chip claims to be compatible to the older P30 chips - but it's not quite. The new chip features a 1024 byte write buffer, the old one only a 32 byte write buffer. This is covered and detected by the flash-init routine. The incompatibility arises when the write buffer is used unaligned: - The old chip supports this - there is merely a perfomance degradation. - On the new chip you no longer can use the full write buffer size. The attached patch addresses this by detecting unaligned buffer writes - and only use the write buffer partially up to the next natural alignment. Further improvements are possible: The current code only uses the write buffer if the (remaining) length to be flashed exceeds the size of the write buffer. If it's less then it falls back to using single writes. For small on-chip buffers this is probably no big deal. But for this new chip up to 1023 bytes could be written this way - and those times can sum up. My main concern is backward compatibiliity with other (older) strata chips: Both my patch as well as the improvement indicated above use only part of the on-chip buffer. All strata chips I've encountered do support partial buffered writes - but I haven't done an exhaustive investigation (nor do I intend to do this). Best, Kurt
Attachment:
cvs_diff.txt
Description: cvs_diff.txt
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |