[U-Boot] problem with mpc837x start.S

shawn Bai programassem at hotmail.com
Fri Jul 29 14:42:40 CEST 2011



Sorry, guys,
I have no idea whether it makes you feel uncomfortable the way I ask questions.
If yes, I apologize.
But, I really don't understand the way uboot branch to nor flash, branch to ram.
I have read the source code in the 83xx/start.S file for many times,
and I have looked up the archives of uboot mailinglist in Dec. 2010.
I found that the way start.S is written is for position independent code.
I really know little with this kind of impelmentation.
Is there anyone who is willing to give some guidance, such as website?
Thanks a lot.
Best Regards,
Shawn

----------------------------------------
> From: programassem at hotmail.com
> To: u-boot at lists.denx.de
> Subject: problem with mpc837x start.S
> Date: Wed, 27 Jul 2011 06:21:13 +0000
>
>
> Hello, boys and girls, my name is shawn Bai. I am new here and hope not disturb you.
> Although I have not posted before, what you do is very helpful to me to understand what is bsp, how it runs, and so on.
> I don't know whether the question below is mentioned or not before.
> If yes, do you mind telling me where I can find the answer.
> Thanks in advance.
>
> The question is about arch\powerpc\cpu\83xx\start.S.
> the demo board I use is MPC837xERDB, there is 8MBytes Nor flash on it.
> by default, uboot is booted from lower address, it means BMS field in HRCW is 0, which will affect value of MSR[IP] later.
> First instruction locates at _start label in uboot.
> Before first instruction runs, hardware reset configuration word will be loaded to make some basic configuration.
> Before branching to MONITOR_BASE+in_flash using blr instruction, size of LCS0 is inflated to 4GBytes,
> and eLBC access window 1 is configured with BAR MONITOR_BASE, and SIZE 8MBytes.
> After this is done, blr to MONITOR_BASE+in_flash.
> after branching to MONITOR_BASE+in_flash, LCS0 BAR is modified to MONITOR_BASE, and its size is configured with 8Mbytes again.
> This is what I know.
> But the problem which is confused to me is
> after reset, the default value of LCS0 BAR is 0x0000_0000, and its size is 8Mbytes.
> In order to branch to MONITOR_BASE+in_flash, inlarge Nor flash to 4GB, and configure eLBC access window 1.
> But the actual size of Nor flash is 8MB , even after inlarging it, where (MONITOR_BASE+in_flash) points to? why?
> why does branching to in_flash need absolute address? and make absolute address like this?
> I rack my brains, but there is no result.
> Do you mind showing me a way?
> Thanks very much.
>
> Shawn Bai
>
> >
> > ------------------------------
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
> >
> >
> > **************************************

 		 	   		  


More information about the U-Boot mailing list