[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: On the freeness of a BLOB-containing driver

On Sun, Dec 12, 2004 at 09:07:55AM -0800, Bruce Perens wrote:
> Hamish Moffatt wrote:
> >I'm going to disagree (violently) here. FLASH costs money, which drives
> >up costs to consumers directly.
> >
> Maybe, maybe not. A lot of the processors come with it on board whether 
> you want it or not, many of the ones that don't have an expensive (in 
> pin-count) external memory bus.

If it's in the chip it costs money. If there's a non-FLASH variant
available, designers will use it because it's cheaper. And whether it's
in the micro or external, it costs money. If it's external it takes
space too.

In addition to the FLASH part, you might need some other logic (eg a
CPLD) to actually transfer the contents of FLASH into the programmable
device. That costs a few more dollars and takes a bit more board space.

The front-end chips used in DVB (digital television) cards have their
firmware loaded through I2C and I don't think they have any way to
initiate that themselves. Hence if you wanted a wholly hardware solution
you would need a CPLD to act as the I2C master. Instead the software
drivers program these chips just fine during initialisation.

> >Further, if you want to support firmware
> >upgrades, you need to find a VERY robust process else you have huge 
> >technical support and repair issues, not to mentioned unhappy customers.
> > 
> In general the FLASH is being loaded via JTAG, and the RAM is being 
> loaded via JTAG. No difference. You can write a device with completely 
> wedged software via JTAG.

FLASH is loaded in the factory by JTAG. RAM isn't; I'm not sure what you
mean there.

> >I'm an EE working on industrial telecommunications equipment and I always 
> >argue for putting as little as possible in FLASH, so that we can upgrade 
> >it easily later.
> >
> Are you sure you don't mean ROM? In general, FLASH systems are designed 
> to upgrade in place.

Sure, but you need to develop an upgrade process that means the device
still works if you lose power or unplug it during the FLASH process.
It'll generate tech support calls, without a doubt. So if you can avoid
it, you would (and should).

The FLASH technology makes partial reprogramming easy, but you still
have to use it sensibly.

Hamish Moffatt VK3SB <hamish@debian.org> <hamish@cloud.net.au>

Reply to: