Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Port for AT91SAM7S-EK using CrossWorks GCC?

Posted by Bruce Wehr on March 17, 2006
I am new to both FreeRTOS and AT91, and would like to use the FreeRTOS demo as a launch pad to learn my way around both. I have the AT91SAM7S-EK evaluation board and Rowley's CrossWorks (GCC) IDE. FreeRTOS provides ports of the demo for both the 7S processor (but using the IAR IDE) and GCC (but using the 7X processor).

I've tried using the GCC 7X demo on the 7S-EK board with no luck (verifier errors). Does anyone have a port of the demo (or porting instructions) for the S-EK eval board using GCC?

As an aside, does anyone know where I could get an AT91SAM7X-EK eval board?


RE: Port for AT91SAM7S-EK using CrossWorks GCC?

Posted by Nobody/Anonymous on March 17, 2006
I think you should be able to get the SAM7X converted for the S fairly easily.

Do you get this error on the download?

Have you, checked the FreeRTOSConfig.h file to check the heap size is as per the S demo, ensure you have changed the CrossWorks target to the S to get the right linker script.

RE: Port for AT91SAM7S-EK using CrossWorks GCC?

Posted by Richard on March 18, 2006
I have not actually tried it but I think the following procedure will get you pretty close:

1) Copy the demo/lwIP_Demo_Rowley_ARM7 directory to a new directory called something like demo/Rowley_SAM7S.

2) From within CrossStudio open the rtosdemo workspace in the new Rowley_SAM7S directory.

3) In the project explorer right click on the rtosdemo project, select properties from the pop up menu, select the built tab of the pop up windows, and set the target processor to the one you are using. In the same pop up window select the linker tab and set the memory map file to the one for the processor you are using.

4) Back in the project explorer window, delete the following files from the build:

i) The entire lwIP folder.
ii) USC-CDC.c
iii) USBISR.c
iv) semtest.c
v) pollq.c
vi) integer.c
vii) blockq.c
viii) BasicWEB.c

This leaves you with just the flash tasks for a simple starting point.

5) The file partest.c contains the code that writes to the LED's on the board. The code for this is therefore dependent on the EK you are using. Open up partest.c and write the function to initialise, set and LED and toggle an LED to use the correct ports for your target board. If you are using the same EK as per the FreeRTOS SAM7S IAR demo then look at the partest.c file that comes with this demo for most of the code you need. Test that the partest.c code works in isolation (just create a main() function that calls these functions so you know they work before you try and use them with the rtos).

6) Take the FreeRTOSConfig.h file from the IAR SAM7S demo and copy all the #defines into the FreeRTOSConfig.h file in your new Rowley_SAM7S directory. Don't just replace the file as it might contain other settings you require.

7) Open port.c and replace the included header file AT91SAM7X256.h with the correct header for your processor.

Try compiling and see how you go. The Rowley tools have an excellent debugger so you should be able to isolate any problems fairly easily.


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers





STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner