public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] PowerPC Redboot porting problems
@ 2007-06-20 21:46 Tales Toledo
  2007-06-21  3:48 ` Gary Thomas
  0 siblings, 1 reply; 5+ messages in thread
From: Tales Toledo @ 2007-06-20 21:46 UTC (permalink / raw)
  To: ecos-discuss

Hi,

I'm facing some problems trying to port redboot to MPC885...
I have tried to follow the steps suggested at porting guide. I'm using only
RAM as a first step but unfortunately I can get success. I'm using
Viper files as reference.

I'm using gdb with mpcbdm and get always the same exception when
running it from RAM.

------------------------------------------------------------
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=powerpc-linux".
MPCBDM version 1.2.2 / 2001/06/14
got access rights for printer port 0 addr 0x378..0x37A
disabled power at port 0
Power: turned on powering from port 0
adapter version 2 initialized
Waiting freeze:
Target freeze:
*** init
Target cpu PVR=0x00500000 PARTNUM=0x09 MASKNUM=0x00 REV_NUM=0x0000
warning: unknown CPU. Using default register description
BDM initialized
0x100 in ?? ()
(gdb) mpcbdm mem load "/home/toledo/redboot.bin" 0
 len = 0x000250c0, total file length
(gdb) j *0x100
Continuing at 0x100.
*** run
*** Resume
*** wait freeze
Waiting freeze:
Target freeze:

Program received signal SIGINT, Interrupt.
CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
SPR 2:Condition Register, UM140
CR = 0x2042488d =
(CR0=0x2|CR1=0x0|CR2=0x4|CR3=0x2|CR4=0x4|CR5=0x8|CR6=0x8|CR7=0xd)
ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
SPR 148:Interrupt Cause Register, UM994
ICR = 0x00004000 = (SEI)
0x42004 in ?? ()
(gdb)
------------------------------------------------------------

Here are the RAM memory map files used.

------------------------------------------------------------
// eCos memory layout - Thu May 30 10:27:39 2002

// This is a generated file - do not edit

#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>

#endif
#define CYGMEM_REGION_ram (0)
#define CYGMEM_REGION_ram_SIZE (0x2000000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__reserved_vectors) [];
#endif
#define CYGMEM_SECTION_reserved_vectors (CYG_LABEL_NAME (__reserved_vectors))
#define CYGMEM_SECTION_reserved_vectors_SIZE (0x3000)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__reserved_vsr_table) [];
#endif
#define CYGMEM_SECTION_reserved_vsr_table (CYG_LABEL_NAME
(__reserved_vsr_table))
#define CYGMEM_SECTION_reserved_vsr_table_SIZE (0x200)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__reserved_virtual_table) [];
#endif
#define CYGMEM_SECTION_reserved_virtual_table (CYG_LABEL_NAME
(__reserved_virtual_table))
#define CYGMEM_SECTION_reserved_virtual_table_SIZE (0x100)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__reserved_for_rom) [];
#endif
#define CYGMEM_SECTION_reserved_for_rom (CYG_LABEL_NAME (__reserved_for_rom))
#define CYGMEM_SECTION_reserved_for_rom_SIZE (0x3cd00)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram_SIZE - (size_t)
CYG_LABEL_NAME (__heap1))
------------------------------------------------------------

------------------------------------------------------------
// eCos memory layout - Thu May 30 10:27:39 2002

// This is a generated file - do not edit

#include <cyg/infra/cyg_type.inc>

MEMORY
{
   ram : ORIGIN = 0, LENGTH = 0x2000000
}

SECTIONS
{
   SECTIONS_BEGIN
   CYG_LABEL_DEFN(__reserved_vectors) = 0; . =
CYG_LABEL_DEFN(__reserved_vectors) + 0x3000;
   CYG_LABEL_DEFN(__reserved_vsr_table) = ALIGN (0x10); . =
CYG_LABEL_DEFN(__reserved_vsr_table) + 0x200;
   CYG_LABEL_DEFN(__reserved_virtual_table) = ALIGN (0x10); . =
CYG_LABEL_DEFN(__reserved_virtual_table) + 0x100;
   CYG_LABEL_DEFN(__reserved_for_rom) = ALIGN (0x10); . =
CYG_LABEL_DEFN(__reserved_for_rom) + 0x3cd00;
   SECTION_vectors (ram, ALIGN (0x10), LMA_EQ_VMA)
   SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_rodata1 (ram, ALIGN (0x8), LMA_EQ_VMA)
   SECTION_rodata (ram, ALIGN (0x8), LMA_EQ_VMA)
   SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
   SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
   SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
   SECTION_bss (ram, ALIGN (0x10), LMA_EQ_VMA)
   CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
   SECTIONS_END
}
------------------------------------------------------------

Here is also a disassembled excerpt redboot.sym file from
(powerpc-eabi-objdump -D powerpc:MPC8XX redboot.elf > redboot.sym)

------------------------------------------------------------
Disassembly of section .text:

00042000 <_start>:
  42000:       3c 60 00 00     lis     r3,0
  42004:       60 63 00 07     ori     r3,r3,7
  42008:       7c 7e 23 a6     mtictrl r3
  4200c:       38 60 00 00     li      r3,0
  42010:       7c 75 23 a6     mtder   r3
  42014:       3c 60 04 00     lis     r3,1024
  42018:       60 63 00 00     ori     r3,r3,0
  4201c:       7c 00 04 ac     sync
  42020:       7c 78 8b a6     mtspr   568,r3
  42024:       3c 60 04 00     lis     r3,1024
  42028:       60 63 00 00     ori     r3,r3,0
  4202c:       4c 00 01 2c     isync
  42030:       7c 70 8b a6     mtspr   560,r3
  42034:       4c 00 01 2c     isync
  42038:       7c 70 c2 a6     mfmi_ctr        r3
  4203c:       64 63 20 00     oris    r3,r3,8192
  42040:       7c 70 c3 a6     mtspr   784,r3
  42044:       7c 78 c2 a6     mfmd_ctr        r3
  42048:       64 63 20 00     oris    r3,r3,8192
  4204c:       7c 78 c3 a6     mtspr   792,r3
  42050:       3c 60 00 00     lis     r3,0
  42054:       60 63 10 02     ori     r3,r3,4098
  42058:       7c 00 04 ac     sync
  4205c:       7c 60 01 24     mtmsr   r3
  42060:       7c 00 04 ac     sync
  42064:       3c 40 00 06     lis     r2,6
  42068:       60 42 d0 40     ori     r2,r2,53312
  4206c:       7c 63 1a 78     xor     r3,r3,r3
  42070:       7c 7c 43 a6     mttbl   r3
  42074:       7c 84 22 78     xor     r4,r4,r4
  42078:       7c 9d 43 a6     mttbu   r4
  4207c:       48 00 95 f1     bl      4b66c <hal_hardware_init>

00042080 <_hal_hardware_init_done>:
  42080:       3c 60 00 03     lis     r3,3
  42084:       60 63 ff fc     ori     r3,r3,65532
  42088:       3c 80 ff ff     lis     r4,-1
  4208c:       60 84 ff fc     ori     r4,r4,65532
  42090:       3c a0 00 04     lis     r5,4
  42094:       60 a5 1f 30     ori     r5,r5,7984
  42098:       84 03 00 04     lwzu    r0,4(r3)
  4209c:       94 04 00 04     stwu    r0,4(r4)
  420a0:       7c 03 28 40     cmplw   r3,r5
  420a4:       40 82 ff f4     bne+    42098 <_hal_hardware_init_done+0x18>
  420a8:       3c 20 00 06     lis     r1,6
  420ac:       60 21 62 40     ori     r1,r1,25152
  420b0:       7c 30 43 a6     mtsprg  0,r1
  420b4:       3c 60 00 04     lis     r3,4
  420b8:       60 63 00 00     ori     r3,r3,0
  420bc:       3c 80 00 00     lis     r4,0
  420c0:       60 84 00 00     ori     r4,r4,0
  420c4:       3c a0 00 04     lis     r5,4
  420c8:       60 a5 1f 34     ori     r5,r5,7988
  420cc:       7c 03 28 40     cmplw   r3,r5
  420d0:       41 82 00 20     beq-    420f0 <_hal_hardware_init_done+0x70>
  420d4:       38 63 ff fc     addi    r3,r3,-4
  420d8:       38 84 ff fc     addi    r4,r4,-4
  420dc:       38 a5 ff fc     addi    r5,r5,-4
  420e0:       84 03 00 04     lwzu    r0,4(r3)
  420e4:       94 04 00 04     stwu    r0,4(r4)
  420e8:       7c 03 28 40     cmplw   r3,r5
  420ec:       41 80 ff f4     blt+    420e0 <_hal_hardware_init_done+0x60>
  420f0:       3c 60 00 04     lis     r3,4
  420f4:       60 63 21 d4     ori     r3,r3,8660
  420f8:       3c 80 00 00     lis     r4,0
  420fc:       60 84 30 00     ori     r4,r4,12288
  42100:       38 84 ff fc     addi    r4,r4,-4
  42104:       38 a0 00 20     li      r5,32
  42108:       94 64 00 04     stwu    r3,4(r4)
  4210c:       38 a5 ff ff     addi    r5,r5,-1
  42110:       2c 05 00 00     cmpwi   r5,0
  42114:       40 82 ff f4     bne+    42108 <_hal_hardware_init_done+0x88>
  42118:       3c 60 00 04     lis     r3,4
  4211c:       60 63 22 dc     ori     r3,r3,8924
  42120:       3c 80 00 00     lis     r4,0
  42124:       60 84 30 00     ori     r4,r4,12288
  42128:       90 64 00 14     stw     r3,20(r4)
  4212c:       90 64 00 24     stw     r3,36(r4)
  42130:       3c 60 00 06     lis     r3,6
  42134:       60 63 52 40     ori     r3,r3,21056
  42138:       3c 80 00 07     lis     r4,7
  4213c:       60 84 bb f0     ori     r4,r4,48112
  42140:       38 00 00 00     li      r0,0
  42144:       7c 03 20 40     cmplw   r3,r4
  42148:       41 82 00 14     beq-    4215c <_hal_hardware_init_done+0xdc>
  4214c:       90 03 00 00     stw     r0,0(r3)
  42150:       38 63 00 04     addi    r3,r3,4
  42154:       7c 03 20 40     cmplw   r3,r4
  42158:       41 80 ff f4     blt+    4214c <_hal_hardware_init_done+0xcc>
  4215c:       3c 60 00 06     lis     r3,6
  42160:       60 63 50 c0     ori     r3,r3,20672
  42164:       3c 80 00 06     lis     r4,6
  42168:       60 84 52 38     ori     r4,r4,21048
  4216c:       7c 03 20 40     cmplw   r3,r4
  42170:       41 82 00 14     beq-    42184 <_hal_hardware_init_done+0x104>
  42174:       90 03 00 00     stw     r0,0(r3)
  42178:       38 63 00 04     addi    r3,r3,4
  4217c:       7c 03 20 40     cmplw   r3,r4
  42180:       41 80 ff f4     blt+    42174 <_hal_hardware_init_done+0xf4>
  42184:       38 21 ff f4     addi    r1,r1,-12
  42188:       38 00 00 00     li      r0,0
  4218c:       90 01 00 00     stw     r0,0(r1)
  42190:       90 01 00 08     stw     r0,8(r1)
  42194:       94 21 ff c8     stwu    r1,-56(r1)
  42198:       48 00 93 15     bl      4b4ac <hal_variant_init>
  4219c:       48 00 94 91     bl      4b62c <hal_platform_init>
  421a0:       48 00 90 09     bl      4b1a8 <hal_MMU_init>
  421a4:       3c 60 00 00     lis     r3,0
  421a8:       60 63 10 32     ori     r3,r3,4146
  421ac:       7c 00 04 ac     sync
  421b0:       7c 60 01 24     mtmsr   r3
  421b4:       7c 00 04 ac     sync
  421b8:       48 00 90 79     bl      4b230 <hal_enable_caches>
  421bc:       48 00 90 b1     bl      4b26c <hal_IRQ_init>
  421c0:       48 00 8f 21     bl      4b0e0 <cyg_hal_invoke_constructors>
  421c4:       48 00 af e5     bl      4d1a8 <initialize_stub>
  421c8:       48 00 c7 79     bl      4e940 <hal_ctrlc_isr_init>
  421cc:       48 00 e0 65     bl      50230 <cyg_start>
  421d0:       48 00 00 00     b       4
------------------------------------------------------------
- Hide quoted text -

If necessary I can also attach 885board.S for reference.

I appreciate any help.

Thx,
TT

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] PowerPC Redboot porting problems
  2007-06-20 21:46 [ECOS] PowerPC Redboot porting problems Tales Toledo
@ 2007-06-21  3:48 ` Gary Thomas
  2007-06-21 11:44   ` Tales Toledo
  0 siblings, 1 reply; 5+ messages in thread
From: Gary Thomas @ 2007-06-21  3:48 UTC (permalink / raw)
  To: Tales Toledo; +Cc: ecos-discuss

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tales Toledo wrote:
> Hi,
> 
> I'm facing some problems trying to port redboot to MPC885...
> I have tried to follow the steps suggested at porting guide. I'm using only
> RAM as a first step but unfortunately I can get success. I'm using
> Viper files as reference.
> 
> I'm using gdb with mpcbdm and get always the same exception when
> running it from RAM.

Look carefully - this is failing on the first instruction you downloaded,
so it most certainly has nothing to do with porting eCos.
  * Have you verified the code that was downloaded correctly?
  * Have you successfully executed any code on this platform using these tools?

- --
- ------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
- ------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGeY4YmaKbSsQGV8ARAirMAJ9xEKtFrDXYOh5jB59disiPExgbUgCgjT0j
xmJBNpW1xfQruVljpMs/JrY=
=/UuG
-----END PGP SIGNATURE-----

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] PowerPC Redboot porting problems
  2007-06-21  3:48 ` Gary Thomas
