Re: [U-Boot] building and updating u-boot on redboot based

Date: Sun, 21 Feb 2010 11:21:20 +0100 From: Matthias Kaehlcke matthias@kaehlcke.net Subject: Re: [U-Boot] building and updating u-boot on redboot based board To: Vipul Jain vipulsj@gmail.com Cc: u-boot@lists.denx.de Message-ID: <20100221102120.GR20201@darwin
Content-Type: text/plain; charset=us-ascii
Hi,
El Sat, Feb 20, 2010 at 05:31:48PM -0800 Vipul Jain ha dit:
- How to know if u-boot image I have build is build correctly?
the image is build correctly if the file u-boot.bin is generated. another question is if this image is appropriate for your board
- I have redboot on my EP9302 SOC (Cirrus logic), can I load u-boot in
memory and test if it works? What will be the memory address I need to download the image?
in order to start U-Boot from RAM you must define CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT. the memory address depends on your board. for a edb9302 try 0x01000000, for edb9302a 0xc1000000
be aware that even if the U-Boot image starts from RAM this doesn't mean automatically that it will boot on your board. when booting from RAM low-level initialization is skipped (i.e. the environment set up by redboot is used), when U-Boot boots from flash it is in charge to do the low-level init.
- How can I burn the u-boot image if I find every thing ok?
if your board is a Cirrus Logic edb9302, refer to the paragraph "Download Utility" in chapter 7 of the technical reference manual. otherwise consult the manual provided by your board manufacturer.
i think you could skip step 2 (try to load U-Boot from RAM), as you can always restore your RedBoot bootloader using the same procedure as for flashing the U-Boot image
btw, which version of U-Boot are you using, the current development version or a custom one?
best regards
-- Matthias Kaehlcke Embedded Linux Developer Barcelona
Hi Matthias,
I am using the latest source of u-boot that I have gitted from git:// git.denx.de/u-boot.git here. Can you please also tell me how to find out memory address for any particular board to download u-boot image. either from u-boot source or from board specific technical manual (PRM).
Also, I did tried last night the following command and now board is not responding to anything, Is there any way to recover the board back either via software/jumper setting or JTAG. if JTAG I am not sure which one and how to go about it, if there any pointer to these. I really appreciate your help, in making newbies learn.
RedBoot> load -r -v -b 0x100000 -h 192.168.15.6 u-boot.bin -
Raw file loaded 0x00100000-0x00119ee7, assumed entry at 0x00100000 RedBoot> fis write -f 0x60000000 -b 0x100000 -l 0x40000 <------------------------ I gave this number from some website
how to find this number ??
* CAUTION * about to program FLASH at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? y ... Erase from 0x60000000-0x60040000: .. ... Program from 0x00100000-0x00140000 at 0x60000000: .. RedBoot> reset ... Resetting.
Regards, Vipul.

