[fpc-devel] FPC for Linux-ARM
Michel Catudal
michelcatudal at gmail.com
Thu Jan 20 04:01:19 CET 2011
On 19/01/2011 11:57, Henry Vermaak wrote:
> On 19/01/11 16:49, Jonas Maebe wrote:
>>
>> On 19 Jan 2011, at 17:13, Henry Vermaak wrote:
>>
>>> There is another consideration, though: float abi. You can build a
>>> toolchain that enables use of an fpu, but still passes floats in int
>>> registers or on the stack (-mfloat-abi=softfp). This is how the
>>> android toolchain is configured. I don't think fpc can do this,
>>> though.
>>
>> Actually, the softfp abi is the only abi that FPC supports when using
>> VFP:
>> http://wiki.freepascal.org/FPC_New_Features_Trunk#Support_for_VFPv2_and_VFPv3
>>
>
> Excellent, thanks!
>
> Henry
> _______________________________________________
I have a few questions for the ARM team. I am not working on the ARM
port but basing mine on it to start with.
I am porting FPC to the AVR32. I am starting with the AT32UC3C0512C,
AT32UC3C1512C, AT32UC3B0256ES and AT32UC3B064
and will eventually support the rest. This port will not support an OS
at all, it is for embedded projects like we usually do in C or assembler.
I will have units for digital filters, convolution, waveform generation,
CAN, LIN, USB, LCD, etc ...
The UC3C series has a single precision hardware float and dsp. The UC3B
series has context environment, meaning has shadow registers kind of
like the NEC devices. When you get into an interrupt the interrupts has
its own set of registers so you do not need to push any registers on the
stack.
The UC3A have some similarity to the UC3C series except that the UC3C
series is automotive and can run at +5V. The UC3C devices are fully ppap
qualified.
On the UC3C devices the hardware floats uses the regular registers (16
of them) and not its own as the ix86 or ARM.
My questions are at the end of the list that follows.
AT32UC3A0128,
AT32UC3A0256,
AT32UC3A0512,
AT32UC3A1128,
AT32UC3A1256,
AT32UC3A1512,
AT32UC3B064,
AT32UC3B0128,
AT32UC3B0256,
AT32UC3B0512,
AT32UC3B164,
AT32UC3B1128,
AT32UC3B1256,
AT32UC3B1512,
AT32UC3B064ES,
AT32UC3B01128ES,
AT32UC3B0256ES,
AT32UC3B0512ES,
AT32UC3B164ES,
AT32UC3B1128ES,
AT32UC3B1256ES,
AT32UC3B1512ES,
AT32UC3C064,
AT32UC3C0256C,
AT32UC3C0512C,
AT32UC3C164C,
AT32UC3C1256C,
AT32UC3C1512C,
AT32UC3C264C,
AT32UC3C2256C,
AT32UC3C2512C,
AT32UC3C0512REVC,
AT32UC3C1512REVC,
AT32UC3L016,
AT32UC3L032,
AT32UC3L064
In the Makefile I see these after I do a fpcmake -Tall. I looked all
over the project and cannot find where I would put the information
so fpcmake would generate a Makefile with : ifeq
($(FULL_TARGET),avr32-embedded)
Makefile:ifeq ($(FULL_TARGET),i386-embedded)
Makefile:ifeq ($(FULL_TARGET),m68k-embedded)
Makefile:ifeq ($(FULL_TARGET),powerpc-embedded)
Makefile:ifeq ($(FULL_TARGET),sparc-embedded)
Makefile:ifeq ($(FULL_TARGET),x86_64-embedded)
Makefile:ifeq ($(FULL_TARGET),arm-embedded)
Makefile:ifeq ($(FULL_TARGET),powerpc64-embedded)
Makefile:ifeq ($(FULL_TARGET),avr-embedded)
Makefile:ifeq ($(FULL_TARGET),armeb-embedded)
Makefile:ifeq ($(FULL_TARGET),i386-embedded)
Makefile:ifeq ($(FULL_TARGET),m68k-embedded)
Makefile:ifeq ($(FULL_TARGET),powerpc-embedded)
Makefile:ifeq ($(FULL_TARGET),sparc-embedded)
Makefile:ifeq ($(FULL_TARGET),x86_64-embedded)
Makefile:ifeq ($(FULL_TARGET),arm-embedded)
Makefile:ifeq ($(FULL_TARGET),powerpc64-embedded)
Makefile:ifeq ($(FULL_TARGET),avr-embedded)
Makefile:ifeq ($(FULL_TARGET),armeb-embedded)
Can anyone explain where I can find information on what is needed to do
the port? On the embedded site there is almost nothing.
I know about the units and compiler directory but there is a lot of
important information missing. It looks like the information has been
written for someone who has allready done several ports.
Part of that would be where I would get the information on the file
where I put the assembler information so FPC can generate the correct
assembler?
Thank you very much
Michel Catudal
--
Tired of Microsoft's rebootive multitasking?
then it's time to upgrade to Linux.
http://home.comcast.net/~mcatudal
More information about the fpc-devel
mailing list