@ 2007-06-21 11:44   ` Tales Toledo
  2007-06-24  9:15     ` Tales Toledo
  0 siblings, 1 reply; 5+ messages in thread
From: Tales Toledo @ 2007-06-21 11:44 UTC (permalink / raw)
  To: Gary Thomas; +Cc: ecos-discuss

Hi,

I see some progress now.
I was downloading .bin file to 0x0 (the same procedure I was using
before when I tried to download code to RAM an programming to flash).
I decide to move from .bin to .elf and voilá...

Now I have a new  message

--------------------------------------------------------------
Program received signal SIGINT, Interrupt.
CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
SPR 2:Condition Register, UM140
CR = 0x2042488d =
(CR0=0x2|CR1=0x0|CR2=0x4|CR3=0x2|CR4=0x4|CR5=0x8|CR6=0x8|CR7=0xd)
ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
SPR 148:Interrupt Cause Register, UM994
ICR = 0x00004000 = (SEI)
0x4b6c0 in hal_hardware_init ()
---------------------------------------------------------------

looking at disassembled file

---------------------------------------------------------------
4b6b8:	90 64 01 74 	stw	r3,372(r4)
   4b6bc:	3c 60 40 00 	lis	r3,16384
   4b6c0:	60 63 08 01 	ori	r3,r3,2049
   4b6c4:	3c a0 ff 80 	lis	r5,-128
   4b6c8:	60 a5 07 74 	ori	r5,r5,1908
   4b6cc:	90 64 01 00 	stw	r3,256(r4)
   4b6d0:	90 a4 01 04 	stw	r5,260(r4)
   4b6d4:	3c 60 00 00 	lis	r3,0
   4b6d8:	60 63 00 81 	ori	r3,r3,129
   4b6dc:	3c a0 ff 80 	lis	r5,-128
   4b6e0:	60 a5 0e 00 	ori	r5,r5,3584
   4b6e4:	90 64 01 08 	stw	r3,264(r4)
   4b6e8:	90 a4 01 0c 	stw	r5,268(r4)