El Sun, Feb 21, 2010 at 09:36:53AM -0800 Vipul Jain ha dit:
I am using the latest source of u-boot that I have gitted from
git://git.denx.de/u-boot.git here.
good!
Can you please also tell me how to find out memory address for any particular board to download u-boot image. either from u-boot source or from board specific technical manual (PRM).
the u-boot source won't be of any help here, especially if your board is not supported. is your board either a Cirrus Logic edb9302 or edb9302a? both of them should be supported, though in lack of a board i have not been able to test.
i am not sure if i understand to which memory address you are referring: the address in flash? in this case 0x60000000 should be correct.
the base address of the SDRAM on your board depends on the chip select used for RAM. information about the chip select you can most likely find in the user manual, otherwise consult the schematics of your board. i can't provide further help here as i don't know which board you are using.
Also, I did tried last night the following command and now board is not responding to anything, Is there any way to recover the board back either via software/jumper setting or JTAG. if JTAG I am not sure which one and how to go about it, if there any pointer to these. I really appreciate your help, in making newbies learn.
for recovery the easiest is re-flash redboot via the serial port. the ep93xx BSP provided by Cirrus Logic (http://arm.cirrus.com/files/linux/releases/linux-2.4/cirrus-arm-linux-1.4.5....) contains a utility called 'download' for this purpose. you need to put a jumper in order to configure the processor for UART boot. this jumper is board specific, i am sure the manual of your board has instructions for this.
please don't forget to mention which board you are using, otherwise providing help is impossible

Hi Matthias,
I am Using Cirrus Logic EP9302-CQZ board. The memory address I was talking about was ram address to download u-Boot (as you mentioned earlier it can be 0x1000000) and then perform the actual flash update command by using flash address and RAM addr(0x1000000) from where to pick the image. I am not sure though what value to give to the u-boot size option flag. i.e. say on redboot
fis write -f 0x60000000 -b 0x100000 -l 0x40000 Flash addr Ram addr Size <-- how to find size value How to find for a particular board.
so I was wondering if there is any general way to find out such u-boot image download ram address and size . Also, if you don't mind can you please guide me with steps to follow in-order to boot the board from UART and to flash the board with new image. Thanks a lot for your kind help.
Regards, Vipul.
On Sun, Feb 21, 2010 at 10:07 AM, Matthias Kaehlcke matthias@kaehlcke.netwrote:
El Sun, Feb 21, 2010 at 09:36:53AM -0800 Vipul Jain ha dit:
I am using the latest source of u-boot that I have gitted from
git://git.denx.de/u-boot.git here.
good!
Can you please also tell me how to find out memory address for any particular board to download u-boot image. either from u-boot source or from
board
specific technical manual (PRM).
the u-boot source won't be of any help here, especially if your board is not supported. is your board either a Cirrus Logic edb9302 or edb9302a? both of them should be supported, though in lack of a board i have not been able to test.
i am not sure if i understand to which memory address you are referring: the address in flash? in this case 0x60000000 should be correct.
the base address of the SDRAM on your board depends on the chip select used for RAM. information about the chip select you can most likely find in the user manual, otherwise consult the schematics of your board. i can't provide further help here as i don't know which board you are using.
Also, I did tried last night the following command and now board is
not
responding to anything, Is there any way to recover the board back either via software/jumper setting or JTAG. if JTAG I am not sure which one and how to go about it, if there any pointer
to
these. I really appreciate your help, in making newbies learn.
for recovery the easiest is re-flash redboot via the serial port. the ep93xx BSP provided by Cirrus Logic ( http://arm.cirrus.com/files/linux/releases/linux-2.4/cirrus-arm-linux-1.4.5.... ) contains a utility called 'download' for this purpose. you need to put a jumper in order to configure the processor for UART boot. this jumper is board specific, i am sure the manual of your board has instructions for this.
please don't forget to mention which board you are using, otherwise providing help is impossible
-- Matthias Kaehlcke Embedded Linux Developer Barcelona
We can't solve problems by using the same kind of thinking we used when we created them (Albert Einstein) .''`.
using free software / Debian GNU/Linux | http://debian.org : :' : `. `'` gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-

El Sun, Feb 21, 2010 at 10:22:34AM -0800 Vipul Jain ha dit:
I am Using Cirrus Logic EP9302-CQZ board.
i don't think so, EP9302-CQZ is a processor, not a board, please verify again
The memory address I was talking about was ram address to download u-Boot (as you mentioned earlier it can be 0x1000000) and then perform the actual flash update command by using flash address and RAM addr(0x1000000) from where to pick the image. I am not sure though what value to give to the u-boot size option flag.
0x40000 for size of u-boot is ok
i.e. say on redboot
fis write -f 0x60000000 -b 0x100000 -l 0x40000 Flash addr Ram addr Size <-- how to find size value How to find for a particular board.
so I was wondering if there is any general way to find out such u-boot
image download ram address and size .
if the base address of your SDRAM is 0x00000000 (like on the edb9302 board), than 0x100000 should be ok. otherwise you probably just wrote random values to the flash.
there is no general way for the ram address, it's board specific
Also, if you don't mind can you please guide me with steps to follow in-order to boot the board from UART and to flash the board with new image. Thanks a lot for your kind help.
i repeat, without knowing the board you are using (and find information online if it's not an edb9302 or edb9302a) is impossible.
participants (2)
-
Matthias Kaehlcke
-
Vipul Jain