rtel wrote on Monday, April 03, 2006:
There are very few differences between the AT91SAM7S and AT91SAM7X ports, so although I don’t know of anybody using FreeRTOS on the A2 I suspect it will be a simple task to do so.
It might even come down to just changing the header files that are included to get the correct peripheral register locations.
The best way of creating a new port is to start with the SAM7S or SAM7X project and just select a different target in the IDE. I think this can be done from both the IAR and CrossWorks IDE’s.
You may also need to add a bit of code to the startup assembler file to initialise the external memory interface as this is not present on either the S or X ports. The thing to watch out for is that the startup code creates the stacks for IRQ and Supervisor modes, and starts the processor in Supervisor mode.
Its best not to use the Atmel startup code as this places software between an interrupt being generated and the application ISR being called. This confuses the kernel code, which expects to be called directly.