---------------------------------------------------------------

seems that the exception occurs when I'm programming BR0/OR0

-------------------------------------------
	/*
	 * Base Register initialization.
	 */

       	/* BOOT ROM */
        lwi	r3,0x40000801	# 16-bit, GPCM
        lwi	r5,0xFF800774   # 7 wait states, up to 8MB
        stw	r3,BR0(r4)
        stw	r5,OR0(r4)

	/* ONBOARD SDRAM */
        lwi	r3,0x00000081	# 32-bit, UPMA
        lwi	r5,0xFF800E00
        stw	r3,BR1(r4)
        stw	r5,OR1(r4)
-----------------------------------------------

I didn't see the problem yet. Any idea.

Thanks,
TT.


On 6/20/07, Gary Thomas <gary@mlbassoc.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Tales Toledo wrote:
> > Hi,
> >
> > I'm facing some problems trying to port redboot to MPC885...
> > I have tried to follow the steps suggested at porting guide. I'm using only
> > RAM as a first step but unfortunately I can get success. I'm using
> > Viper files as reference.
> >
> > I'm using gdb with mpcbdm and get always the same exception when
> > running it from RAM.
>
> Look carefully - this is failing on the first instruction you downloaded,
> so it most certainly has nothing to do with porting eCos.
>   * Have you verified the code that was downloaded correctly?
>   * Have you successfully executed any code on this platform using these tools?
>
> - --
> - ------------------------------------------------------------
> Gary Thomas                 |  Consulting for the
> MLB Associates              |    Embedded world
> - ------------------------------------------------------------
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
>
> iD8DBQFGeY4YmaKbSsQGV8ARAirMAJ9xEKtFrDXYOh5jB59disiPExgbUgCgjT0j
> xmJBNpW1xfQruVljpMs/JrY=
> =/UuG
> -----END PGP SIGNATURE-----
>

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] PowerPC Redboot porting problems
  2007-06-21 11:44   ` Tales Toledo
@ 2007-06-24  9:15     ` Tales Toledo
  2007-06-27 21:21       ` Tales Toledo
  0 siblings, 1 reply; 5+ messages in thread
From: Tales Toledo @ 2007-06-24  9:15 UTC (permalink / raw)
  To: Gary Thomas; +Cc: ecos-discuss

Hi,

Regarding your questions about the code it seems to be download
correctly since hexdump from bin file is the same as
powerpc-eabi-objdump from elf except for the 0x40000 offset present in
elf file (no problem since this bin should be generated just for ROM).

Regarding the tools, they are used to download other images/projects
(u-boot) and program FLASH.

For this project I would like to test and use redboot and that is the
reason why I am boring you an all people with this.

Right now I'm using gdb 5.0 with mpcbdm 1.2.2 (Unfortunately I don't
have a BDI2000 ;-(.) to load redboot.elf to SDRAM.
$ powerpc-linux-gdb -x board.gdbinit redboot.elf
(gdb) load
Loading section .vectors, size 0x2000 lma 0x40000
Loading section .text, size 0x1c568 lma 0x42000
Loading section .rodata, size 0x59b4 lma 0x5e568
Loading section .data, size 0x11a0 lma 0x63f20
Start address 0x40100 , load size 151740
Transfer rate: 134880 bits/sec, 510 bytes/write.

To run it I a make
(gdb) j *0x40100

but as I said before I always got a SIGINT interrupt

Program received signal SIGINT, Interrupt.
CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
SPR 2:Condition Register, UM140
CR = 0x2002608d =
(CR0=0x2|CR1=0x0|CR2=0x0|CR3=0x2|CR4=0x6|CR5=0x0|CR6=0x8|CR7=0xd)
ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
SPR 148:Interrupt Cause Register, UM994
ICR = 0x00004000 = (SEI)
0x4b6c0 in ?? ()
(gdb)

looking at objdump and .S files is in the right moment when I tried to
program BR0/CS0

------------------------------ objdump file
4b6b4:	90 64 01 70 	stw	r3,368(r4)
   4b6b8:	90 64 01 74 	stw	r3,372(r4)
   4b6bc:	3c 60 40 00 	lis	r3,16384
   4b6c0:	60 63 08 01 	ori	r3,r3,2049
   4b6c4:	3c a0 ff 80 	lis	r5,-128
   4b6c8:	60 a5 07 74 	ori	r5,r5,1908
   4b6cc:	90 64 01 00 	stw	r3,256(r4)
   4b6d0:	90 a4 01 04 	stw	r5,260(r4)
   4b6d4:	3c 60 00 00 	lis	r3,0
-------------------------------

------------------------------- .S file
lwi     r3,0x00802114|(MAMR_PTA<<24)
        stw	r3,MAMR(r4)
        stw	r3,MBMR(r4)

	/*
	 * Base Register initialization.
	 */

       	/* BOOT ROM */
        lwi	r3,0x40000801	# 16-bit, GPCM
        lwi	r5,0xFF800774   # 7 wait states, up to 8MB
        stw	r3,BR0(r4)
        stw	r5,OR0(r4)

	/* ONBOARD SDRAM */
        lwi	r3,0x00000081	# 32-bit, UPMA
        lwi	r5,0xFF800E00
        stw	r3,BR1(r4)
        stw	r5,OR1(r4)
-------------------------------

Why does it happen? Do you have an idea?

Thx again,
TT.

On 6/20/07, Tales Toledo <toledo.tales@gmail.com> wrote:
> Hi,
>
> I see some progress now.
> I was downloading .bin file to 0x0 (the same procedure I was using
> before when I tried to download code to RAM an programming to flash).
> I decide to move from .bin to .elf and voilá...
>
> Now I have a new  message
>
> --------------------------------------------------------------
> Program received signal SIGINT, Interrupt.
> CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
> SPR 2:Condition Register, UM140
> CR = 0x2042488d =
> (CR0=0x2|CR1=0x0|CR2=0x4|CR3=0x2|CR4=0x4|CR5=0x8|CR6=0x8|CR7=0xd)
> ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
> SPR 148:Interrupt Cause Register, UM994
> ICR = 0x00004000 = (SEI)
> 0x4b6c0 in hal_hardware_init ()
> ---------------------------------------------------------------
>
> looking at disassembled file
>
> ---------------------------------------------------------------
> 4b6b8:  90 64 01 74     stw     r3,372(r4)
>    4b6bc:       3c 60 40 00     lis     r3,16384
>    4b6c0:       60 63 08 01     ori     r3,r3,2049
>    4b6c4:       3c a0 ff 80     lis     r5,-128
>    4b6c8:       60 a5 07 74     ori     r5,r5,1908
>    4b6cc:       90 64 01 00     stw     r3,256(r4)
>    4b6d0:       90 a4 01 04     stw     r5,260(r4)
>    4b6d4:       3c 60 00 00     lis     r3,0
>    4b6d8:       60 63 00 81     ori     r3,r3,129
>    4b6dc:       3c a0 ff 80     lis     r5,-128
>    4b6e0:       60 a5 0e 00     ori     r5,r5,3584
>    4b6e4:       90 64 01 08     stw     r3,264(r4)
>    4b6e8:       90 a4 01 0c     stw     r5,268(r4)
> ---------------------------------------------------------------
>
> seems that the exception occurs when I'm programming BR0/OR0
>
> -------------------------------------------
>         /*
>          * Base Register initialization.
>          */
>
>         /* BOOT ROM */
>         lwi     r3,0x40000801   # 16-bit, GPCM
>         lwi     r5,0xFF800774   # 7 wait states, up to 8MB
>         stw     r3,BR0(r4)
>         stw     r5,OR0(r4)
>
>         /* ONBOARD SDRAM */
>         lwi     r3,0x00000081   # 32-bit, UPMA
>         lwi     r5,0xFF800E00
>         stw     r3,BR1(r4)
>         stw     r5,OR1(r4)
> -----------------------------------------------
>
> I didn't see the problem yet. Any idea.
>
> Thanks,
> TT.
>
>
> On 6/20/07, Gary Thomas <gary@mlbassoc.com> wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Tales Toledo wrote:
> > > Hi,
> > >
> > > I'm facing some problems trying to port redboot to MPC885...
> > > I have tried to follow the steps suggested at porting guide. I'm using only
> > > RAM as a first step but unfortunately I can get success. I'm using
> > > Viper files as reference.
> > >
> > > I'm using gdb with mpcbdm and get always the same exception when
> > > running it from RAM.
> >
> > Look carefully - this is failing on the first instruction you downloaded,
> > so it most certainly has nothing to do with porting eCos.
> >   * Have you verified the code that was downloaded correctly?
> >   * Have you successfully executed any code on this platform using these tools?
> >
> > - --
> > - ------------------------------------------------------------
> > Gary Thomas                 |  Consulting for the
> > MLB Associates              |    Embedded world
> > - ------------------------------------------------------------
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.7 (GNU/Linux)
> > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
> >
> > iD8DBQFGeY4YmaKbSsQGV8ARAirMAJ9xEKtFrDXYOh5jB59disiPExgbUgCgjT0j
> > xmJBNpW1xfQruVljpMs/JrY=
> > =/UuG
> > -----END PGP SIGNATURE-----
> >
>

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] PowerPC Redboot porting problems
  2007-06-24  9:15     ` Tales Toledo
