* [U-Boot-Users] CFG_MONITOR_BASE
@ 2008-07-22 18:41 Fundu
2008-07-22 22:44 ` [U-Boot-Users] u-boot.bin Fundu
2008-07-24 3:18 ` [U-Boot-Users] CFG_MONITOR_BASE Wolfgang Denk
0 siblings, 2 replies; 9+ messages in thread
From: Fundu @ 2008-07-22 18:41 UTC (permalink / raw)
To: u-boot
Is the CFG_MONITOR_BASE the location where the processor reads the first instruction after reset ? is that right ?
any clarification would be appreciated.
thanks !
^ permalink raw reply [flat|nested] 9+ messages in thread* [U-Boot-Users] u-boot.bin 2008-07-22 18:41 [U-Boot-Users] CFG_MONITOR_BASE Fundu @ 2008-07-22 22:44 ` Fundu 2008-07-22 23:03 ` Fundu 2008-07-24 3:18 ` [U-Boot-Users] CFG_MONITOR_BASE Wolfgang Denk 1 sibling, 1 reply; 9+ messages in thread From: Fundu @ 2008-07-22 22:44 UTC (permalink / raw) To: u-boot i'm working on taishan ppc440gx. now here's what i noticed. snippet of u-boot.bin opened with a hex editor. fffbffff : 27051956 552d426f 6f742031 2e322e30 '..VU-Boot 1.2.0 fffc000f : 20284a75 6c203232 20323030 38202d20 (Jul 22 2008 - fffc001f : 31343a31 363a3037 29000000 00000000 14:16:07)....... fffc002f : 00000000 00000000 00000000 00000000 ................ fffc003f : 00000000 00000000 00000000 00000000 ................ and my u-boot.map .text 0xfffc0000 0x2aa9c cpu/ppc4xx/start.o(.text) .text 0xfffc0000 0x2704 cpu/ppc4xx/start.o 0xfffc01bc _start_of_vectors 0xfffc0004 version_string 0xfffc2424 dcache_enable 0xfffc24dc relocate_code 0xfffc24b4 in32 0xfffc24ac in16r 0xfffc2474 in8 0xfffc24bc in32r 0xfffc2484 out16 0xfffc24a4 in16 0xfffc23ec icache_enable 0xfffc246c wr_tcr 0xfffc2100 transfer_to_handler 0xfffc24cc ppcDcbi 0xfffc0100 _start couple of question. 1) this line ".text 0xfffc0000 0x2aa9c" from u-boot.map which means .text starts at 0xfffc0000 and with length of 0x2aa9c. right ? then looking at the hex dump of u-boot.bin looks like there's some data right after first word (U-Boot 1.2.0...) what am i missing ? 2) when ppc440gx reset it has 0xfffffffc in its program counter, the instr at this location is a branch instr. right ? b) this branch should go to TEXT_BASE which is 0xfffc0000 in my case. and that location contains 0x05195655. which looks like a "rlwimix" instr. (rotate left word immediate then mask insert). does this look start of monitor ? Any insight on how the bootldr starts up would be appreciated too. thanks ! ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-22 22:44 ` [U-Boot-Users] u-boot.bin Fundu @ 2008-07-22 23:03 ` Fundu 2008-07-23 13:24 ` Jerry Van Baren 0 siblings, 1 reply; 9+ messages in thread From: Fundu @ 2008-07-22 23:03 UTC (permalink / raw) To: u-boot ok, looks like 0x27051956 is uboot magic number (from start.S) why is the CFG_MONITOR_BASE points to the magic number ? --- On Tue, 7/22/08, Fundu <fundu_1999@yahoo.com> wrote: > From: Fundu <fundu_1999@yahoo.com> > Subject: [U-Boot-Users] u-boot.bin > To: u-boot-users at lists.sourceforge.net > Date: Tuesday, July 22, 2008, 3:44 PM > i'm working on taishan ppc440gx. > > now here's what i noticed. snippet of u-boot.bin opened > with a hex editor. > > > fffbffff : 27051956 552d426f 6f742031 2e322e30 > '..VU-Boot 1.2.0 > fffc000f : 20284a75 6c203232 20323030 38202d20 (Jul 22 > 2008 - > fffc001f : 31343a31 363a3037 29000000 00000000 > 14:16:07)....... > fffc002f : 00000000 00000000 00000000 00000000 > ................ > fffc003f : 00000000 00000000 00000000 00000000 > ................ > > and my u-boot.map > > .text 0xfffc0000 0x2aa9c > cpu/ppc4xx/start.o(.text) > .text 0xfffc0000 0x2704 cpu/ppc4xx/start.o > 0xfffc01bc _start_of_vectors > 0xfffc0004 version_string > 0xfffc2424 dcache_enable > 0xfffc24dc relocate_code > 0xfffc24b4 in32 > 0xfffc24ac in16r > 0xfffc2474 in8 > 0xfffc24bc in32r > 0xfffc2484 out16 > 0xfffc24a4 in16 > 0xfffc23ec icache_enable > 0xfffc246c wr_tcr > 0xfffc2100 > transfer_to_handler > 0xfffc24cc ppcDcbi > 0xfffc0100 _start > > couple of question. > 1) this line ".text 0xfffc0000 > 0x2aa9c" from u-boot.map > which means .text starts at 0xfffc0000 and with length of > 0x2aa9c. right ? > > then looking at the hex dump of u-boot.bin looks like > there's some data right after first word (U-Boot > 1.2.0...) > what am i missing ? > > 2) when ppc440gx reset it has 0xfffffffc in its program > counter, the instr at this location is a branch instr. > right ? > b) this branch should go to TEXT_BASE which is 0xfffc0000 > in my case. > and that location contains 0x05195655. which looks like a > "rlwimix" instr. (rotate left word immediate then > mask insert). does this look start of monitor ? > > Any insight on how the bootldr starts up would be > appreciated too. > thanks ! > > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move > Developer's challenge > Build the coolest Linux based applications with Moblin SDK > & win great prizes > Grand prize is a trip for two to an Open Source event > anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > U-Boot-Users mailing list > U-Boot-Users at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/u-boot-users ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-22 23:03 ` Fundu @ 2008-07-23 13:24 ` Jerry Van Baren 2008-07-23 15:48 ` Fundu 0 siblings, 1 reply; 9+ messages in thread From: Jerry Van Baren @ 2008-07-23 13:24 UTC (permalink / raw) To: u-boot Fundu wrote: > ok, looks like 0x27051956 is uboot magic number (from start.S) > why is the CFG_MONITOR_BASE points to the magic number ? Because that is the definition. From the file README: - CFG_MONITOR_BASE: Physical start address of boot monitor code (set by make config files to be same as the text base address (TEXT_BASE) used when linking) - same as CFG_FLASH_BASE when booting from flash. > --- On Tue, 7/22/08, Fundu <fundu_1999@yahoo.com> wrote: > >> From: Fundu <fundu_1999@yahoo.com> >> Subject: [U-Boot-Users] u-boot.bin >> To: u-boot-users at lists.sourceforge.net >> Date: Tuesday, July 22, 2008, 3:44 PM >> i'm working on taishan ppc440gx. >> >> now here's what i noticed. snippet of u-boot.bin opened >> with a hex editor. >> >> >> fffbffff : 27051956 552d426f 6f742031 2e322e30 This is the start, it should be (and probably is) at fffc0000. Why does your dump start at fff*bffff* (one byte before where it should)? >> '..VU-Boot 1.2.0 >> fffc000f : 20284a75 6c203232 20323030 38202d20 (Jul 22 >> 2008 - >> fffc001f : 31343a31 363a3037 29000000 00000000 >> 14:16:07)....... >> fffc002f : 00000000 00000000 00000000 00000000 >> ................ >> fffc003f : 00000000 00000000 00000000 00000000 >> ................ >> >> and my u-boot.map >> >> .text 0xfffc0000 0x2aa9c >> cpu/ppc4xx/start.o(.text) >> .text 0xfffc0000 0x2704 cpu/ppc4xx/start.o Note the start address is fffc0000, not fffbffff. [snip] >> couple of question. >> 1) this line ".text 0xfffc0000 >> 0x2aa9c" from u-boot.map >> which means .text starts at 0xfffc0000 and with length of >> 0x2aa9c. right ? Yes. >> then looking at the hex dump of u-boot.bin looks like >> there's some data right after first word (U-Boot >> 1.2.0...) >> what am i missing ? The first word is the u-boot magic number, followed by the u-boot build information (text). >> 2) when ppc440gx reset it has 0xfffffffc in its program >> counter, the instr at this location is a branch instr. >> right ? Yes. See cpu/ppc4xx/start.S >> b) this branch should go to TEXT_BASE which is 0xfffc0000 >> in my case. No, it jumps to the start of some CPU initialization code in the last 4K page (when released from reset, only the last 4K page is mapped). That code maps the rest of memory and jumps to the traditional PPC startup code. 0xfffc0000 isn't involved. >> and that location contains 0x05195655. which looks like a >> "rlwimix" instr. (rotate left word immediate then >> mask insert). does this look start of monitor ? No, it looks like operator error. >> Any insight on how the bootldr starts up would be >> appreciated too. >> thanks ! HTH, gvb ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-23 13:24 ` Jerry Van Baren @ 2008-07-23 15:48 ` Fundu 2008-07-23 16:32 ` Jerry Van Baren 0 siblings, 1 reply; 9+ messages in thread From: Fundu @ 2008-07-23 15:48 UTC (permalink / raw) To: u-boot Thanks gvb! that definitely makes sense. i see the u-boot.elf file is a lot bigger than the u-boot.bin. why is that ? TIA ! --- On Wed, 7/23/08, Jerry Van Baren <gerald.vanbaren@GE.com> wrote: > From: Jerry Van Baren <gerald.vanbaren@GE.com> > Subject: Re: [U-Boot-Users] u-boot.bin > To: fundu_1999 at yahoo.com > Cc: u-boot-users at lists.sourceforge.net > Date: Wednesday, July 23, 2008, 6:24 AM > Fundu wrote: > > ok, looks like 0x27051956 is uboot magic number (from > start.S) > > why is the CFG_MONITOR_BASE points to the magic number > ? > > Because that is the definition. From the file README: > > - CFG_MONITOR_BASE: > Physical start address of boot monitor > code (set by > make config files to be same as the text > base address > (TEXT_BASE) used when linking) - same as > CFG_FLASH_BASE when booting from flash. > > > --- On Tue, 7/22/08, Fundu > <fundu_1999@yahoo.com> wrote: > > > >> From: Fundu <fundu_1999@yahoo.com> > >> Subject: [U-Boot-Users] u-boot.bin > >> To: u-boot-users at lists.sourceforge.net > >> Date: Tuesday, July 22, 2008, 3:44 PM > >> i'm working on taishan ppc440gx. > >> > >> now here's what i noticed. snippet of > u-boot.bin opened > >> with a hex editor. > >> > >> > >> fffbffff : 27051956 552d426f 6f742031 2e322e30 > > This is the start, it should be (and probably is) at > fffc0000. Why does > your dump start at fff*bffff* (one byte before where it > should)? > > >> '..VU-Boot 1.2.0 > >> fffc000f : 20284a75 6c203232 20323030 38202d20 > (Jul 22 > >> 2008 - > >> fffc001f : 31343a31 363a3037 29000000 00000000 > >> 14:16:07)....... > >> fffc002f : 00000000 00000000 00000000 00000000 > >> ................ > >> fffc003f : 00000000 00000000 00000000 00000000 > >> ................ > >> > >> and my u-boot.map > >> > >> .text 0xfffc0000 0x2aa9c > >> cpu/ppc4xx/start.o(.text) > >> .text 0xfffc0000 0x2704 > cpu/ppc4xx/start.o > > Note the start address is fffc0000, not fffbffff. > > [snip] > > >> couple of question. > >> 1) this line ".text 0xfffc0000 > >> 0x2aa9c" from u-boot.map > >> which means .text starts at 0xfffc0000 and with > length of > >> 0x2aa9c. right ? > > Yes. > > >> then looking at the hex dump of u-boot.bin looks > like > >> there's some data right after first word > (U-Boot > >> 1.2.0...) > >> what am i missing ? > > The first word is the u-boot magic number, followed by the > u-boot build > information (text). > > >> 2) when ppc440gx reset it has 0xfffffffc in its > program > >> counter, the instr at this location is a branch > instr. > >> right ? > > Yes. See cpu/ppc4xx/start.S > > >> b) this branch should go to TEXT_BASE which is > 0xfffc0000 > >> in my case. > > No, it jumps to the start of some CPU initialization code > in the last 4K > page (when released from reset, only the last 4K page is > mapped). That > code maps the rest of memory and jumps to the traditional > PPC startup > code. 0xfffc0000 isn't involved. > > >> and that location contains 0x05195655. which looks > like a > >> "rlwimix" instr. (rotate left word > immediate then > >> mask insert). does this look start of monitor ? > > No, it looks like operator error. > > >> Any insight on how the bootldr starts up would be > >> appreciated too. > >> thanks ! > > HTH, > gvb ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-23 15:48 ` Fundu @ 2008-07-23 16:32 ` Jerry Van Baren 2008-07-23 18:34 ` Fundu 0 siblings, 1 reply; 9+ messages in thread From: Jerry Van Baren @ 2008-07-23 16:32 UTC (permalink / raw) To: u-boot Fundu wrote: > Thanks gvb! > that definitely makes sense. > > i see the u-boot.elf file is a lot bigger than the u-boot.bin. why is that ? Hi Fundu, Please bottom post. Run "${CROSS_COMPILE}objdump -h u-boot" and you will see that there are lots of non-loaded segments (symbols, etc.) in there. Run "${CROSS_COMPILE}strip -s u-boot -o=u-boot.strip" and you will see that u-boot.strip is approximately the same size as u-boot.bin. NOTE: I would *NOT* recommend stripping the ELF file unless you have a real need to do so. gvb ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-23 16:32 ` Jerry Van Baren @ 2008-07-23 18:34 ` Fundu 2008-07-23 19:00 ` Jerry Van Baren 0 siblings, 1 reply; 9+ messages in thread From: Fundu @ 2008-07-23 18:34 UTC (permalink / raw) To: u-boot > Please bottom post. will do. > Run "${CROSS_COMPILE}strip -s u-boot > -o=u-boot.strip" and you will see > that u-boot.strip is approximately the same size as > u-boot.bin. NOTE: I > would *NOT* recommend stripping the ELF file unless you > have a real need to do so. that make it much clear thx. is the stripped out file of any use ? it won't work with gdb ? so then under what situation would you want to strip. TIA. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] u-boot.bin 2008-07-23 18:34 ` Fundu @ 2008-07-23 19:00 ` Jerry Van Baren 0 siblings, 0 replies; 9+ messages in thread From: Jerry Van Baren @ 2008-07-23 19:00 UTC (permalink / raw) To: u-boot Fundu wrote: >> Please bottom post. > will do. > >> Run "${CROSS_COMPILE}strip -s u-boot >> -o=u-boot.strip" and you will see >> that u-boot.strip is approximately the same size as >> u-boot.bin. NOTE: I >> would *NOT* recommend stripping the ELF file unless you >> have a real need to do so. > that make it much clear thx. is the stripped out file of any use ? it won't work with gdb ? so then under what situation would you want to strip. > > TIA. The two reasons I can think of for stripping elf files... 1) Make it smaller if you have to transport it on/over a size sensitive medium (floppy, modem). Maybe also to cram more on a limited size embedded file system. 2) Most proprietary packages strip their packages to try to prevent their "valuable intellectual property" from leaking out. (This has limited real value, but PHBs think it is a very valuable thing to do.) To reiterate, there is almost no reason to strip elf files. Best regards, gvb ^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot-Users] CFG_MONITOR_BASE 2008-07-22 18:41 [U-Boot-Users] CFG_MONITOR_BASE Fundu 2008-07-22 22:44 ` [U-Boot-Users] u-boot.bin Fundu @ 2008-07-24 3:18 ` Wolfgang Denk 1 sibling, 0 replies; 9+ messages in thread From: Wolfgang Denk @ 2008-07-24 3:18 UTC (permalink / raw) To: u-boot In message <420794.71173.qm@web63409.mail.re1.yahoo.com> you wrote: > Is the CFG_MONITOR_BASE the location where the processor reads the first instruction after reset ? is that right ? No. The processor starts the execution at the reset entry point. This may be 0x100 or 0xFFF00100 on some PowerPC processors or 0xFFFFFFFC on some others, or 0x00000000 on ARM, or ... CFG_MONITOR_BASE is the start address of the U-Boot image in flash. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de You go slow, be gentle. It's no one-way street -- you know how you feel and that's all. It's how the girl feels too. Don't press. If the girl feels anything for you at all, you'll know. -- Kirk, "Charlie X", stardate 1535.8 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-07-24 3:18 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-07-22 18:41 [U-Boot-Users] CFG_MONITOR_BASE Fundu 2008-07-22 22:44 ` [U-Boot-Users] u-boot.bin Fundu 2008-07-22 23:03 ` Fundu 2008-07-23 13:24 ` Jerry Van Baren 2008-07-23 15:48 ` Fundu 2008-07-23 16:32 ` Jerry Van Baren 2008-07-23 18:34 ` Fundu 2008-07-23 19:00 ` Jerry Van Baren 2008-07-24 3:18 ` [U-Boot-Users] CFG_MONITOR_BASE Wolfgang Denk
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox