public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] ecos atmel eb40 demo board
@ 2001-08-06 12:05 Richard Slaughter
  2001-08-06 16:27 ` Jonathan Larmour
  0 siblings, 1 reply; 7+ messages in thread
From: Richard Slaughter @ 2001-08-06 12:05 UTC (permalink / raw)
  To: ecos-discuss

I'm trying to load the examples binaries to my  EB40 atmel board.
Most of the time when I try to download the redboot_ram.elf file the eb40
reset and I get the angel signon message.
Ocassionally I get the file downloaded and can go through the minicom and
try to flash the chip but redboot never activates from the flash
Is anyone else experienceing this problem.
Richard Slaughter

Richard Slaughter
rslaughter@anatel.com

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

* Re: [ECOS] ecos atmel eb40 demo board
  2001-08-06 12:05 [ECOS] ecos atmel eb40 demo board Richard Slaughter
@ 2001-08-06 16:27 ` Jonathan Larmour
       [not found]   ` <002301c11f48$a03a82a0$740aa8c0@richards>
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Larmour @ 2001-08-06 16:27 UTC (permalink / raw)
  To: Richard Slaughter; +Cc: ecos-discuss

Richard Slaughter wrote:
> 
> I'm trying to load the examples binaries to my  EB40 atmel board.
> Most of the time when I try to download the redboot_ram.elf file the eb40
> reset and I get the angel signon message.

It may be worth using a snapshot GDB, rather than 5.0. The RDI support has
been improved.

> Ocassionally I get the file downloaded and can go through the minicom and
> try to flash the chip but redboot never activates from the flash

You're following the instructions in the RedBoot user's manual right?

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine

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

* Re: [ECOS] ecos atmel eb40 demo board
       [not found]   ` <002301c11f48$a03a82a0$740aa8c0@richards>
@ 2001-08-07  7:16     ` Jonathan Larmour
  2001-08-07  9:43       ` [ECOS] variant rm7000 interrupt masking Chris Morrow
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Larmour @ 2001-08-07  7:16 UTC (permalink / raw)
  To: Richard Slaughter, eCos discussion

Richard Slaughter wrote:
> 
> Jonathan,
> Yes, I'm following the instructions.
> I have been able to install redboot_rom.elf on the eb40 board.
> The file redboot_ramrom.srec per the instructions does not exist.
> I assumed it was redboot_romram.srec.  I could not get this file to
> download but redboot_rom.srec, transfered to flash and will run.

RAMROM is a typo - it should have been ROMRAM.

So the RedBoot ROM works absolutely fine, but RedBoot ROMRAM can't even
load.
 
> If I try to replace it I have this problem with the board resetting
> and displaying the Angel logon before finishing the download.

If you are _already_ running the RedBoot ROM image, you should first load
the redboot RAM image into it and run that before downloading the ROMRAM
image. This is because RedBoot executes in place, which means that when you
write a new version in flash, it overwrites the currently executing
program. I wouldn't be at all surprised if weird stuff happens then.

> It almost acts like a  watch dog timer is running and restting the board.
> I'm using the snapshot insight+dejagnu-20010419 version of gdb and I'm
> just using binary images posted to redhat for the eb40.
> what are the distictions between:
> redboot_ram.elf

Loads into and runs from RAM.

> redboot_romram.elf

Loads into ROM, relocates itself to RAM when it starts, and runs from RAM.

> redboot rom.elf

Loads and runs from ROM.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine

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

* [ECOS] variant rm7000 interrupt masking
  2001-08-07  7:16     ` Jonathan Larmour
@ 2001-08-07  9:43       ` Chris Morrow
  2001-08-07 18:36         ` Chris Morrow
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Morrow @ 2001-08-07  9:43 UTC (permalink / raw)
  To: eCos discussion

In the file
.../packages/hal/mips/rm7000/ocelot/current/include/plf_intr.h.
should the "else if" comparison be (_vector_ <= CYGNUM_UART2)
in the following macro?

#define HAL_INTERRUPT_MASK( _vector_
)                                      \
   
CYG_MACRO_START                                                        
\
    if( (_vector_) <= CYGNUM_HAL_INTERRUPT_COMPARE
)                        \
   
{                                                                      
\
        asm volatile
(                                                      \
            "mfc0  
$3,$12\n"                                               \
            "la    
$2,0x00000400\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "nor   
$2,$2,$0\n"                                             \
            "and   
$3,$3,$2\n"                                             \
            "mtc0  
$3,$12\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            :
"r"(_vector_)                                                 \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
    else if ((_vector_) >=
CYGNUM_HAL_INTERRUPT_UART2)                      \
   
{                                                                      
\
        /* int 6:9 are masked in the Interrupt Control register
*/          \
        asm volatile
(                                                      \
            "mfc1  
$3,$20\n"                                               \
            "la    
$2,0x00000100\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "nor   
$2,$2,$0\n"                                             \
            "and   
$3,$3,$2\n"                                             \
            "mtc1  
$3,$20\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            : "r"((_vector_) -
CYGNUM_HAL_INTERRUPT_PMC1)                   \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
    CYG_MACRO_END

The same problem exists in the UNMASK macro.

Also, I believe rm7000 variants need a custom hal_intc_decode macro to
deal with the rm7000's interrupt control register.

Is there any reason not to place these macros in
.../packages/hal/mips/rm7000/var/current/include/{variant.inc,var_intr.h}

Chris Morrow	YottaYotta Inc. email: cmorrow@yottayotta.com
phone: (780) 989 6814 web:	http:  //www.yottayotta.com

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

* Re: [ECOS] variant rm7000 interrupt masking
  2001-08-07  9:43       ` [ECOS] variant rm7000 interrupt masking Chris Morrow
