Quality RTOS & Embedded Software

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



Posted by Richard on February 1, 2007
[moved from private email - please use the forum for free support]


I am currently tasked with developing a product. The processor is the
AT91SAM7X256 and the tooset is Keil uVision. The compiler is now very strict
on compiler inserts and does not compile the example for IAR.

Is there a port for this processor and toolset, or what would be a good
starting point for me to do it. The IAR code, or RealView code?

Thanks for any help you can give me.

RE: FreeRTOS.org/SAM7/Keil

Posted by Richard on February 1, 2007
Each compiler requires its own port layer, so the IAR code will definitely not compile with the Keil tools. This is only because of the different assembler syntax and keywords implemented by each tool, the function of each port is identical.

The Keil demo included in the FreeRTOS.org download is still using the Keil compiler, rather than the Keil/ARM combo now being shipped by Keil. I have a project sent in by a third party targeted at the SAM7S for the Keil/ARM tools although I have not yet tested it myself. I have sent it to you all the same. The port layer for the SAM7S and SAM7X is identical so it should be a good starting point for you.


RE: FreeRTOS.org/SAM7/Keil

Posted by paulz on February 8, 2007

Thanks for the previous help. I am now trying to get lwIP up and running and I am having problems.

I basically copied the the IAR code and made some changes and also used the serialISR.c as an example. What I discovered was that

1) The ISR always caused an UNDEF trap when it returned. I cured this by using __irq on the ISR declaration even although it specifically says not to.

2) The ISR does not wake up ethernetif_input. If I step through the program it works occosionally.



RE: FreeRTOS.org/SAM7/Keil

Posted by Nobody/Anonymous on February 8, 2007
Does it say not to to do this for Keil ports, or IAR ports. Each compiler has its own way of handling interrupts. Check other Keil ports to see how it is done and copy that.


RE: FreeRTOS.org/SAM7/Keil

Posted by paulz on February 8, 2007

It says it for the Keil ports. I started with the ARM91SAM7S64_KEIL_RV port. Got this working. Moved it onto the ARM91SAM7X256, dropped the IAR emac code and modified it as per the serial driver.

On return from the eman ISR it always through in UNDEFINED trap. This was fixed with __irq.

I could single step and sometimes see ARP responses. Very intermittent, traced it to the xSemaphore between the EMACISR and lwIP not causing any lwIP tasks to be scheduled ethernetif_input.

Has anybode else done this or in the process of doing it?


RE: FreeRTOS.org/SAM7/Keil

Posted by paulz on February 15, 2007

Almost working.
Got lwIP almost working. ping works forever.

The web server stops after 20 connections.

packet sniffer indicated that that the web server recived a DUPlicate ACK and reset the connection.



RE: FreeRTOS.org/SAM7/Keil

Posted by Nobody/Anonymous on February 15, 2007
There are a few lwIP questions that pop up here. Maybe better answers could be got from the lwIP users mail list? If so then please report back any info.

[ 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