public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] eCos application error- ASSERT FAIL : invalid priority
@ 2006-08-04  6:52 Rohit Pandita
  2006-08-04  7:09 ` Andrew Lunn
  0 siblings, 1 reply; 3+ messages in thread
From: Rohit Pandita @ 2006-08-04  6:52 UTC (permalink / raw)
  To: ecos-discuss

Hi all,
Have a couple of questions,

1. While trying to execute/debug an eCos application in RAM I get ASSERT 
FAIL: var_intr.h[2343]: void cyg_hal_interrupt_set_level() : Invalid 
priority.
Has it got anything to do with with eCos Kernel scheduler config? Any 
solutions.

2. My application requires I/O through both serial ports on the target 
(Phy555). Is this permissible, given that RedBoot uses the serial ports 
for CLI and debug/diagnostic purposes? If not, what changes would be 
necessary.

Thanks in advance,

Rohit



-- 
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] 3+ messages in thread

* Re: [ECOS] eCos application error- ASSERT FAIL : invalid priority
  2006-08-04  6:52 [ECOS] eCos application error- ASSERT FAIL : invalid priority Rohit Pandita
@ 2006-08-04  7:09 ` Andrew Lunn
       [not found]   ` <44D3BCDC.7030006@umn.edu>
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Lunn @ 2006-08-04  7:09 UTC (permalink / raw)
  To: Rohit Pandita; +Cc: ecos-discuss

On Fri, Aug 04, 2006 at 01:51:57AM -0500, Rohit Pandita wrote:
> Hi all,
> Have a couple of questions,
> 
> 1. While trying to execute/debug an eCos application in RAM I get ASSERT 
> FAIL: var_intr.h[2343]: void cyg_hal_interrupt_set_level() : Invalid 
> priority.
> Has it got anything to do with with eCos Kernel scheduler config? Any 
> solutions.

What priority are you passing? What priorities are valid?

> 2. My application requires I/O through both serial ports on the target 
> (Phy555). Is this permissible, given that RedBoot uses the serial ports 
> for CLI and debug/diagnostic purposes? If not, what changes would be 
> necessary.

You could use Ethernet for Redboot/gdb so leaving the second ethernet
port free. Otherwise just don't use diag_printf and gdb and redboot
will keep quiet when your application is running.

     Andrew

-- 
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] 3+ messages in thread

* Re: [ECOS] eCos application error- ASSERT FAIL : invalid priority
       [not found]   ` <44D3BCDC.7030006@umn.edu>
