From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Date: Tue, 13 May 2003 21:40:25 +0800 Subject: [U-Boot-Users] The problem on porting to similar FADS860 board References: <20030513081543.316F6C6092@atlas.denx.de> Message-ID: <001401c31955$37fdf290$904fa93d@john> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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" To: "John" Cc: 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 at denx.de | There are bugs and then there are bugs. And then there are bugs. | - Karl Lehenbauer |