trollepi jj wrote:
Hi,
So your patch can't work, because, the program never reach the routine software_interrupt, it always goes on abort_prefetch. This is the sample of my .ld (I do a entirely RAM project). We
must not use RedBoot.
Have you tried running the standard tests with your configuration?
Until those work, you can't really proceed.
MEMORY
{
ram : ORIGIN = 0x04000000, LENGTH = 0x00080000
}
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (ram, 0x04000000, LMA_EQ_VMA)
SECTION_fixed_vectors (ram, ALIGN (0x04), LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
We need swi to implement syscall like linux. So we make a swi to enter on the
exception handler and after modify the fields of the info parameter (cast in
HAL_SavedRegisters) to point
on a function we define(modify pc, sp). We need after all the stuff do return on the calling thread but it never goes.
Thank for future help
Best regards
----------------------------------------
Date: Thu, 20 Mar 2008 10:11:33 -0600
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
CC: [email protected]
Subject: Re: [ECOS] data abort exception (SWI)
trollepi jj wrote:
Hi,
I try to make a ecos project without Redboot for an atmel AT91M55800A
(phycore). So it's a RAM project. I compile and debug an application without
any problems.
When i try to generate a SWI (with asm("swi")), the application reach the
exeption handler that I define but the number of the exception is not
CYGNUM_HAL_VECTOR_SOFTWARE_INTERRUPT (number 2 that i give on cyg_exception_set_handler)
but CYGNUM_HAL_VECTOR_ABORT_PREFETCH (number 3) . Maybe I might modify vector.S to do the
remap (like hal_platform_setup.h ). If anybody have an idea? I search on your mailing and
nothing fit well.
Why are you trying to use the SWI instruction?
In any case, it looks like there is a typo in the SWI handler.
I'm pretty sure no one has ever actually used this path!
Please try the attached patch and let me know if it fixes
your problem.
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss