Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 5, 2014

Hi!

I've been using the DS-5 platform for Eclipse to compile my projects to run on the RZ/A1. So far, I've been using the sample software provided by Renesas to check if all the peripherals work as expected on my own protype board. Next I want to take the development a little further, which means including FreeRTOS. I've followed the steps that are mentioned in the README.txt. Unfortunatly, when I open the project in the work environment, I get a ton of syntax errors. The includes in the source file "syscalls.c" (such as #include <_ansi.h> , #include , etc..) does not seem to be recognized. I cannot find these files anywhere on my system. These seem to be standard library files. Is this because I'm working with the GnuCC 14.01 compiler instead of the mentioned 13.01?

Regards


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by rtel on November 5, 2014

Where did the project come from? The official FreeRTOS download has RZ demos for the IAR and ARM compilers, and there is also a separate contributed demo for GCC? there will be an official GCC demo for RZ very soon now there is a FreeRTOS GCC port for Cortex-A.

Regards.


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 5, 2014

I've downloaded the FreeRTOS project from link below: http://www.freertos.org/a00090.html#RENESAS It's the unofficial third party demo written for the RZ Embedded Processor (ARM Cortex-A9 core) with GCC development tools. Do I need to wait for the official GCC demo, or could I just add the missing files from another resource?

Thanks


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by rtel on November 5, 2014

I've not tried myself, but from the errors you report it looks like some kind of library path issue as the libraries are part of the compiler, and if the compiler is installed normally they should be found automatically. I would suggest looking at the linker section of the project options to ensure there are not absolute paths used.

Regards.


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 5, 2014

All paths in the GCC linker have been set to relative. During compiling I get the message that the file "libFreeRTOSDemo.a" could not be found. I've searched my computer and this file is nowhere to be found, although there is a file called "libFreeRTOSDemo.map". Has this too got something to do with these lirary paths?


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by rtel on November 5, 2014

That makes it sound like it is building FreeRTOS as a library. I'm not sure why it does that, but if you can find the .map file then presumably the library must have been built...somewhere.

When I get a chance I will open up the project and look, but I'm currently on the road.

Regards.


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 6, 2014

I've started over again to make sure no paths were corrupted during the process.. The next steps were followed: -Downloaded the zip file from http://www.freertos.org/a00090.html#RENESAS (second link for RZ (ARM Cortex-A9)) -Unzipped this folder into C: -Opened DS-5 and created a new workspace in 'C:FreeRTOSV7.5.3GNURSK+RZA1HFreeRTOSV7.5.3’ -Imported existing project from: C:FreeRTOSV7.5.3GNURSK+RZA1HFreeRTOSV7.5.3FreeRTOSDemoCORTEXA9RZR7S72100IARDS-5 -Went to project properties and under: C/C++ build -> settings changed toolchain version to v14.01 -Under: GCC C Compiler includes, added absolute path to arm directory of installed GNUARM v14.01 and removed the one referring to a non-existing directory v13.01 -Changed optimization level to none -Under Build steps -> Post-build steps added the command: arm-rz-eabi-objcopy -O binary ${ProjName}.x ${ProjName}.bin& in order to get binary and motorola output. After completing these steps, I tried to build the project once again. The Eclipse console gives me the "Build Finished" line, although there are unresolved inclusions and errors. But this time the libFreeRTOSDemo.a file seems to be generated. Hopefully this text aids in reproducing the same error.?

[EDIT]: I've included another absolute path to a directory of the GNU compiler. Turns out this was the main cause for the unresolved inclusions. With #include "iodefine.h" the error: "symbol "NULL" couldn't be resolved" is gone. Am I messing anything up by including this file? After this still some errors remain like "type size_t" couldn't be resolved".

Thank you for your time


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by rtel on November 6, 2014

I just downloaded and tried to compile the project. It compiled ok down as far as syscalls.c, then complained it could not find swi.h. The header file is in the compiler's installation directory, but I noticed the include paths in the project were hard coded to have the compiler in c:/program files/KPIT, whereas on my computer they are in c:/devtools/KPIT.

Fixing that allowed me to compile the code, but when arm-rz-eabi-libgen is invoked it just crashes, reporting "Error -1073741819". It seems to be building a project specific library, which it is using 'FreeRTOS' in the name of because the project is called FreeRTOS_Demo - but I suspect the library just contains the C run-time that will be used in the final link step as the FreeRTOS code is built as part of the application - as far as I can see anyway.

If you look in the libgen options (in the project options dialog) you will see there is an option to use a pre-built library rather than building the project specific one. My attempt to use that alternative option would indicate that the library needs to be built at least once first though.

I am however using the older compiler still and am out of the office currently so can't download the latest compiler.

Regards.


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 7, 2014

The Project-Built library type with "Newlib" (standard GNU library) selected resulted in building the required libFreeRTOSDemo.a library. Next I've changed the library type to Pre-Built and changed the library to Optimized. The compiler creates the binary files and is ready to flash. However there still remain multiple errors as symbol 'sizet' could not be resolved. Do you know which library contains the definition for the size_t type? Maybe if I know the exact location, I can try to add this file manually?

[EDIT]: Additional information: The release notes of the GNUARM-RZ v14.01 mentions a known issue in ARM-RZ-EABI. LIBGEN: 1. While building the Newlib library using 'libgen' tool, many compiler warnings are generated by the 'libgen' tool. These warnings are displayed on 'stdout' while building the runtime libraries. These warnings are observed while building the pre-built libraries as well

Kind regards


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by qwedvit on November 13, 2014

[SOLVED] I've created a new workspace as the readme.txt tells me from ealier posted URL. Modified GNU compiler path program files to program files (x86). After this step it compiles the code succesfully, which means I've got a working copy! But when opening the syscalls.c file a ton of errors and warnings appear.

[SOLUTION] In DS-5: go to window > preferences > C/C++ > Code Analysis. Turn off all potential programming problems and turn off all Syntax ans Semantic errors.


FreeRTOS RZ/A1 DS-5 GCC 14.01

Posted by edwards3 on November 13, 2014

In which case those are not compiler warnings, just interfering from an IDE that is not parsing the code properly. Lots of people complain about that, I don't know why they have it switched on by default because it just causes confustion.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS