[U-Boot-Users] How is the "ba 0xfff80000" located at 0xfffffffc ?

As in Embedded Planet EP405 board, ppc405GPr processor support high boot only, when Power On or reset, the processor starts at 0xfffffffc and the code is executed from flash/rom. There is usually a branch instruction(such as: ba target) in 0xfffffffc so that it can jump to the target. For example, if i set TEXT_BASE=0xfff80000 in u-boot,it means the instruction "ba 0xfff80000" is in 0xfffffffc. My questions are follow: 1 where can i find the branch instruction "ba 0xfff80000" in u-boot-1.1.3 code? it seems it is not in start.s 2 As we know, before u-boot is written to flash the first time, there is nothing in flash. when we write u-boot in flash from addr 0xfff80000, how is the branch instruction written to addr 0xfffffffc which is not neigbour to u-boot code body? Thank you and best wishes!

In message c002eb610512280133q562c8e91w@mail.gmail.com you wrote:
1 where can i find the branch instruction "ba 0xfff80000" in u-boot-1.1.3 code? it seems it is not in start.s
As Stefan Roese already pointed out you should NOT use old code (U-Boot 1.1.3) for any current work. Please use CURRENT code (top of tree in the git repository), or at least the latest released version (1.1.4).
For the code please see cpu/ppc4xx/resetvec.S
2 As we know, before u-boot is written to flash the first time, there is nothing in flash. when we write u-boot in flash from addr 0xfff80000, how is the branch instruction written to addr 0xfffffffc which is not neigbour to u-boot code body?
It is part of the U-Boot image. In your case, the binary image will be exactly 512 kB in size, i. e. cover the whole area from 0xFFF80000 to 0xFFFFFFFF.
Best regards,
Wolfgang Denk
participants (2)
-
Wolfgang Denk
-
腾飞龙