[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?
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.
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.
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?
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.