* [U-Boot-Users] at91rm9200 lowlevel_init.S @ 2006-01-11 14:24 Zhukov 2006-01-11 15:47 ` Wolfgang Denk 0 siblings, 1 reply; 4+ messages in thread From: Zhukov @ 2006-01-11 14:24 UTC (permalink / raw) To: u-boot Hello, everybody. Does anybody know, what can be tuned in "lowlevel_init" procedure in lowlevel_init.S module for at91rm9200dk? This init suspends u-boot. I tried to play with delays (loops), but it won't work anyway. Regards Andrew Zhukov ^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot-Users] at91rm9200 lowlevel_init.S 2006-01-11 14:24 [U-Boot-Users] at91rm9200 lowlevel_init.S Zhukov @ 2006-01-11 15:47 ` Wolfgang Denk [not found] ` <12601906.20060112170843@tst.spb.su> 0 siblings, 1 reply; 4+ messages in thread From: Wolfgang Denk @ 2006-01-11 15:47 UTC (permalink / raw) To: u-boot In message <1136989480.17330.5.camel@localhost.localdomain> you wrote: > > Does anybody know, what can be tuned in "lowlevel_init" procedure in > lowlevel_init.S module for at91rm9200dk? This init suspends u-boot. I What exactly do you mean by "suspends u-boot" ? > tried to play with delays (loops), but it won't work anyway. ??? The code is supposed to work fine on the at91rm9200dk board. Are you really using such a board, or is this some custom hardware? Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Die meisten Menschen pflegen im Kindesalter vom Zeigen auf Gegenst?n- de (Mausbewegung) und "ga" sagen (Mausklick) abzukommen, zugunsten eines m?chtigeren und langwierig zu erlernenden Tools (Sprache). -- Achim Linder in de.comp.os.linux.misc ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <12601906.20060112170843@tst.spb.su>]
* Fwd: Re[2]: [U-Boot-Users] at91rm9200 lowlevel_init.S [not found] ` <12601906.20060112170843@tst.spb.su> @ 2006-01-12 15:42 ` Zhukov 2006-01-12 16:08 ` Wolfgang Denk 0 siblings, 1 reply; 4+ messages in thread From: Zhukov @ 2006-01-12 15:42 UTC (permalink / raw) To: u-boot >> Does anybody know, what can be tuned in "lowlevel_init" procedure in >> lowlevel_init.S module for at91rm9200dk? This init suspends u-boot. I WD> The code is supposed to work fine on the at91rm9200dk board. WD> Are you really using such a board, or is this some custom hardware? Yes, my board is customozed - the hardware engineer edited RomBoot because of some differences in SDRAM system. But... anyway, the lowlevel_init.S seems so strange, that some bug in its code is suspected. Would you explain the meaning of _MTEXT_BASE in fragments like this: ldr r0, =SMRDATA1 ldr r1, _MTEXT_BASE sub r0, r0, r1 add r2, r0, #176 2: /* the address */ ldr r1, [r0], #4 /* the value */ ldr r3, [r0], #4 str r3, [r1] cmp r2, r0 bne 2b I guess _MTEXT_BASE is a start of code, the location just after vectors. But what's the use of it here? Suspecting hardware problem, I skip everything after the first step of the procedure: /* Get the CKGR Base Address */ ldr r1, =AT91C_BASE_CKGR /* Main oscillator Enable register */ #ifdef CFG_USE_MAIN_OSCILLATOR ldr r0, =0x0000FF01 /* Enable main oscillator */ #else ldr r0, =0x0000FF00 /* Disable main oscillator */ #endif str r0, [r1, #CKGR_MOR] ... /* delay */ b exit This cut works fine, u-boot loads. Next, I tried to replace this with the following: ldr r0, =CKGRDATA ldr r1, _MTEXT_BASE sub r0, r0, r1 add r2, r0, #8 /* 8 bytes */ 3: /* the address */ ldr r1, [r0], #4 /* the value */ ldr r3, [r0], #4 str r3, [r1] cmp r2, r0 bne 3b ... /* delay */ ... CKGRDATA: .word AT91C_BASE_CKGR .word 0x0000FF01 /* 8 bytes long */ It FAILS! Obviously, u-boot crashes here. Something wrong in code... Best regards, ^ permalink raw reply [flat|nested] 4+ messages in thread
* Fwd: Re[2]: [U-Boot-Users] at91rm9200 lowlevel_init.S 2006-01-12 15:42 ` Fwd: Re[2]: " Zhukov @ 2006-01-12 16:08 ` Wolfgang Denk 0 siblings, 0 replies; 4+ messages in thread From: Wolfgang Denk @ 2006-01-12 16:08 UTC (permalink / raw) To: u-boot In message <368204843.20060112184206@tst.spb.su> you wrote: > > I guess _MTEXT_BASE is a start of code, the location just after vectors. Why are you guessing - why don't you read the code? _MTEXT_BASE: ... .word TEXT_BASE ... As you can see your guess was wrong. _MTEXT_BASE is a word of memory which holds the value TEXT_BASE. > But what's the use of it here? So that you can load it easily into a register? > It FAILS! Obviously, u-boot crashes here. Something wrong in code... What does "it crashes here" mean? Where exactly does it crash, and why? You single-step this code, don't you? Best regards, Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de But the only way of discovering the limits of the possible is to venture a little way past them into the impossible. - _Profiles of the Future_ (1962; rev. 1973) ``Hazards of Prophecy: The Failure of Imagination'' ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-01-12 16:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-11 14:24 [U-Boot-Users] at91rm9200 lowlevel_init.S Zhukov
2006-01-11 15:47 ` Wolfgang Denk
[not found] ` <12601906.20060112170843@tst.spb.su>
2006-01-12 15:42 ` Fwd: Re[2]: " Zhukov
2006-01-12 16:08 ` Wolfgang Denk
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox