IAR -> Crossworks GCC (ISR)

arm-user wrote on Tuesday, March 14, 2006:

Hello Everybody,
<p>
I have a AT91SAM7S-EK Board, running FreeRTOS 3.2.4 (based on the lwIP_Demo_Rowley_ARM7) and
using Crossworks GCC.
<p>
Now I wanted to use the Serial-Files from
ARM7_AT91SAM7S64_IAR. Here my problems/questions:
<p>
- is it generally possible to port ISRs from IAR
  with s79 Assembler Files to GCC?
<p>
- serial.c seems to work, except the function
  __arm void vSerialISR( void ) - for this I made
  a own file which is compiled in arm mode?
<p>
- serialISR.s79: how is the assembler directive
  RSEG ICODE:CODE ported to GCC?
  I tryed .section icode:code and
  .section icode, "ax" and many others…
  Some are linked, some not, but none of them
  work on the SAM7S (he is hanging up…)

<p>
<p>
I know there are some other ways the implement the serial interface to the SAM7S with GCC (like ARM7_AT91FR40008_GCC), but I want to know if its possible to use IAR Code with GCC.

<p>
Thanks in advance…

Thomas

nobody wrote on Tuesday, March 14, 2006:

GCC does not require an assembly file wrapper as per the iar demo.

You need to combine the gcc and iar code.  The functionality from the IAR source code to work the uart, with the syntax from another GCC port.

You can take the syntax required from the 40008 demo as you say.

arm-user wrote on Wednesday, March 15, 2006:

Hello,

thanks for the information.

You are right. Its rubbish to use an assembly file wrapper if its not necessary.
I have now a working version built from the 40008 demo and the IAR demo.

Thomas