Am Mittwoch, 15. Dezember 2010, um 17:04:00 schrieb Peter Stuge:
Great idea in general.
Patrick Georgi wrote:
filename-position
This one is tricky. Blobs may need to have alignment, a negative offset (ie. start at end of flash - $amount) rather than a positive, etc. How could we handle those cases?
As this is the default case on our platform, we already handle it that way. filename-position is supposed to be the location in the target's address space, so if you want to store a file in the middle of a 1MB flash chip, you tell cbfstool (and this mechanism which forwards that value unchanged to cbfstool) to put the file at 0xfff80000, not 0x80000 (which is the location in the rom image where the file will end up).
The routine also shifts addressing enough to make space for the cbfs header - it's all covered :-)
Once we encounter some weird device where you need to put stuff at the beginning of the flash address space, we can still extend cbfstool to handle positions as follows: Values from 0 to 4 MB: flash chip's address space. Everything else (esp. 0xffc00000..0xffffffff): target address space (ie. like now)
Patrick