From: Aneesh V <aneesh@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Working on u-boot on panda board.
Date: Thu, 17 Mar 2011 19:30:50 +0530 [thread overview]
Message-ID: <4D821412.30909@ti.com> (raw)
In-Reply-To: <4D82104C.4030803@xenomai.org>
On Thursday 17 March 2011 07:14 PM, Gilles Chanteperdrix wrote:
> Aneesh V wrote:
>> Hi Gilles,
>>
>> On Thursday 17 March 2011 06:13 PM, Gilles Chanteperdrix wrote:
>>> Hi,
>>>
>>> I would like to make some changes to u-boot on pandaboard. Sometimes in
>>> the past, in u-boot, I could "loadb" a new u-boot binary, then "go" to
>>> it, and the new version of u-boot would start. This was far from
>>> perfect, but it made testing small changes possible. This also works
>>> with the version of u-boot provided on the pandaboard community site.
>>>
>>> The magic which made this possible was in the "start.S" file, I see that
>>> the code changed, but there still seems to be a relocation (somewhat
>>> more complicated, since it handles ELF relocations), so it seems it
>>> should work.
>>>
>>> So my question is: is this "loadb+go" method still supposed to be
>>> working, and only broken, somehow, on pandaboard? Or is it no longer
>>> supposed to be working?
>>
>> Couple of things you might want to consider.
>> * According to the new relocation scheme u-boot should start running
>> from the address that it is linked to. You must load it to
>> CONFIG_SYS_TEXT_BASE
>
> You mean the address where u-boot is currently loaded? But that will not
> work, right? I mean, it would override the current u-boot while it is
> currently running.
>
> I do not really understand this answer, what does it mean? The
> relocation code does not work if the address it is starting from is not
> CONFIG_SYS_TEXT_BASE? What if I reinsert the memcpy in start.S which
> copies to CONFIG_SYS_TEXT_BASE?
Here is my understanding:
Eearlier the memcpy was done very early in start.S(before board_init_f)
and everything until that point was position independent. Copy was done
*to* CONFIG_SYS_TEXT_BASE
Now, this memcpy has been removed and we assume that we start from
CONFIG_SYS_TEXT_BASE. After board_init_f we copy the image *from*
CONFIG_SYS_TEXT_BASE to the end of available memory and do ELF
relocation. board_init_f will crash unless you are running from
CONFIG_SYS_TEXT_BASE
Since U-Boot is relocated to the end of available memory you will not
likely over-write existing U-Boot if you copy to CONFIG_SYS_TEXT_BASE,
certainly not on Panda with 1GB memory.
Re-inserting the memcpy may not be necessary I believe.
>
>> * Data cache enabled in U-Boot could be a problem. You will end up
>> having cache coherency issues unless you flush the caches after loadb.
>> Better keep them disabled using CONFIG_SYS_NO_DCACHE
>
> Ok, that is not really an issue for development.
>
next prev parent reply other threads:[~2011-03-17 14:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-17 12:43 [U-Boot] Working on u-boot on panda board Gilles Chanteperdrix
2011-03-17 13:34 ` Aneesh V
2011-03-17 13:44 ` Gilles Chanteperdrix
2011-03-17 14:00 ` Aneesh V [this message]
2011-03-17 20:56 ` Gilles Chanteperdrix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D821412.30909@ti.com \
--to=aneesh@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.