Porting v.9.0.0 to TI AM1808 (ARM9) on the LEGO Mindstorms EV3

konstantinozh wrote on Friday, September 16, 2016:

Hi

I am currently working on an academic project where I want to implement a RTOS on a LEGO Mindstorms EV3 which runs an AM1808. I have been looking at FreeRTOS and it seems like a very good option if I can get it to work.

As someone who has limited experience in this field (I know C/C++, have worked on embedded projects before, but not real time systems from the ground up). What am I looking at here concerning amount of work to get this up and running (I know, extremely hard to answer)? I have found little to no sources online from other people trying to do the same, so I am looking at adapting one of the ARM9 ports to the AM1808.

Any recommendations and starting tips would be very much appreciated.

rtel wrote on Friday, September 16, 2016:

See here:
http://www.freertos.org/FreeRTOS_Support_Forum_Archive/March_2012/freertos_Porting_freertos_on_AM1808_5128335.html

My recommendation would be a step by step approach.

  1. Get a simple bare metal project running. Just a main() function that
    does something to make sure you can compile, download and debug the part
    first.

  2. Next select a timer you are going to use to generate the tick
    interrupt and write a driver to configure and use it to ensure you can
    get it generating interrupt at the frequency you want.

  3. Then add in the FreeRTOS code. See the link above and

http://www.freertos.org/Creating-a-new-FreeRTOS-project.html

and

http://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html

…then come back to learn how to stitch the two together.

konstantinozh wrote on Friday, September 16, 2016:

Thank you so much for your advice! I’ll follow your recommendations and get started.