[ECOS] why jump from hal_cpu_merge_int to hal_null_call() ?

Gary D. Thomas gary.thomas@mind.be
Fri May 9 22:29:00 GMT 2003

On Fri, 2003-05-09 at 16:33, Zi Zhou wrote:
> Hi,
> I am trying to port eCos on to a demo board which uses MPC8245. So I use
> csb281 as a baseline. I am able to bring up Redboot with minimum hardware
> initialized (e.g. UART). I am trying to load the simple eCos 'hello world'
> application but failed. I have a VisualClick EJTAG to help debugging,  and I
> found that when execute to hal_cpu_merge_int macro, right after the first
> 'sync',  the program will jump to hal_null_call(), which is at address 0x0.
> The MSR register is 0x3032 and r0 is 0xb032 right after 'rlwimi' instruction,
>   and MSR becomes 0 after jumping to hal_null_call(). Since I am not an
> expert of eCos or PowerPC, I will really need some info about what could go
> wrong to cause this scenorio. Could someone give me some suggestion?

If you're not using a ROM monitor (like RedBoot), have you initialized
the interrupt environment?  The default case on the PowerPC for RAM
applications is to inherit an already initialized environment.  In
particular, the application will normally not set up interrupt and
exception handlers.

I suspect that this is your problem. Try disabling CYGSEM_HAL_USE_ROM_MONITOR.

Gary D. Thomas <gary.thomas@mind.be>

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

More information about the Ecos-discuss mailing list