Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training



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 ]    [ Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists