This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FreeRTOS + RM48 HDK

Other Parts Discussed in Thread: RM48L950, HALCOGEN

I am trying to run FreeRTOS on the RM48HDK. I am following the help file named  example_freertosblinky.c . But the LED does not seem to blink.

First I create a empty project in Code Composer Studio. I select the variant to be RM48L950, and connection as Texas Instruments XDS100v2 USB Emulator. I leave the other settings to their default fields.

Then in HALCOGEN, I select  the device as RM48L950ZWT_FREERTOS. I follow the exact same steps as mentioned in the help file, but just a small change in VIM RAM column, instead of of vPreemptiveTick , I have used vPortPreemptiveTick. The former  gave me linking errors.

Also, I was getting a error for all the header files included. The error stated that the source files cannot be found. I just added this in all the #include statements to remove this error.

#include "../include/file_name.h" instead of just #include "file_name.h".

That got rid of the compile and linking errors and I was able to generate the executable. 

I load the .out file on the board using nowFlashWin.

I am attaching my workspace here. If somebody can tell me where am I going wrong. Are there any project properties to be changed in Code Composer Studio?

It would be great if anybody could share their working FreeRTOS working directory for the RM48 HDK it would be great.

Here is my FreeRTOS workspace

1732.New Workspace.zip

  • Hello Jay,

    We will have look at your project and get back to you with some answers soon. Thanks for using the e2e forum.

  • Hello Jay,

    Through some discussions with others in the applications team, I found out that there was a change in the latest version of the FreeRTOS included with halcogen that runs all tasks in user mode instead of supervisor mode. This means you have to OR in the privilege bit flag with the priority when you call the creat task funcion. Try changing the call to xTaskCreate as shown/highlighted below and let me know if this solves your problem.

    if (xTaskCreate(vTask1, (const signed char *)"Task1", configMINIMAL_STACK_SIZE, NULL, (1 | portPRIVILEGE_BIT), &xTask1Handle) != pdTRUE)

  • Hello, 

    Firstly Thank You for your reply.

    I changed the code as you suggested, but that did not work. The LED still does not blink.

    I tried to single step the C code, and found this error. It says source not found for 'vPortYieldProcessor'.

    There seems to be some change applied to the Step 4 of the example_freeRTOSBlinky Help file? Because the 'vPortYieldProcessor' keyword is entered in that step in Halcogen

    This is the screenshot of the error.

    Could you please let me know if the step 4 of this help file has to be changed.Here's that step as given in the help file.

  • Hello Jay,

    I've forwarded this thread to our Halcogen lead and owner of the Halcogen example code so that he can evalutate your code and provide some guidance in resolving the issues. He should get back with you shortly.

  • Hi Jay,

    Please enter the SVC handler name as 'vPortSWI' (the default name) instead of 'vPortYieldProcessor'. We will soon update the help file. You can leave all those configurations mentioned in the help file to the default one.

    And you need not give the full path name for all the include files. You can add the path of the include directory to the project. Project properties->Build->ARM Compiler->Include options->Add dir to #include search path.

    Hope this helps!

    Regards,

    Veena

  • Hello,

    Thank You for your suggestion.

    The LED  labelled NHET1 (17) started blinking. :-)