FreeBSD as read-only firmware

Ian Lepore freebsd at damnhippie.dyndns.org
Sat Nov 3 15:30:29 UTC 2012


On Sat, 2012-11-03 at 08:01 -0700, Mehmet Erol Sanliturk wrote:
> I do not know exact data transmission rate of SDHC cards , but , I
> think ,
> it is faster than CD or DVD . For CD and DVD , at present there is NO
> any
> only READ CD or DVD devices . They are disappeared from the market .
> For
> writable CD or DVD , it may be possible to append some files at the
> end of
> recorded area , and the media may be corrupted by re-recording ( I
> think ) . 

Expect roughly 22-25MB/sec on a modern SDHC with a 4-bit datapath.

Be aware that there's no way to truly write protect an SD card.  There
is a write protect tab on a full-size card (but not on a MicroSD), but
it's not enforced in the card's hardware, it is a polite request to the
system "please don't write to this card" and some systems don't even
have the hardware to sense the switch position.  

Since it's flash-memory based, it also may corrupt the media on write,
including the possibility of corrupting existing data that has no
relation to the new data being written.  That is, you could have a
write-protected partition and a write-enabled partition on the same
SDCard, and writing into the write-enabled partition can damage data on
the write-protected partition.  This is because you have no control over
the way the embedded flash microcontroller allocates storage internally,
and it is free to place data pages from unrelated filesystems into the
same blocks (block = erase/programming sized unit).

I suspect all off-the-shelf nand-flash based storage has the same
problems, but CF and SDCard are the only ones I've got hands-on
experience with.  At work we're now moving away from CF and SDCard and
towards putting nand flash chips directly onto our boards, and using
FreeBSD to access them rather than relying on the behaviors of some
embedded microcontroller we know nothing about.

-- Ian




More information about the freebsd-current mailing list