[U-Boot-Users] Running w/o flash
wd at denx.de
Tue Mar 27 22:09:01 CEST 2007
In message <46095C4B.2090505 at atmel.com> you wrote:
> > No. The whole file is not compiled as it starts
> > #if (CONFIG_COMMANDS & CFG_CMD_FLASH)
> > If you have no flash, you need no flash commands, so you don't define
> > CFG_CMD_FLASH and everything is fine.
> I have flash, just not parallel flash.
> and I need the flash commands but not the stuff related to parallel flash.
There is no such concept as "parallel" flash in U-Boot. The term
"flash" is usually (*) used to name flash memory, i. e. some form of
non-volatile, byte-addressable, often block-erasable memory. And
before there is more confusion in terms: memory is something the CPU
can address on the address bus and read/write data from/to on the
(*) The "usually" above refers to the fact that there are other types
of storage devices like NAND flash, data flash, CompactFlash, ...
that also use the work "flash" in their name, but without
providing a memory-like interface, so it is technically wrong to
call these "flash memory".
The U-Boot command set enabled by the CFG_CMD_FLASH option provides
support for flash memory. Similar, the command set CFG_CMD_MEMORY
provides additional commands to operate on flash and other memory
In U-Boot, the meaning of the term "flash" is consistent, i. e. both
CFG_NO_FLASH and CFG_CMD_FLASH refer to exactly the same definition:
If you define CFG_NO_FLASH it makes no sense to define CFG_CMD_FLASH
as "no flash" means that: there is no flash memory support on that
board. [You might argue that this should actually be automatically
handled by U-Boot, i. e. defining both CFG_CMD_FLASH and CFG_NO_FLASH
on one board should throw an error condition. I will not reject a
patch that implements such checking, although I personally think this
is not needed.]
Now back to your statement of having "flash, just not parallel
flash." I know what you mean, but in the strict technical sense this
staement is wrong. You don't have flash memory (what you call
"parallel flash"). We agree on that. But instead of simplyfying your
system description into "I have flash" you should correctly state: I
have one or more flash storage devices (line NAND, Data Flash, etc.).
This is the crucial point of this discussion, and all the lengthy
previous discussions we had about this: U-Boot memory commands and
U-Boot flash commands are intended to operate on memory, including
flash memory. The are NOT intended to operate on any kind of storage
devices. For storage devices a differen set of commands must be used.
I know, that the current code to support Data Flash pretends that
such storage devices actually look like memory, but this is wrong.
And, as has been discussed several times before, this code shall and
will be removed from the U-Boot tree, and replaced by somthing new
which better represents tha actual nature and access types to such
> Exactly, but there is flash, but not any *parallel* flash
> so the flash commands are needed, but not the stuff
> related to parallel flash.
Instead of trying to extend the current, deprecated implementation, I
would like to ask you to rather help to eliminate and replace it with
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office: Kirchenstr. 5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
You cannot propel yourself forward by patting yourself on the back.
More information about the U-Boot