FreeRTOS.org/SAM7/Keil

[moved from private email – please use the forum for free support] Hi 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.

FreeRTOS.org/SAM7/Keil

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. Regards.

FreeRTOS.org/SAM7/Keil

Hi 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. Help Paul 

FreeRTOS.org/SAM7/Keil

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. Dave.

FreeRTOS.org/SAM7/Keil

Hi 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? Paul

FreeRTOS.org/SAM7/Keil

Hi 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. Help Paul

FreeRTOS.org/SAM7/Keil

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.