@ 2007-06-27 21:21       ` Tales Toledo
  0 siblings, 0 replies; 5+ messages in thread
From: Tales Toledo @ 2007-06-27 21:21 UTC (permalink / raw)
  To: Gary Thomas; +Cc: ecos-discuss

Hi Gary

you were right.
Seems that debug cable gdbinit file and eCos .S were in conflict.
The board misconfiguration cause errors that was hard to find due
debug tools lack at this case.

Thx,
TT

On 6/21/07, Tales Toledo <toledo.tales@gmail.com> wrote:
> Hi,
>
> Regarding your questions about the code it seems to be download
> correctly since hexdump from bin file is the same as
> powerpc-eabi-objdump from elf except for the 0x40000 offset present in
> elf file (no problem since this bin should be generated just for ROM).
>
> Regarding the tools, they are used to download other images/projects
> (u-boot) and program FLASH.
>
> For this project I would like to test and use redboot and that is the
> reason why I am boring you an all people with this.
>
> Right now I'm using gdb 5.0 with mpcbdm 1.2.2 (Unfortunately I don't
> have a BDI2000 ;-(.) to load redboot.elf to SDRAM.
> $ powerpc-linux-gdb -x board.gdbinit redboot.elf
> (gdb) load
> Loading section .vectors, size 0x2000 lma 0x40000
> Loading section .text, size 0x1c568 lma 0x42000
> Loading section .rodata, size 0x59b4 lma 0x5e568
> Loading section .data, size 0x11a0 lma 0x63f20
> Start address 0x40100 , load size 151740
> Transfer rate: 134880 bits/sec, 510 bytes/write.
>
> To run it I a make
> (gdb) j *0x40100
>
> but as I said before I always got a SIGINT interrupt
>
> Program received signal SIGINT, Interrupt.
> CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
> SPR 2:Condition Register, UM140
> CR = 0x2002608d =
> (CR0=0x2|CR1=0x0|CR2=0x0|CR3=0x2|CR4=0x6|CR5=0x0|CR6=0x8|CR7=0xd)
> ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
> SPR 148:Interrupt Cause Register, UM994
> ICR = 0x00004000 = (SEI)
> 0x4b6c0 in ?? ()
> (gdb)
>
> looking at objdump and .S files is in the right moment when I tried to
> program BR0/CS0
>
> ------------------------------ objdump file
> 4b6b4:  90 64 01 70     stw     r3,368(r4)
>    4b6b8:       90 64 01 74     stw     r3,372(r4)
>    4b6bc:       3c 60 40 00     lis     r3,16384
>    4b6c0:       60 63 08 01     ori     r3,r3,2049
>    4b6c4:       3c a0 ff 80     lis     r5,-128
>    4b6c8:       60 a5 07 74     ori     r5,r5,1908
>    4b6cc:       90 64 01 00     stw     r3,256(r4)
>    4b6d0:       90 a4 01 04     stw     r5,260(r4)
>    4b6d4:       3c 60 00 00     lis     r3,0
> -------------------------------
>
> ------------------------------- .S file
> lwi     r3,0x00802114|(MAMR_PTA<<24)
>         stw     r3,MAMR(r4)
>         stw     r3,MBMR(r4)
>
>         /*
>          * Base Register initialization.
>          */
>
>         /* BOOT ROM */
>         lwi     r3,0x40000801   # 16-bit, GPCM
>         lwi     r5,0xFF800774   # 7 wait states, up to 8MB
>         stw     r3,BR0(r4)
>         stw     r5,OR0(r4)
>
>         /* ONBOARD SDRAM */
>         lwi     r3,0x00000081   # 32-bit, UPMA
>         lwi     r5,0xFF800E00
>         stw     r3,BR1(r4)
>         stw     r5,OR1(r4)
> -------------------------------
>
> Why does it happen? Do you have an idea?
>
> Thx again,
> TT.
>
> On 6/20/07, Tales Toledo <toledo.tales@gmail.com> wrote:
> > Hi,
> >
> > I see some progress now.
> > I was downloading .bin file to 0x0 (the same procedure I was using
> > before when I tried to download code to RAM an programming to flash).
> > I decide to move from .bin to .elf and voilá...
> >
> > Now I have a new  message
> >
> > --------------------------------------------------------------
> > Program received signal SIGINT, Interrupt.
> > CR := (CR0|4CR1|8CR2|12CR3|16CR4|20CR5|24CR6|28CR7)
> > SPR 2:Condition Register, UM140
> > CR = 0x2042488d =
> > (CR0=0x2|CR1=0x0|CR2=0x4|CR3=0x2|CR4=0x4|CR5=0x8|CR6=0x8|CR7=0xd)
> > ICR := (|RST|CHSTP|MCI||6EXTI|ALI|PRI|FPUVI|DECI||13SYSI|TR||17SEI|ITLBMS|DTBLMS|ITLBER|DTLBER||28LBRK|IBRK|EBRK|DPI)
> > SPR 148:Interrupt Cause Register, UM994
> > ICR = 0x00004000 = (SEI)
> > 0x4b6c0 in hal_hardware_init ()
> > ---------------------------------------------------------------
> >
> > looking at disassembled file
> >
> > ---------------------------------------------------------------
> > 4b6b8:  90 64 01 74     stw     r3,372(r4)
> >    4b6bc:       3c 60 40 00     lis     r3,16384
> >    4b6c0:       60 63 08 01     ori     r3,r3,2049
> >    4b6c4:       3c a0 ff 80     lis     r5,-128
> >    4b6c8:       60 a5 07 74     ori     r5,r5,1908
> >    4b6cc:       90 64 01 00     stw     r3,256(r4)
> >    4b6d0:       90 a4 01 04     stw     r5,260(r4)
> >    4b6d4:       3c 60 00 00     lis     r3,0
> >    4b6d8:       60 63 00 81     ori     r3,r3,129
> >    4b6dc:       3c a0 ff 80     lis     r5,-128
> >    4b6e0:       60 a5 0e 00     ori     r5,r5,3584
> >    4b6e4:       90 64 01 08     stw     r3,264(r4)
> >    4b6e8:       90 a4 01 0c     stw     r5,268(r4)
> > ---------------------------------------------------------------
> >
> > seems that the exception occurs when I'm programming BR0/OR0
> >
> > -------------------------------------------
> >         /*
> >          * Base Register initialization.
> >          */
> >
> >         /* BOOT ROM */
> >         lwi     r3,0x40000801   # 16-bit, GPCM
> >         lwi     r5,0xFF800774   # 7 wait states, up to 8MB
> >         stw     r3,BR0(r4)
> >         stw     r5,OR0(r4)
> >
> >         /* ONBOARD SDRAM */
> >         lwi     r3,0x00000081   # 32-bit, UPMA
> >         lwi     r5,0xFF800E00
> >         stw     r3,BR1(r4)
> >         stw     r5,OR1(r4)
> > -----------------------------------------------
> >
> > I didn't see the problem yet. Any idea.
> >
> > Thanks,
> > TT.
> >
> >
> > On 6/20/07, Gary Thomas <gary@mlbassoc.com> wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > Tales Toledo wrote:
> > > > Hi,
> > > >
> > > > I'm facing some problems trying to port redboot to MPC885...
> > > > I have tried to follow the steps suggested at porting guide. I'm using only
> > > > RAM as a first step but unfortunately I can get success. I'm using
> > > > Viper files as reference.
> > > >
> > > > I'm using gdb with mpcbdm and get always the same exception when
> > > > running it from RAM.
> > >
> > > Look carefully - this is failing on the first instruction you downloaded,
> > > so it most certainly has nothing to do with porting eCos.
> > >   * Have you verified the code that was downloaded correctly?
> > >   * Have you successfully executed any code on this platform using these tools?
> > >
> > > - --
> > > - ------------------------------------------------------------
> > > Gary Thomas                 |  Consulting for the
> > > MLB Associates              |    Embedded world
> > > - ------------------------------------------------------------
> > > -----BEGIN PGP SIGNATURE-----
> > > Version: GnuPG v1.4.7 (GNU/Linux)
> > > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
> > >
> > > iD8DBQFGeY4YmaKbSsQGV8ARAirMAJ9xEKtFrDXYOh5jB59disiPExgbUgCgjT0j
> > > xmJBNpW1xfQruVljpMs/JrY=
> > > =/UuG
> > > -----END PGP SIGNATURE-----
> > >
> >
>

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-06-27 19:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-20 21:46 [ECOS] PowerPC Redboot porting problems Tales Toledo
2007-06-21  3:48 ` Gary Thomas
2007-06-21 11:44   ` Tales Toledo
2007-06-24  9:15     ` Tales Toledo
2007-06-27 21:21       ` Tales Toledo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).