Re: ANN: libi2c.fs

David McNab <[email protected]> Sun, 14 Nov 2004 12:02:33 +1300
Newsgroups gmane.comp.lang.forth.picforth
Message-ID <[email protected]>
J.C. Wren wrote:
> David,
> 
>    That looks really good.  The one thing I noticed is there are no 
> mechanisms for block reads and write.  Trivial block operations can, of 
> course, be implemented as a loop, however, this results in the I2C 
> address and 16 bit memory address being sent every byte written.  Writes 
> also have the problem of taking up to 5ms per byte in most parts (worst 
> case), which means writing a chunk of memory gets really slow.

I'm working on the premise that users won't necessarily be doing a lot 
of writes to their i2c eeproms - particularly since endurance is limited.

I even thought of implementing a basic filesystem in i2c memory, but 
with operations such as maintaining directories and free block chains, 
certain addresses would receive more frequent writes, which would wear 
out the memory much faster - in as little as weeks with some applications.

Also, block writes are hardware-limited to 64-byte pages iirc.

As for read - I'm aware that the 24xxnnn chips allow unlimited 
sequential read, so I'll be working on a new word 'i2c@..' which takes 
advantage of this.

>    If you're interested in a block reads and writes that are fairly 
> efficient, take a look at this: <URL: 
> http://linux.private.com/embedded/Forth/PICForth/demo_i2c.fs >.

host not found

-- 
Cheers
David