I'm looking for a good starting point for a FreeRTOS port for the Analog Devices ADuCM320 (intially we'll run on the ADuCM320EBZ eval board). Our current plan is to use a Segger/GCC setup, however we could use Keil if there was an obvious advantage to it.
We've used FreeRTOS in the past, but we've never had to do a port before. Any pointers/advice would be appreciated.
Since that part is ARM Cortex-M3 processor based - there's your starting point - look in the ..Demo directory for what is closest to that part and the tools you really want to use.
If you had to start from scratch; knowing all there is to know about the stack frame; how IRQ's are handled; how pointers; pointers to structures; etc. are handled is important to how you'd do the port - but I think there's plenty there to get started with.
Doing context switching and the main timer irq are routines that should be in assembly language; you will probably find some starting points for that.
The more AD deviated from the ARM architecture; if they did at all; usually means more work on your end to get the port 100%. The infocenter.arm.com site is your friend.
Since that part is ARM Cortex-M3 processor based - there's your
More than that - as this is a Cortex-M processor no porting is
required...at all. All you need to do is create a project. The
following links might help:
I had a hard time identifying a FreeRTOS port that used a processor similar to the one we are using (just no easy way to compare them), so I ended up doing it from scratch, using the default startup setup generated by a Keil Cortex-M3 project. Then just added in the FreeRTOS files into the project. Most of the missing functions specific to the M3 I dug up from our previous port.
Once I'd done a simple port, it was easy to add the RTOS to any example projects supplied by the chip vendor and across different setups (Segger/GCC). I just needed some confidence in choosing a starting point.
Thanks again for your help,
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.