@ 2001-08-07 18:36         ` Chris Morrow
  2001-08-08 11:29           ` Jonathan Larmour
  0 siblings, 1 reply; 7+ messages in thread
From: Chris Morrow @ 2001-08-07 18:36 UTC (permalink / raw)
  To: eCos discussion

There are a  couple more difficulties with the MASK/UNMASK MACROS.
These ones work better.



#define HAL_INTERRUPT_MASK( _vector_
)                                      \
   
CYG_MACRO_START                                                        
\
    if( (_vector_) <= CYGNUM_HAL_MAX_STATUS_VEC
)                           \
   
{                                                                      
\
        asm volatile
(                                                      \
            "mfc0  
$3,$12\n"                                               \
            "la    
$2,0x00000400\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "nor   
$2,$2,$0\n"                                             \
            "and   
$3,$3,$2\n"                                             \
            "mtc0  
$3,$12\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            :
"r"(_vector_)                                                 \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
   
else                                                                   
\
   
{                                                                      
\
        /* int 6:9 are masked in the Interrupt Control register
*/          \
        asm volatile
(                                                      \
            "cfc0  
$3,$20\n"                                               \
            "la    
$2,0x00000004\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "nor   
$2,$2,$0\n"                                             \
            "and   
$3,$3,$2\n"                                             \
            "ctc0  
$3,$20\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            : "r"((_vector_) )				                    \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
    CYG_MACRO_END

#define HAL_INTERRUPT_UNMASK( _vector_
)                                    \
   
CYG_MACRO_START                                                        
\
    if( (_vector_) <= CYGNUM_HAL_MAX_STATUS_VEC
)                           \
   
{                                                                      
\
        asm volatile
(                                                      \
            "mfc0  
$3,$12\n"                                               \
            "la    
$2,0x00000400\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "or    
$3,$3,$2\n"                                             \
            "mtc0  
$3,$12\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            :
"r"(_vector_)                                                 \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
    else								    \
   
{                                                                      
\
        /* int 6:9 are masked in the Interrupt Control register
*/          \
        asm volatile
(                                                      \
            "cfc0  
$3,$20\n"                                               \
            "la    
$2,0x00000004\n"                                        \
            "sllv  
$2,$2,%0\n"                                             \
            "or    
$3,$3,$2\n"                                             \
            "ctc0  
$3,$20\n"                                               \
            "nop; nop;
nop\n"                                               \
           
:                                                               \
            : "r"((_vector_)
)                                              \
            : "$2",
"$3"                                                    \
           
);                                                              \
   
}                                                                      
\
    CYG_MACRO_END

-- 
Chris Morrow	YottaYotta Inc. email: cmorrow@yottayotta.com
phone: (780) 989 6814 web:	http:  //www.yottayotta.com

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

* Re: [ECOS] variant rm7000 interrupt masking
  2001-08-07 18:36         ` Chris Morrow
@ 2001-08-08 11:29           ` Jonathan Larmour
  2001-08-09  0:53             ` Jesper Skov
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Larmour @ 2001-08-08 11:29 UTC (permalink / raw)
  To: Chris Morrow; +Cc: eCos discussion, Jesper Skov

Chris Morrow wrote:
> 
> There are a  couple more difficulties with the MASK/UNMASK MACROS.
> These ones work better.
> 
> #define HAL_INTERRUPT_MASK( _vector_
[snip]

These changes look fine, and I'm happy to apply them. I've written a
ChangeLog entry for you.

> Also, I believe rm7000 variants need a custom hal_intc_decode macro to
> deal with the rm7000's interrupt control register.

Yes they should. Got a patch? :-).

> Is there any reason not to place these macros in
> .../packages/hal/mips/rm7000/var/current/include/{variant.inc,var_intr.h}

Don't know why not. Jesper?

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine

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

* Re: [ECOS] variant rm7000 interrupt masking
  2001-08-08 11:29           ` Jonathan Larmour
@ 2001-08-09  0:53             ` Jesper Skov
  0 siblings, 0 replies; 7+ messages in thread
From: Jesper Skov @ 2001-08-09  0:53 UTC (permalink / raw)
  To: Jonathan Larmour; +Cc: Chris Morrow, eCos discussion

>>>>> "Jonathan" == Jonathan Larmour <jlarmour@redhat.com> writes:

>> Is there any reason not to place these macros in
>> .../packages/hal/mips/rm7000/var/current/include/{variant.inc,var_intr.h}

Jonathan> Don't know why not. Jesper?

No, that would be fine.

Jesper

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

end of thread, other threads:[~2001-08-09  0:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-06 12:05 [ECOS] ecos atmel eb40 demo board Richard Slaughter
2001-08-06 16:27 ` Jonathan Larmour
     [not found]   ` <002301c11f48$a03a82a0$740aa8c0@richards>
2001-08-07  7:16     ` Jonathan Larmour
2001-08-07  9:43       ` [ECOS] variant rm7000 interrupt masking Chris Morrow
2001-08-07 18:36         ` Chris Morrow
2001-08-08 11:29           ` Jonathan Larmour
2001-08-09  0:53             ` Jesper Skov

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).