@ 2006-08-04 21:36     ` Rohit Pandita
  0 siblings, 0 replies; 3+ messages in thread
From: Rohit Pandita @ 2006-08-04 21:36 UTC (permalink / raw)
  To: ecos-discuss

Rohit Pandita wrote:
> Andrew Lunn wrote:
>> On Fri, Aug 04, 2006 at 01:51:57AM -0500, Rohit Pandita wrote:
>>     
>>> Hi all,
>>> Have a couple of questions,
>>>
>>> 1. While trying to execute/debug an eCos application in RAM I get ASSERT 
>>> FAIL: var_intr.h[2343]: void cyg_hal_interrupt_set_level() : Invalid 
>>> priority.
>>> Has it got anything to do with with eCos Kernel scheduler config? Any 
>>> solutions.
>>>     
>>
>> What priority are you passing? What priorities are valid?
>>   
> /The application is single threaded, I haven't assigned any 
> priorities. Does the kernel assign default priorities to some 
> processes on its own?/
>>> 2. My application requires I/O through both serial ports on the target 
>>> (Phy555). Is this permissible, given that RedBoot uses the serial ports 
>>> for CLI and debug/diagnostic purposes? If not, what changes would be 
>>> necessary.
>>>     
>>> You could use Ethernet for Redboot/gdb so leaving the second ethernet
>>> port free. Otherwise just don't use diag_printf and gdb and redboot
>>> will keep quiet when your application is running.
>>>     
>>> /The target doesn't support Ethernet, how to disable RedBoot console/ diag_printf, through some configuration changes?/    
>         Andrew
> /Attached below is the summary of process progress until ASSERT FAIL, 
> While backtracing I noticed that the trace shows random large values 
> for variables 'vector' and 'level', respectively.
> I appreciate your help.
>
> Regards,
> Rohit
> /
> (gdb) c
> Continuing.
>
> Breakpoint 1, hal_variant_IRQ_init () at 
> /scratch/ecos/ecos-2.0/packages/hal/powerpc/mpc5xx/current/src/var_intr.c:353
> 353       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ0);
> Current language:  auto; currently c
> (gdb) s
> 354       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ1);
> (gdb)
> 355       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ2);
> (gdb)
> 356       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ3);
> (gdb)
> 357       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ4);
> (gdb)
> 358       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ5);
> (gdb)
> 359       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ6);
> (gdb)
> 360       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_IRQ7);
> (gdb)
> 361       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL0);
> (gdb)
> 362       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL1);
> (gdb)
> 363       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL2);
> (gdb)
> 364       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL3);
> (gdb)
> 365       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL4);
> (gdb)
> 366       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL5);
> (gdb)
> 367       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL6);
> (gdb)
> 368       HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_SIU_LVL7);
> (gdb)
> 384       sci_arbiter.priority = CYGNUM_HAL_ISR_SOURCE_PRIORITY_QSCI;
> (gdb)
> 386       sci_arbiter.arbiter = hal_arbitration_isr_sci;
> (gdb)
> 388       hal_mpc5xx_install_arbitration_isr(&sci_arbiter);
> (gdb)
> 386       sci_arbiter.arbiter = hal_arbitration_isr_sci;
> (gdb)
> 385       sci_arbiter.data    = 0;
> (gdb)
> 386       sci_arbiter.arbiter = hal_arbitration_isr_sci;
> (gdb)
> 388       hal_mpc5xx_install_arbitration_isr(&sci_arbiter);
> (gdb)
> hal_mpc5xx_install_arbitration_isr (adata=0x7) at 
> /scratch/ecos/ecos-2.0/packages/hal/powerpc/mpc5xx/current/src/var_intr.c:288
> 288       CYG_ADDRWORD vector = 2*(1 + adata->priority);
> (gdb)
> 287     { // Find the SIU vector from the priority
> (gdb)
> 288       CYG_ADDRWORD vector = 2*(1 + adata->priority);
> (gdb)
> 290       if(vector < CYGNUM_HAL_INTERRUPT_SIU_LVL7)
> (gdb) step
> 292         HAL_INTERRUPT_ATTACH(vector, adata->arbiter, adata->data, 
> adata);
> (gdb)
> 293         HAL_INTERRUPT_UNMASK(vector);
> (gdb) s
> cyg_hal_interrupt_unmask (vector=2) at 
> /scratch/ecos/phy_ecos_install/include/cyg/hal/var_intr.h:983
> 983         switch (vector) {
>
> (gdb) print vector
> $1 = 2
> (gdb) print level
> No symbol "level" in current context.
>
> (gdb) s
> 989             HAL_READ_UINT32 (CYGARC_REG_IMM_SIMASK, simask);
> (gdb)
> 990             simask |= (((cyg_uint32) CYGARC_REG_IMM_SIMASK_IRM0)
> (gdb)
> 992             HAL_WRITE_UINT32 (CYGARC_REG_IMM_SIMASK, simask);
> (gdb)
> 1652    }
> (gdb)
> hal_variant_IRQ_init () at 
> /scratch/ecos/ecos-2.0/packages/hal/powerpc/mpc5xx/current/src/var_intr.c:389
> 389       HAL_INTERRUPT_SET_LEVEL(CYGNUM_HAL_INTERRUPT_IMB3_SCI0_RX, 
> CYGNUM_HAL_ISR_SOURCE_PRIORITY_QSCI);
> (gdb)
> cyg_hal_interrupt_set_level (vector=33, level=0) at 
> /scratch/ecos/phy_ecos_install/include/cyg/hal/var_intr.h:2335
> 2335        if(vector < CYGNUM_HAL_INTERRUPT_IMB3_QUADCA_CI1)
>
> *(gdb) print vector
> $2 = 33
> (gdb) print level
> $3 = 0
> *
> (gdb) s
> 2343            CYG_ASSERT( level >= CYGARC_IMB3_PRIORITY_HIGH, 
> "Invalid priority");
> (gdb)
> 0x00814e68      2344            CYG_ASSERT( level <= 
> CYGARC_IMB3_PRIORITY_LOW, "Invalid priority");
>
> (gdb) s
> cyg_assert_msg (psz_func=0x824a70 "cyg_hal_interrupt_set_level", 
> psz_file=0x8245c0 
> "/scratch/ecos/phy_ecos_install/include/cyg/hal/var_intr.h",
>     linenum=2343, psz_msg=0x824a8c "Invalid priority") at 
> /scratch/ecos/ecos-2.0/packages/infra/current/src/tcdiag.cxx:145
> 145         HAL_DISABLE_INTERRUPTS(old_ints);
> Current language:  auto; currently c++
> (gdb) s
> 601     __call_VV1(CYGNUM_CALL_IF_SET_CONSOLE_COMM, 
> __call_if_set_console_comm_t, int, int)
> (gdb)
> 657     __call_VV2(CYGNUM_CALL_IF_FLASH_CFG_OP, 
> __call_if_flash_cfg_op_fn_t, cyg_bool, int, struct cyg_fconfig *)
> (gdb)
> 601     __call_VV1(CYGNUM_CALL_IF_SET_CONSOLE_COMM, 
> __call_if_set_console_comm_t, int, int)
> (gdb)
> 657     __call_VV2(CYGNUM_CALL_IF_FLASH_CFG_OP, 
> __call_if_flash_cfg_op_fn_t, cyg_bool, int, struct cyg_fconfig *)
> (gdb)
> 159             fc.key = "info_console_force";
> (gdb)
> 657     __call_VV2(CYGNUM_CALL_IF_FLASH_CFG_OP, 
> __call_if_flash_cfg_op_fn_t, cyg_bool, int, struct cyg_fconfig *)
>
> /
> the stack trace using backtrace was following *********
> /(gdb) bt
> #0  cyg_assert_msg (psz_func=0x824a70 "cyg_hal_interrupt_set_level", 
> psz_file=0x8245c0 
> "/scratch/ecos/phy_ecos_install/include/cyg/hal/var_intr.h",
>     linenum=2343, psz_msg=0x824a8c "Invalid priority") at 
> /scratch/ecos/ecos-2.0/packages/infra/current/src/tcdiag.cxx:161
> #1  0x00814e88 in cyg_hal_interrupt_set_level (*vector=4294967293, 
> level=8537536*) at 
> /scratch/ecos/phy_ecos_install/include/cyg/hal/var_intr.h:2344
> #2  0x008139e8 in hal_variant_IRQ_init () at 
> /scratch/ecos/ecos-2.0/packages/hal/powerpc/mpc5xx/current/src/var_intr.c:389
> #3  0x0081333c in hal_IRQ_init () at 
> /scratch/ecos/ecos-2.0/packages/hal/powerpc/arch/current/src/hal_intr.c:66
>


-- 
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] 3+ messages in thread

end of thread, other threads:[~2006-08-04 21:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-04  6:52 [ECOS] eCos application error- ASSERT FAIL : invalid priority Rohit Pandita
2006-08-04  7:09 ` Andrew Lunn
     [not found]   ` <44D3BCDC.7030006@umn.edu>
2006-08-04 21:36     ` Rohit Pandita

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