[U-Boot-Users] at45 dataflash

Hi!
I'm running u-boot 1.1.2 on an AT91 compatible board, however I have no NAND flash, only serial dataflash.
As far as I've looked at the sources, there is a configuration option that I can store environment variables on the dataflash, however how can I load the kernel image & ramdisk image from dataflash into SDRAM? (I've found no commands to do this, maybe I overlooked it somewhere..)
If there is no way to do this, what if I load the kernel image together with u-boot into sdram on startup, can u-boot start this "pre-loaded" kernel image?
Thank you for you answers!
Best Regards, Zoli

In message 1107905713.9293.9.camel@localhost you wrote:
As far as I've looked at the sources, there is a configuration option that I can store environment variables on the dataflash, however how can I load the kernel image & ramdisk image from dataflash into SDRAM? (I've found no commands to do this, maybe I overlooked it somewhere..)
You use the same commands as for NOR flash. Dataflash support was intergrated transparently.
If there is no way to do this, what if I load the kernel image together with u-boot into sdram on startup, can u-boot start this "pre-loaded" kernel image?
In theory it can. [And actually it most probably will.]
However, you are aware that U-Boot expects to be started fresh out of reset on a completely uninitialized system, and on such a system you cannot have any SDRAM contents as the SDRAM has not been initialized yet. I guess you may want to read the FAQ at http://www.denx.de/twiki/bin/view/DULG/CanUBootBeConfiguredSuchThatItCanBeSt...
Best regards,
Wolfgang Denk

Hi!
Thanks for the reply!
This is how u-boot boots for me:
U-Boot 1.1.2 (Feb 9 2005 - 16:43:51)
U-Boot code: 21F00000 -> 21F16F40 BSS: -> 21F1B5F8 RAM Configuration: Bank #0: 20000000 32 MB Atmel: Flash: 0 kB Error Timeout DataFlash:AT45DB161 Nb pages: 4096 Page Size: 528 Size= 2162688 bytes Logical address: 0xC0000000 Area 0: C0000000 to C0007FFF (RO) Area 1: C0008000 to C001FFFF (RO) Area 2: C0020000 to C0027FFF Area 3: C0028000 to C020FFFF *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial U-Boot>
And if I display the contents of the Dataflash, the following happens:
U-Boot> md c0000000 c0000000:Error Timeout Error Timeout data abort pc : [<21f08648>] lr : [<21f12310>] sp : 21eddc38 ip : 21edda28 fp : 21eddc7c r10: c0000000 r9 : 00000100 r8 : 21eddfdc r7 : 00000010 r6 : 00000000 r5 : 00000004 r4 : 21eddc48 r3 : 00000000 r2 : fffff200 r1 : 21edda5c r0 : ffffffff Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
How come that the dataflash _gets detected_, however it is not _readable_?!
(I only have dataflash no NAND flash..)
I've tried to set CFG_MAX_FLASH_BANKS and CFG_MAX_NAND_DEVICE to 0, but this did not help (same as above). How can I remove NAND support from my config? (Maybe that is the cause of the dataflash errors..)
I hope Wolfgang or someone could give me a hint (or some pointers to the documentation..)
Best regards, Zoli
PS:
In fact I've also tried to use the Atmel supplied loader.bin to load the u-boot image, with the following results:
When the loader.bin image is running on the board, and outputting the 'C' characters, waiting for the Xmodem transfer. Then, the following happens during the Xmodem transfer:
sx -X u-boot.bin </dev/ttyS0 >/dev/ttyS0 Sending u-boot.bin, 728 blocks: Give your local XMODEM receive command now. Xmodem sectors/kbytes sent: 0/ 0kRetry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: NAK on sector Retry 0: Retry Count Exceeded
Transfer incomplete
Have anyone experienced such thing?
On Wed, 2005-02-09 at 00:35 +0100, Wolfgang Denk wrote:
In message 1107905713.9293.9.camel@localhost you wrote:
As far as I've looked at the sources, there is a configuration option that I can store environment variables on the dataflash, however how can I load the kernel image & ramdisk image from dataflash into SDRAM? (I've found no commands to do this, maybe I overlooked it somewhere..)
You use the same commands as for NOR flash. Dataflash support was intergrated transparently.
If there is no way to do this, what if I load the kernel image together with u-boot into sdram on startup, can u-boot start this "pre-loaded" kernel image?
In theory it can. [And actually it most probably will.]
However, you are aware that U-Boot expects to be started fresh out of reset on a completely uninitialized system, and on such a system you cannot have any SDRAM contents as the SDRAM has not been initialized yet. I guess you may want to read the FAQ at http://www.denx.de/twiki/bin/view/DULG/CanUBootBeConfiguredSuchThatItCanBeSt...
Best regards,
Wolfgang Denk

Hello
Never worked with SPI flash in u-boot yet...but... are you sure it gets detected correctly?
Atmel: Flash: 0 kB Error Timeout
For me a "Timeout" doesn't tell me that a device is recognized properly (o;
DataFlash:AT45DB161 Nb pages: 4096 Page Size: 528 Size= 2162688 bytes
rick

Hi!
Never worked with SPI flash in u-boot yet...but... are you sure it gets detected correctly?
Atmel: Flash: 0 kB Error Timeout
For me a "Timeout" doesn't tell me that a device is recognized properly (o;
isnt this Timeout message refer to the parallel NAND flash? (since there is no NAND flash in the design, this would be natural)
Zoli
participants (3)
-
richard@uclinux.net
-
Wolfgang Denk
-
Z.N.