[ECOS] Re: Dividing by zero does NOT generate exception

Quanren Xiong xiongqr@gmail.com
Sat Mar 5 16:10:00 GMT 2011


Hi,

On Fri, Mar 4, 2011 at 8:18 PM, Paul D. DeRocco <pderocco@ix.netcom.com> wrote:
>> From: Quanren Xiong
>>
>> The hardware is KwikByte KB9200 board from eCosCentric, which
>> is based on the ARM9 AT91RM9200 processor. But more RAM and
>> ROM are added.
>>
>> I am new to the ARM architecture.  Can someone confirm the
>> processor does NOT generate exception on dividing by 0?
>
> ARM does division in software, so it's up to the library routine. When I
> worked with ARM/eCos a few years ago, division by zero didn't invoke any
> exception; I doubt that has changed.
>
>> Another odd thing I found is that It does NOT generate bad
>> memory alignment exception either. For example, the following
>> code will run just fine:
>>
>> unsigned int addr=0x00040041;
>> *(int *)addr=0xFEFEFEFE;
>>
>> Should it generate a bad alignment exception?
>
> Alignment faults can be enabled in register CP15. You should download the
> data sheet on the processor from Atmel, and the one on the core itself from
> ARM, so you can figure this stuff out.
So the registers controlling exception handling are not set up
correctly during boot-up on my platform.
Given that few pepople complain about it, I would assume it is fixed
in Ecos 3.0. Can anybody point me to the code in Ecos 3.0 ARM9 (or
maybe AT91RM9200)  HAL that does the boot-up initialization? I am
stuck with Ecos 2.0 and have to backport the fix to 2.0.

Thanks,

Quanren



> --
>
> Ciao,               Paul D. DeRocco
> Paul                mailto:pderocco@ix.netcom.com
>
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>
>

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



More information about the Ecos-discuss mailing list