Quality RTOS & Embedded Software

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




Loading

RX62N Port - Illegal expression

Posted by Stephen Farrow on August 29, 2013
I am using the FreeRTOS port for the Renesas RX62N Microcontroller,
FreeRTOS V7.4.2
compiler = Renesas RX Family V.1.02.01.000
IDE = HEW4 V4.09.00.007
HW = Renesas Development Kit YRDKRX62N

I have built the Blinky project and I am getting the following errors.

Phase: RX C/C++ Compiler, File: RX C/C++ Compiler, dependency scan error
c:\workspace\backup of freertos qac test\demo\rx600_rx62n-rdk_renesas\rtosdemo\stackmacros.h(112) : DC307 (F) Illegal expression
Phase: RX C/C++ Compiler, File: RX C/C++ Compiler, dependency scan error
c:\workspace\backup of freertos qac test\demo\rx600_rx62n-rdk_renesas\rtosdemo\port.c(337) : DC306 (F) Syntax error
Phase: RX C/C++ Compiler, File: RX C/C++ Compiler, dependency scan error
c:\workspace\backup of freertos qac test\demo\rx600_rx62n-rdk_renesas\rtosdemo\stackmacros.h(112) : DC307 (F) Illegal expression
Building - RTOSDemo - Blinky

Any idea on what is causing these errors?SOMETHING HERE

RE: RX62N Port - Illegal expression

Posted by Richard on August 29, 2013
Yes - the dependency scanner is eccentric. By default it ignores the preprocessor directives and tries to includes files from all the FreeRTOS ports. You can ignore these warnings (I think the documentation page for the official demo says as much) because they are not compile or linker errors - you should find the code compiles and links without any problems.

Also, if you dig deep enough into the IDE options you will find an option that requests the dependency scanner includes processing of the pre-processor directives, selecting that option makes it much quieter.

Regards.

RE: RX62N Port - Illegal expression

Posted by Stephen Farrow on August 30, 2013
Hi Richard

In your reply are you refering to when an #include is made within a #ifdef of #ifndef statement, i.e. as in portable.h
I have temporarily modified code so no header files are included in this way. However I still get the errors.

The first error (DC306), seems to be associated with the following lines in port.c

MVTIPL #configMAX_SYSCALL_INTERRUPT_PRIORITY
MVTIPL #configKERNEL_INTERRUPT_PRIORITY

RE: RX62N Port - Illegal expression

Posted by Richard on August 30, 2013
In future it would be helpful if you could post the error text, rather than just the error number, so I don't have to look it up. In this case it appears to just be "syntax error".

Can you post the definitions of configMAX_SYSCALL_INTERRUPT_PRIORITY and configKERNEL_INTERRUPT_PRIORITY. They should be in FreeRTOSConfig.h.

Which compiler version are you using?

Regards.

RE: RX62N Port - Illegal expression

Posted by Stephen Farrow on September 2, 2013
Hi Richard

#define configKERNEL_INTERRUPT_PRIORITY 1
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4

compiler = Renesas RX Family V.1.02.01.000

RE: RX62N Port - Illegal expression

Posted by Richard on September 2, 2013
I am using the same compiler version. This is the output I get when I build the HEW project located in FreeRTOS/Demo/RX600_RX62N-RDK_Renesas (unmodified, so with the same configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY settings as you:

“Phase RX C/C++ Library Generator starting
Phase RX C/C++ Library Generator finished

Phase RX C/C++ Compiler starting
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\BlockQ.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\GenQTest.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\IntQueue.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\PollQ.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\QPeek.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\blocktim.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\death.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\flash.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\flop.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\integer.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\recmutex.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\Minimal\semtest.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\psock.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\timer.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\uip.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\Common\ethernet\FreeTCPIP\uip_arp.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\HighFrequencyTimerTest.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\IntQueueTimer.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\ParTest.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\dbsct.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\intprg.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\resetprg.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\sbrk.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\main-full.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\uIP_Task.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\webserver\EMAC.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\webserver\httpd-cgi.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\webserver\phy.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\list.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\portable\MemMang\heap_2.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\portable\Renesas\RX600\port.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\queue.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\tasks.c
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\timers.c
Phase RX C/C++ Compiler finished

Phase RX Assembler starting
C:\temp\752\FreeRTOSV7.5.2\FreeRTOS\Source\portable\Renesas\RX600\port_asm.src
Phase RX Assembler finished

Phase OptLinker starting
Phase OptLinker finished

Build Finished
0 Errors, 0 Warnings”


Regards.

RE: RX62N Port - Illegal expression

Posted by Stephen Farrow on September 2, 2013
The DC306 syntax error, is displayed for the "Blinky" build.
I think the output you have shown is for the "Debug" build, if possible can you try again using the "Blinky" build

Note: Blinky build also throws up a L3100 (F) Section address overflow out of range : "L" but this can be rectified by adding the "L" section using the RX standard toolchain.

Best Regards

RE: RX62N Port - Illegal expression

Posted by Richard on September 2, 2013
“Note: Blinky build also throws up a L3100 (F) Section address overflow out of range : "L" but this can be rectified by adding the "L" section using the RX standard toolchain.


Confirm I can replicate that, and fixed it by adding in the L* section. I then get:

“Phase OptLinker starting
L2201 (E) Illegal library file : "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RX600_RX62N-RDK_Renesas\RTOSDemo\Blinky\RTOSDemo.lib"
Optimizing Linkage Editor Abort”


Going to the options dialogue, standard library tab, standard library category, and selecting "match.h" in the category window (so the selections match those used by the debug build configuration) fixed that.

After that my output from the build is as per my previous post.

Regards.


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




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.


Free TCP/IP and file system demos for the RTOS


Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists