
Thank you very much!
But, I built same codes in rominit.S based on Vxworks, the LED is lighting.( codes is following ) What's problem in u-boot? is it possible to change the IMMR address by me? Next, are there any introduction on the file of u-boot.lds or how to modify it according to customized board?
because it is my personal interest in u-boot, so I have no debuger as BDI on hand and only to debug the U-boot using lighting LEDs on board. Is there lower cost debuger to be ordered ?
Next, can anyone help give the used assemble codes to light LED? I'm not familiar with assemble.
any help are appreciated!
-------------------------------------------------------- located in /target/config/my860board/rominit.s _rominit: rominit:
lis r3, 0x220 /* my IMMR addr is 0x2200000 */ ori r3, r3, 0x0000 mtspr 638, r3 /*IMMR SPR is 638*/
bl testLed /* this is to light LEDs on board(PA0 - PA3)*/ -------------------------------------------------------------------------- located in /target/config/all/bootinit.c void testLed(void) { int i,k; for(k=0;k<5;k++) { * ( (volatile unsigned short *) (0x2200000 + 0x950) ) = 0xA000; /* light LED */ for (i=0; i<0xFFFF;i++) {;}; * ( (volatile unsigned short *) (0x2200000 + 0x950) ) = 0x0000; /* unlight LED */ for (i=0; i<0xFFFF;i++) {;}; }; };
----- Original Message ----- From: "Wolfgang Denk" wd@denx.de To: "John" john@gelake.com Cc: u-boot-users@lists.sourceforge.net Sent: Tuesday, May 13, 2003 4:15 PM Subject: Re: [U-Boot-Users] The problem on porting to similar FADS860 board
| Dear John, | | in message 001d01c31902$4c141780$844da93d@john you wrote: | > | > I've checked the archives, but have not found anyone using the 860 with my | > problem. | > | > I have a MPC860 board ported from FADS860 board. ( TEXT_BASE is also 0x2800000, | > but IMMR is 0x2200000). I have vxworks run OK on it. But when I am porting | | Don;t do thiis. There is good reason NOT to chose an IMMR address | below 0xF0000000 - at least if you intend to run Linux one day. | | > For Example as following: (ELDK1.0 + U-boot-0.3.0) | > -------------------------------------------------------- | > located in /cpu/mpc8xx/start.S | > .globl _start | > .extern testLed | > _start: | > lis r3, 0x220 /* my IMMR addr is 0x2200000 */ | > ori r3, r3, 0x0000 | > mtspr 638, r3 /*IMMR SPR is 638*/ | > | > bl testLed /* this is to light LEDs on board(PA0 - PA3)*/ | > ---------------------------------------------------------- | > located in /cpu/mpc8xx/cpu_init.c | > void testLed(void) | > { | > int i,k; | > for(k=0;k<5;k++) | > { | | This cannot work. You added your code much too early, where no stack | has been set up yet. | | My recommendation is not to change cpu/mpc8xx/start.S if you don't | know EXACTLY what you are doing. If you want to insert your own debug | code written in C, then you cannot do this before the comment reading | "let the C-code set up the rest" (but then you can alos include your | code in cpu_init_f(). | | | Also, you should get yourself a BDI2000 so you can debug your system. | | | Best regards, | | Wolfgang Denk | | -- | Software Engineering: Embedded and Realtime Systems, Embedded Linux | Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de | There are bugs and then there are bugs. And then there are bugs. | - Karl Lehenbauer |