From 992dab126dda26abdb292b7bafda680f8c4c7cac Mon Sep 17 00:00:00 2001 From: richardbarry Date: Wed, 22 Sep 2010 22:02:54 +0000 Subject: [PATCH] Replace asm wrappers to interrupt handlers with functions that use the interrupt attribute. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1127 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../RTOSDemo/HighFrequencyTimerTest.c | 20 ++-- .../RTOSDemo/IntQueueTimer.c | 28 ++---- .../RTOSDemo/RTOSDemo.hwp | 94 +++++++++--------- .../RTOSDemo/RTOSDemo.nav | Bin 136366 -> 136081 bytes .../RTOSDemo/RTOSDemo.tps | 2 +- .../RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf | 54 +++++----- .../RTOSDemo/main-blinky.c | 8 +- .../RTOSDemo/main-full.c | 12 ++- Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/vects.c | 16 +-- .../RTOSDemo/webserver/EMAC.c | 26 ++--- .../RX600_RX62N_RDK_GNURX.tws | 6 +- .../RTOSDemo/HighFrequencyTimerTest.c | 20 ++-- .../RTOSDemo/IntQueueTimer.c | 28 ++---- .../RTOSDemo/RTOSDemo.hwp | 84 ++++++++-------- .../RTOSDemo/RTOSDemo.nav | Bin 126816 -> 126758 bytes .../RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf | 34 +++---- .../RTOSDemo/main-blinky.c | 17 ++-- .../RTOSDemo/main-full.c | 12 ++- Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/vects.c | 16 +-- .../RTOSDemo/webserver/EMAC.c | 26 ++--- 20 files changed, 221 insertions(+), 282 deletions(-) diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/HighFrequencyTimerTest.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/HighFrequencyTimerTest.c index 6c66a6db5..e109f0942 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/HighFrequencyTimerTest.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/HighFrequencyTimerTest.c @@ -77,9 +77,8 @@ zero. */ /*-----------------------------------------------------------*/ -/* Interrupt wrapper and handler in which the jitter is measured. */ -void vTimer2_ISR_Wrapper( void ) __attribute__((naked)); -static void prvTimer2_ISR_Handler( void ) __attribute__((noinline)); +/* Interrupt handler in which the jitter is measured. */ +void vTimer2_ISR_Handler( void ) __attribute__((interrupt)); /* Stores the value of the maximum recorded jitter between interrupts. This is displayed on one of the served web pages. */ @@ -123,21 +122,16 @@ void vSetupHighFrequencyTimer( void ) } /*-----------------------------------------------------------*/ -void vTimer2_ISR_Wrapper( void ) -{ - portENTER_INTERRUPT(); - prvTimer2_ISR_Handler(); - portEXIT_INTERRUPT(); -} -/*-----------------------------------------------------------*/ - -static void prvTimer2_ISR_Handler( void ) +void vTimer2_ISR_Handler( void ) { volatile unsigned short usCurrentCount; static unsigned short usMaxCount = 0; static unsigned long ulErrorCount = 0UL; - /* We use the timer 1 counter value to measure the clock cycles between + /* This is the highest priority interrupt in the system, so there is no + advantage to re-enabling interrupts here. + + We use the timer 1 counter value to measure the clock cycles between the timer 0 interrupts. First stop the clock. */ CMT.CMSTR1.BIT.STR3 = 0; portNOP(); diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/IntQueueTimer.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/IntQueueTimer.c index 31538a17c..cb20c4324 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/IntQueueTimer.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/IntQueueTimer.c @@ -71,11 +71,11 @@ #define tmrTIMER_0_1_FREQUENCY ( 2000UL ) #define tmrTIMER_2_3_FREQUENCY ( 2001UL ) -/* Wrappers and handlers for the two timers used. See the documentation page +/* Handlers for the two timers used. See the documentation page for this port on http://www.FreeRTOS.org for more information on writing interrupt handlers. */ -void vT0_1_ISR_Wrapper( void ) __attribute((naked)); -void vT2_3_ISR_Wrapper( void ) __attribute((naked)); +void vT0_1_ISR_Handler( void ) __attribute((interrupt)); +void vT2_3_ISR_Handler( void ) __attribute((interrupt)); void vInitialiseTimerForIntQueueTest( void ) { @@ -131,35 +131,25 @@ void vInitialiseTimerForIntQueueTest( void ) } /*-----------------------------------------------------------*/ -void vT0_1_ISR_Wrapper( void ) +void vT0_1_ISR_Handler( void ) { - /* This is a naked function. This macro saves registers then re-enables - interrupts. See the documentation for htis port on http://www.FreeRTOS.org - for more information on writing interrupts. */ - portENTER_INTERRUPT(); + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); /* Call the handler that is part of the common code - this is where the non-portable code ends and the actual test is performed. */ portYIELD_FROM_ISR( xFirstTimerHandler() ); - - /* Restore registers, then return. */ - portEXIT_INTERRUPT(); } /*-----------------------------------------------------------*/ -void vT2_3_ISR_Wrapper( void ) +void vT2_3_ISR_Handler( void ) { - /* This is a naked function. This macro saves registers then re-enables - interrupts. See the documentation for htis port on http://www.FreeRTOS.org - for more information on writing interrupts. */ - portENTER_INTERRUPT(); + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); /* Call the handler that is part of the common code - this is where the non-portable code ends and the actual test is performed. */ portYIELD_FROM_ISR( xSecondTimerHandler() ); - - /* Restore registers, then return. */ - portEXIT_INTERRUPT(); } /*-----------------------------------------------------------*/ diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp index 9bb919307..5d7f002a0 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.hwp @@ -385,62 +385,60 @@ [LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM] [GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM] [OPTIONS_Debug_with_optimisation_GNU Assembler] -"Assembly source file" "09863a320aa5bc10" 4 +"Assembly source file" "09863a320aa5bc10" 3 [OPTIONS_Debug_with_optimisation_GNU Compiler] -"C source file" "09863a320aa5bc10" 3 -"C++ source file" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\start.asm" "09863a320aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\IntQueueTimer.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\ParTest.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\uIP_Task.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\vects.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\EMAC.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\phy.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "09863a320aa5bc10" 3 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "09863a320aa5bc10" 3 -"Preprocess Assembly file" "09863a320aa5bc10" 2 +"C source file" "020673517aa5bc10" 2 +"C++ source file" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\start.asm" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\IntQueueTimer.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\ParTest.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\uIP_Task.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\vects.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\EMAC.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\webserver\phy.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "020673517aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "020673517aa5bc10" 2 +"Preprocess Assembly file" "020673517aa5bc10" 2 [OPTIONS_Debug_with_optimisation_GNU Library Generator] "Single Shot" "097f0a320aa5bc10" 1 [OPTIONS_Debug_with_optimisation_GNU Linker] -"Single Shot" "09863a320aa5bc10" 5 +"Single Shot" "09863a320aa5bc10" 4 [OPTIONS_Debug_with_optimisation] "" 0 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|lib$(PROJECTNAME).a*libgcc.a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<>|<>|<>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<>|0|.text.*|All-files|<>|0|P|All-files|<>|1|etext|<>|<>|<>|.rvectors|0|0||0||0|1|1|_rvectors_start|<>|0|.rvectors|All-files|<>|1|_rvectors_end|<>|<>|<>|.init|0|0||0||0|0|0|.init|All-files|<>|<>|<>|.fini|0|0||0||0|0|0|.fini|All-files|<>|<>|<>|.got|0|0||0||0|0|0|.got|All-files|<>|0|.got.plt|All-files|<>|<>|<>|.rodata|0|0||0||0|0|0|.rodata|All-files|<>|0|.rodata.*|All-files|<>|0|C_1|All-files|<>|0|C_2|All-files|<>|0|C|All-files|<>|1|_erodata|<>|<>|<>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<>|<>|<>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<>|<>|<>|.jcr|0|0||0||0|0|0|.jcr|All-files|<>|<>|<>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<>|1|___ctors|<>|0|.ctors|All-files|<>|1|___ctors_end|<>|1|__CTOR_END__|<>|1|__DTOR_LIST__|<>|1|___dtors|<>|0|.dtors|All-files|<>|1|___dtors_end|<>|1|__DTOR_END__|<>|1|_mdata|<>|<>|<>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<>|<>|<>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<>|<>|<>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<>|0|.data|All-files|<>|0|.data.*|All-files|<>|0|D|All-files|<>|0|D_1|All-files|<>|0|D_2|All-files|<>|1|_edata|<>|<>|<>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<>|<>|<>|.bss|0|0||0||0|0|1|_bss|<>|0|.bss|All-files|<>|0|.bss.*|All-files|<>|0|COMMON|All-files|<>|0|B|All-files|<>|0|B_1|All-files|<>|0|B_2|All-files|<>|1|_ebss|<>|1|_end|<>|<>|<>|] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1] -" 5 -"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|APPTXT|^"-Wa,-gdwarf2^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] +" 4 +"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|APPTXT|^"-Wall^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] " 2 -"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\Ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG|INCLUDE_HIGH_FREQUENCY_TIMER_TEST] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|1] [I|OPTLV|1] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] -" 3 -"[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 4 +"[V|VERSION|2] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [I|DEBUGLV|2] [B|LINCHLS|1] [B|LINCASS|1] [B|LINCSYM|1] [S|LFILE|^"$(CONFIGDIR)\$(FILELEAF).^"] [S|PROJECTTYPE|CAPPPROJECT] [S|INCDIR|^"$(PROJDIR)^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] " 3 "[V|VERSION|2] [S|OUTPUTPATH|^"$(CONFIGDIR)\lib$(PROJECTNAME).a^"] [B|OPTIMIZE|1] [I|OPTTYPE|1] [S|MODE|BUILD/CHANGED] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [B|DOPROJBUILT|1] [B|DOOPTLIB|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] " 1 [EXCLUDED_FILES_Debug_with_optimisation] "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-blinky.c" diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.nav index d2ff7315eedb84f1b52eb041e0f675b587316522..ace7588da27e0e00165e4776580ee84ff4cb3742 100644 GIT binary patch delta 7228 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 Cx5X#` diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps index 8802a9b26..fa61cca1f 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/RTOSDemo.tps @@ -21,7 +21,7 @@ "DefaultSession" "SessionRX600_E1_E20_SYSTEM" [GENERAL_DATA_CONFIGURATION_Debug] -"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE" +"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE" [SESSIONS_Debug] "DefaultSession" "SessionRX600_E1_E20_SYSTEM" diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf index 14c97f794..9ce598bed 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf @@ -89,32 +89,32 @@ "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000719C" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "00000000000031A4" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "000000000000007B" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000000001" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000003570" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000006F2C" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000719C" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000BB7C" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "000000000000C574" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "000000000000C588" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "000000000000C584" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "000000000000C580" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "000000000000C57C" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000419C0000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "000000000000C58C" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000BB7C" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017FE0" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030003" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF8FA33" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000006F2C" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF925E0" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF91288" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000000C594" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF92658" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000080000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000001" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000006F2C" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "00000000A5A5A5A5" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000C598" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "000000000000C590" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "000000000000EB14" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "000000000000C578" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" @@ -220,10 +220,10 @@ 0 [WINDOW_POSITION_STATE_DATA_VD1] "Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" -"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 252 0 0 100 100 17 0 "32771|32772|32778|<>|32773|32774|<>" "0.0" +"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 400 0 0 100 100 17 0 "32771|32772|32778|<>|32773|32774|<>" "0.0" "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 5 0 "1.00" 146 0 0 350 200 17 0 "57634|57637|57633|<>|32781|32782|<>|32780|32785|32787" "0.0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.27" 252 0 0 350 200 2065 0 "42202|42203|42204|42233|<>|42206|42205|42230|42229|42207|<>|42208|42209|42210|49076|42228|42227|<>|42231|42232|42234|42235|<>|42211|<>" "0.0" -"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 252 560 340 350 200 18 0 "36756|36757|36758|36759|<>|36746|36747|<>|39531|<>|39500|39534|<>|36687" "0.0" +"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 400 560 340 350 200 18 0 "36756|36757|36758|36759|<>|36746|36747|<>|39531|<>|39500|39534|<>|36687" "0.0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 413 0 0 350 200 2065 0 "" "0.0" "{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 441 0 0 853 610 17 0 "32781|32783|<>|32771|32829|32772|32827|32773|<>|32786|<>|32810|32811" "0.0" "{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 342 560 340 350 200 18 0 "" "0.0" @@ -235,9 +235,9 @@ "{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" "{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 18 0 "" "0.0" "{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0" -"{WK_TB00000011_CPU}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 18 0 "" "0.0" +"{WK_TB00000011_CPU}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 18 0 "" "0.0" "{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" -"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 18 0 "" "0.0" +"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 59419 2 6 "0.00" 0 0 0 0 0 18 0 "" "0.0" "{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 2 9 "0.00" 0 0 0 0 0 17 0 "" "0.0" "{WK_TB00000015_PERFORMANCE}" "TOOLBAR 0" 59419 2 10 "0.00" 0 0 0 0 0 17 0 "" "0.0" "{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 2 8 "0.00" 0 0 0 0 0 17 0 "" "0.0" @@ -247,13 +247,11 @@ "{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0" "{WK_TB00000027_EVENT}" "TOOLBAR 0" 59419 2 7 "0.00" 0 0 0 0 0 17 0 "" "0.0" "{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" -"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0" +"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" [WINDOW_POSITION_STATE_DATA_VD2] [WINDOW_POSITION_STATE_DATA_VD3] [WINDOW_POSITION_STATE_DATA_VD4] [WINDOW_Z_ORDER] -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\start.asm" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" [TARGET_NAME] "RX600 E1/E20 SYSTEM" "" 0 @@ -277,8 +275,8 @@ "SBK_TAR_EMUE100|Exception" 1 "SBK_TAR_EMUE100|BreakCondition" 1 "SBK_TAR_EMUE100|TaskID" 1 -"SBK_TAR_EMUE100|PC" 1 "SBK_TAR_EMUE100|ExecutionTime" 1 +"SBK_TAR_EMUE100|PC" 1 [STATUSBAR_DEBUGGER_PANESTATE_VD2] [STATUSBAR_DEBUGGER_PANESTATE_VD3] [STATUSBAR_DEBUGGER_PANESTATE_VD4] diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-blinky.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-blinky.c index d8c02151a..95eac6069 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-blinky.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-blinky.c @@ -223,8 +223,8 @@ void vApplicationIdleHook( void ) configurations to use the same vector table. They are not used in this demo, but linker errors will result if they are not defined. They can be ignored. */ -void vT0_1_ISR_Wrapper( void ) {} -void vT2_3_ISR_Wrapper( void ) {} -void vEMAC_ISR_Wrapper( void ) {} -void vTimer2_ISR_Wrapper( void ) {} +void vT0_1_ISR_Handler( void ) {} +void vT2_3_ISR_Handler( void ) {} +void vEMAC_ISR_Handler( void ) {} +void vTimer2_ISR_Handler( void ) {} volatile unsigned long ulHighFrequencyTickCount = 0; \ No newline at end of file diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-full.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-full.c index 3a4e74cde..a5d94c5be 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-full.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/main-full.c @@ -248,7 +248,7 @@ static const char *pcStatusMessage = NULL; /*-----------------------------------------------------------*/ -void main(void) +int main(void) { extern void HardwareSetup( void ); @@ -260,14 +260,14 @@ extern void HardwareSetup( void ); vParTestInitialise(); /* Start the reg test tasks which test the context switching mechanism. */ - xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); - xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest1Task, ( signed char * ) "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest2Task, ( signed char * ) "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); /* The web server task. */ - xTaskCreate( vuIP_Task, "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL ); + xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL ); /* Start the check task as described at the top of this file. */ - xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); + xTaskCreate( prvCheckTask, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); /* Create the standard demo tasks. */ vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); @@ -294,6 +294,8 @@ extern void HardwareSetup( void ); running. If we do reach here then it is likely that there was insufficient heap available for the idle task to be created. */ for( ;; ); + + return 0; } /*-----------------------------------------------------------*/ diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/vects.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/vects.c index 7e9b6b1a0..a1a33fe16 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/vects.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/vects.c @@ -19,10 +19,10 @@ extern void start(void); extern void stack (void); extern void vTickISR( void ); extern void vSoftwareInterruptISR( void ); -extern void vT0_1_ISR_Wrapper( void ); -extern void vT2_3_ISR_Wrapper( void ); -extern void vEMAC_ISR_Wrapper( void ); -extern void vTimer2_ISR_Wrapper( void ); +extern void vT0_1_ISR_Handler( void ); +extern void vT2_3_ISR_Handler( void ); +extern void vEMAC_ISR_Handler( void ); +extern void vTimer2_ISR_Handler( void ); #define FVECT_SECT __attribute__ ((section (".fvectors"))) @@ -160,11 +160,11 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x0074 CMTU0_CMT1 (fp)INT_Excep_CMTU0_CMT1, //;0x0078 CMTU1_CMT2 - (fp)vTimer2_ISR_Wrapper, + (fp)vTimer2_ISR_Handler, //;0x007C CMTU1_CMT3 (fp)INT_Excep_CMTU1_CMT3, //;0x0080 Ether - (fp)vEMAC_ISR_Wrapper, + (fp)vEMAC_ISR_Handler, //;0x0084 Reserved (fp)0, //;0x0088 Reserved @@ -448,7 +448,7 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x02B4 Reserved (fp)0, //;0x02B8 TMR0_CMI0A - (fp)vT0_1_ISR_Wrapper, + (fp)vT0_1_ISR_Handler, //;0x02BC TMR0_CMI0B (fp)INT_Excep_TMR0_CMI0B, //;0x02C0 TMR0_OV0I @@ -460,7 +460,7 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x02CC TMR1_OV1I (fp)INT_Excep_TMR1_OV1I, //;0x02D0 TMR2_CMI2A - (fp)vT2_3_ISR_Wrapper, + (fp)vT2_3_ISR_Handler, //;0x02D4 TMR2_CMI2B (fp)INT_Excep_TMR2_CMI2B, //;0x02D8 TMR2_OV2I diff --git a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c index 10ca4ff34..9502358f4 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c +++ b/Demo/RX600_RX62N-RDK_GNURX/RTOSDemo/webserver/EMAC.c @@ -144,12 +144,11 @@ static void prvConfigureEtherCAndEDMAC( void ); static void prvResetEverything( void ); /* - * Wrapper and handler for the EMAC peripheral. See the documentation for this + * Handler for the EMAC peripheral. See the documentation for this * port on http://www.FreeRTOS.org for more information on defining interrupt * handlers. */ -void vEMAC_ISR_Wrapper( void ) __attribute__((naked)); -static void vEMAC_ISR_Handler( void ) __attribute__((noinline)); +void vEMAC_ISR_Handler( void ) __attribute__((interrupt)); /*-----------------------------------------------------------*/ @@ -524,29 +523,16 @@ static void prvConfigureEtherCAndEDMAC( void ) } /*-----------------------------------------------------------*/ -void vEMAC_ISR_Wrapper( void ) -{ - /* This is a naked function. See the documentation for this port on - http://www.FreeRTOS.org for more information on writing interrupts. - - /* Save the registers and enable interrupts. */ - portENTER_INTERRUPT(); - - /* Perform the actual EMAC processing. */ - vEMAC_ISR_Handler(); - - /* Restore the registers and return. */ - portEXIT_INTERRUPT(); -} -/*-----------------------------------------------------------*/ - -static void vEMAC_ISR_Handler( void ) +void vEMAC_ISR_Handler( void ) { unsigned long ul = EDMAC.EESR.LONG; long lHigherPriorityTaskWoken = pdFALSE; extern xSemaphoreHandle xEMACSemaphore; static long ulTxEndInts = 0; + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); + /* Has a Tx end occurred? */ if( ul & emacTX_END_INTERRUPT ) { diff --git a/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws b/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws index 98669c1c7..be1f60a3f 100644 --- a/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws +++ b/Demo/RX600_RX62N-RDK_GNURX/RX600_RX62N_RDK_GNURX.tws @@ -7,13 +7,9 @@ [GENERAL_DATA] [BREAKPOINTS] [OPEN_WORKSPACE_FILES] -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\start.asm" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" [WORKSPACE_FILE_STATES] -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" -4 -23 1314 626 1 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\GNU-Files\start.asm" 44 44 1130 405 0 1 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" 0 0 1314 608 0 0 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RDK_GNURX\RTOSDemo\main-full.c" -4 -23 1314 460 1 0 [LOADED_PROJECTS] "RTOSDemo" [END] diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/HighFrequencyTimerTest.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/HighFrequencyTimerTest.c index 6c66a6db5..e109f0942 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/HighFrequencyTimerTest.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/HighFrequencyTimerTest.c @@ -77,9 +77,8 @@ zero. */ /*-----------------------------------------------------------*/ -/* Interrupt wrapper and handler in which the jitter is measured. */ -void vTimer2_ISR_Wrapper( void ) __attribute__((naked)); -static void prvTimer2_ISR_Handler( void ) __attribute__((noinline)); +/* Interrupt handler in which the jitter is measured. */ +void vTimer2_ISR_Handler( void ) __attribute__((interrupt)); /* Stores the value of the maximum recorded jitter between interrupts. This is displayed on one of the served web pages. */ @@ -123,21 +122,16 @@ void vSetupHighFrequencyTimer( void ) } /*-----------------------------------------------------------*/ -void vTimer2_ISR_Wrapper( void ) -{ - portENTER_INTERRUPT(); - prvTimer2_ISR_Handler(); - portEXIT_INTERRUPT(); -} -/*-----------------------------------------------------------*/ - -static void prvTimer2_ISR_Handler( void ) +void vTimer2_ISR_Handler( void ) { volatile unsigned short usCurrentCount; static unsigned short usMaxCount = 0; static unsigned long ulErrorCount = 0UL; - /* We use the timer 1 counter value to measure the clock cycles between + /* This is the highest priority interrupt in the system, so there is no + advantage to re-enabling interrupts here. + + We use the timer 1 counter value to measure the clock cycles between the timer 0 interrupts. First stop the clock. */ CMT.CMSTR1.BIT.STR3 = 0; portNOP(); diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/IntQueueTimer.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/IntQueueTimer.c index 31538a17c..cb20c4324 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/IntQueueTimer.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/IntQueueTimer.c @@ -71,11 +71,11 @@ #define tmrTIMER_0_1_FREQUENCY ( 2000UL ) #define tmrTIMER_2_3_FREQUENCY ( 2001UL ) -/* Wrappers and handlers for the two timers used. See the documentation page +/* Handlers for the two timers used. See the documentation page for this port on http://www.FreeRTOS.org for more information on writing interrupt handlers. */ -void vT0_1_ISR_Wrapper( void ) __attribute((naked)); -void vT2_3_ISR_Wrapper( void ) __attribute((naked)); +void vT0_1_ISR_Handler( void ) __attribute((interrupt)); +void vT2_3_ISR_Handler( void ) __attribute((interrupt)); void vInitialiseTimerForIntQueueTest( void ) { @@ -131,35 +131,25 @@ void vInitialiseTimerForIntQueueTest( void ) } /*-----------------------------------------------------------*/ -void vT0_1_ISR_Wrapper( void ) +void vT0_1_ISR_Handler( void ) { - /* This is a naked function. This macro saves registers then re-enables - interrupts. See the documentation for htis port on http://www.FreeRTOS.org - for more information on writing interrupts. */ - portENTER_INTERRUPT(); + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); /* Call the handler that is part of the common code - this is where the non-portable code ends and the actual test is performed. */ portYIELD_FROM_ISR( xFirstTimerHandler() ); - - /* Restore registers, then return. */ - portEXIT_INTERRUPT(); } /*-----------------------------------------------------------*/ -void vT2_3_ISR_Wrapper( void ) +void vT2_3_ISR_Handler( void ) { - /* This is a naked function. This macro saves registers then re-enables - interrupts. See the documentation for htis port on http://www.FreeRTOS.org - for more information on writing interrupts. */ - portENTER_INTERRUPT(); + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); /* Call the handler that is part of the common code - this is where the non-portable code ends and the actual test is performed. */ portYIELD_FROM_ISR( xSecondTimerHandler() ); - - /* Restore registers, then return. */ - portEXIT_INTERRUPT(); } /*-----------------------------------------------------------*/ diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp index 4980fee4f..3ac639b75 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.hwp @@ -271,47 +271,47 @@ [OPTIONS_Debug_GNU Assembler] "Assembly source file" "00d92b5b0aa5bc10" 3 [OPTIONS_Debug_GNU Compiler] -"C source file" "00c20b5b0aa5bc10" 2 -"C++ source file" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "00c20b5b0aa5bc10" 2 -"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "00c20b5b0aa5bc10" 2 -"Preprocess Assembly file" "00c20b5b0aa5bc10" 2 +"C source file" "022e4ac89aa5bc10" 2 +"C++ source file" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flop.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\http-strings.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd-fs.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\apps\httpd\httpd.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\psock.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\timer.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\ethernet\FreeTCPIP\uip_arp.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\hwinit.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\inthandler.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\GNU-Files\start.asm" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\HighFrequencyTimerTest.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\IntQueueTimer.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\ParTest.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\Renesas-Files\hwsetup.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-blinky.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\main-full.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\uIP_Task.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\vects.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\EMAC.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\httpd-cgi.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N-RSK_GNURX\RTOSDemo\webserver\phy.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\GCC\RX600\port.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "022e4ac89aa5bc10" 2 +"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "022e4ac89aa5bc10" 2 +"Preprocess Assembly file" "022e4ac89aa5bc10" 2 [OPTIONS_Debug_GNU Library Generator] "Single Shot" "00c20b5b0aa5bc10" 1 [OPTIONS_Debug_GNU Linker] @@ -320,7 +320,7 @@ "" 0 "[V|VERSION|2] [B|DOEXTF|1] [S|INCDIR|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03^"|^"$(CONFIGDIR)^"] [B|RSARCH|1] [B|FIXUPLIBS|1] [S|ARCHIVE|libgcc.a*lib$(PROJECTNAME).a] [S|OUTFORM|BOTH] [B|MFILEGEN|1] [S|PLMFILE|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|OUTFILE|^"$(CONFIGDIR)\$(PROJECTNAME).x^"] [S|GROUPDET|.fvectors|0|0||1|0xFFFFFF80|0|1|0|.fvectors|All-files|<>|<>|<>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<>|0|.text.*|All-files|<>|0|P|All-files|<>|1|etext|<>|<>|<>|.rvectors|0|0||0||0|1|1|_rvectors_start|<>|0|.rvectors|All-files|<>|1|_rvectors_end|<>|<>|<>|.init|0|0||0||0|0|0|.init|All-files|<>|<>|<>|.fini|0|0||0||0|0|0|.fini|All-files|<>|<>|<>|.got|0|0||0||0|0|0|.got|All-files|<>|0|.got.plt|All-files|<>|<>|<>|.rodata|0|0||0||0|0|0|.rodata|All-files|<>|0|.rodata.*|All-files|<>|0|C_1|All-files|<>|0|C_2|All-files|<>|0|C|All-files|<>|1|_erodata|<>|<>|<>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<>|<>|<>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<>|<>|<>|.jcr|0|0||0||0|0|0|.jcr|All-files|<>|<>|<>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<>|1|___ctors|<>|0|.ctors|All-files|<>|1|___ctors_end|<>|1|__CTOR_END__|<>|1|__DTOR_LIST__|<>|1|___dtors|<>|0|.dtors|All-files|<>|1|___dtors_end|<>|1|__DTOR_END__|<>|1|_mdata|<>|<>|<>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<>|<>|<>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<>|<>|<>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<>|0|.data|All-files|<>|0|.data.*|All-files|<>|0|D|All-files|<>|0|D_1|All-files|<>|0|D_2|All-files|<>|1|_edata|<>|<>|<>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<>|<>|<>|.bss|0|0||0||0|0|1|_bss|<>|0|.bss|All-files|<>|0|.bss.*|All-files|<>|0|COMMON|All-files|<>|0|B|All-files|<>|0|B_1|All-files|<>|0|B_2|All-files|<>|1|_ebss|<>|1|_end|<>|<>|<>|] [B|WONCEU|1] [B|OUTTRAD|1] [S|APPTXT|^"-e _start^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] [B|DOPROJBUILT|1] " 4 -"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|0] [I|OPTLV|2] [B|NOSTDINC|1] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] +"[V|VERSION|2] [S|INCDIR|^"$(TCINSTALL)\rx-elf\rx-elf\optlibinc^"|^"$(TCINSTALL)\rx-elf\lib\gcc\rx-elf\4.5-GNURX_v10.03\optlibinc^"|^"$(PROJDIR)\include^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\..\..\..\Source\portable\GCC\RX600^"|^"$(PROJDIR)^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINES|DEBUG] [S|OUTPUT|OBJECT] [S|OBJPATH|^"$(CONFIGDIR)\$(FILELEAF).o^"] [B|DEBUG|1] [S|DEBUGFT|Native] [I|DEBUGLV|2] [S|ALIGN4|ALL] [B|OPTIMIZE|0] [I|OPTLV|2] [B|NOSTDINC|1] [S|APPTXT|^"-Wall^"] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] [S|PROJECTTYPE|CAPPPROJECT] [B|DOOPTLIB|1] " 2 "[V|VERSION|2] [S|MODE|BUILD/CHANGED] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|DOPROJBUILT|1] [B|DOOPTLIB|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\lib$(PROJECTNAME).a^"] [B|OPTIMIZE|1] [I|OPTTYPE|0] [S|CPUTYPE|RX600] [S|ENDIAN|LITTLE] [S|CPU|Other] [I|RMINTREGVAL|0] [I|RMMAXCONSTVAL|0] [I|RMMAXVARSVAL|0] " 1 diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/RTOSDemo.nav index 3e8ae7b62fca2afec37c3aa472ff8a4f16c89399..41e59e1275a3bf4f2bc83d7f932ef738de45d504 100644 GIT binary patch delta 5651 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 delta 5775 zcmZu#dt6l4wRRn6m|2J}PJ;Rxg4WHHx*w64OKxeALEh5Yyy$+uW-6TjwwXqxomg-fPa;dwt(} z?z7{HrSXcz++GbEwx`S-=?dzSmAPP1bWD77oNI!NaZ{Y}PxfEFh0=nzM7suc4b=Zn zm=NFg?;QQ_%4z0mP47mlWp?oQ>3`VDm#yTtW$M4v=_c>BQ}Dsh{_Ss} zfyVsDhh=v9Uzz`!PUs@ewNnuHbx;?@sqj8Kh4E|$b)(Pqf6M>qpo=z|%~_!oT)sAl zE-Q4A1AHl%bGy@%bjp}lb*E*t$C$_WpviRJn7e*PmhzK5Xt#-$mSYQ72>F!Pj;4Sv z0mIdZa8(8^MaGEi^6%ma1Pxb*h7aZ17pOaRWLF9GlHD{bTXS&Z8>DgJHR?rn&%CFi**wp6;8iY~!m5iVb7Kk=^x?FfEqnVdSd_Ui zW5!FFVbil!^H0k)lWg@oznx4|N%1@r>d4HPF?06(8DX=sRr*P>79tu&@QRt#nfI5I z)vWby*RCCx9j3wDTt|W2m_fm&UXRIwxOoP>Ks}f~fTE!@Kmwk$vHvQvQFntHNS{#D zZk|OyQ*g^ZNv5Ed*)&D#YV4sCsqYbvji}3`Qhnz@e!CE4W+mf)|I^e3T6+ls6|Ix! z#Rv-U%r!;xf5c$ypH3!DnM?6Zb19iWm_y0*Gvkfamw;;H$K;?sZ3O-&Aqe$m%$I(_ znX{-rr(PqgqCMeR_?r6x;~>5_A5VnOCM(y?g6c)HK=*tMG=K|VgrNBx)V%&8Jf`49 ziiU$j8l|WjuXxjK7`T_2L$kn&`V&%LMGI%wT#8fF2p+Q#&os^_yP^&8EF7FMpC+20 zhCb1TJ{#s!h@uYVv_(K1xf;%V`3!Ybv}e2}{xpooybm=(KLg>Ve+A*gy#;}sKaWOm z#yonKM)JM6^bFsfi}`3dT(cvIq@~Xj2h=!q5sjr7zPHWoFyU*+PLsR^HbslnU$wNn z$|DxiSXLI&D2n3P1(d*(7EluZ@G>QWvdQe;Y|`7*iPK-E;q+@!L*>X@WTgoP2UoI$ zkcpm!gP!Bul?HTw&d;I_^c!!1pQ5@rbQv&>{2h(q2TLiEUf|3n^fd2Zip|s{&%!~| zgtezR><9w<`z27fYzdT|kAbEdkA*Ceccyq24mh3uPW@uMld%}@^j%Dmd}9%YVj(J1 zPKPsmNd7d7A1=lI$;-)?UNq*tFz1qNsFoo^-)wn#8HS=|I66g!kY%t!<*Ss+E*ZXg zg%6iMkh7A;P>yI4#;Lh*(fQw!O;MM7OYD@*cXOaX=oKita0QLyAuDjy z_qiB8l3|eyYAz0K$^qy_#{13JsFR{D^ej5l0%M<)9CGlD<#@bgIgO?be0Po8)&1X~ zZi>3zThg7@aq6oucj@cM{cjm_C+1wXni6OYJJ%XM`g88N8Ya8?8eFpIHRzNkLmwHg zuELPN3fisYf>ks|(N>7XM=R>vMugXH@XBEuAC*d0V%J+>^5I%ar7d#kRE}9oiQKe? z(kM@Kb}1?w4y|to4~Ij)>n*XH{?L;A26NRKBgF=pwQY|HgZc9}aYU{RgWn`4H@rbk zDv(%@;O25vxq`i9K?)hM3I2Rj%drJ;k4oLFdprv}6?*St zr6MDibhQyn0g6`aE$KwtCG^L0;YI4IXdieMK~$3W7UW_O+M!Q%JMHu^*pDT1a@{&g zq7NlukLQhNs4MOE%)2ORrKGlgoK-~qeKJt&v}5wGF3?P?fhbMnJOD5eFUk&mL5drK^Is0H8&Wbb2J;QfJHkW@Zu z-H-jYkcBfgQ-b*bh#e=yMsn(Al#L6UXabe;Nc?d7_i)hmKT;Zxm7#eX#Zise+{sbf z0QrpMEdv>!E0rqosnn2uT>CEdv1Vp1lKOo5F_CtPucjDJJ*lWCJ&XSIiBZdSTVU--Iv+*x z9SrEHVv8x7H{_EKIxm@9bfvXAq4WhF{XV()-g^|w#WFmPf$oYnW4L(-`nM@N!0Wdn zm?9m~9Vx_dkgG5sThYT#mMj_MF7+6QLHPwcA~JRm(WBu?}FvVBvW7ZFQi|ZRBhNYez1p} zR<*;Ns)nrHXSrxMJg)t5BrS0@-8Fm~>+k31B(nM?J;mB?gz}DhgeKCP-Kq^=*_=}U z!&xr9L(lU550S3NmQlFTX`!HZ;o{pg%~#9sH+$=EqHBoDpoU3{d2h?oW|}++1RQV+=$I5uspw?I>R=4mmyW%M-48E+Gx(Jz<;6pX%N#TBzJTK z4*vR2Fs-h9{-4Od6^oyQ4Faw$nydSOrfMNgvZ^or=mXKFZPv}ob zGz7q9k8g%?8n$A;|9*`9wqFKMjSbY3E7Ku+Ph=-5&@VME!K{biA1N{&f73@^_(Oek z`0$snWD_((R&DICq71PFEI7`N2!OC z2|s!+uxTrTK7RR!ooB%SflPZU7^3tq(v}ORG)mkdxT!Vq%R!jI%tv3U$eFlK)6}A;<66kX}uOmRETwyNKm|67fNx88Cy3S|N~`eP&Nd$Ha@4EiS&>`@KCa*4^S#uci4 z1;tymm~{^vGk(Q%99dbnl9Qo~g;PI)z4WMk=@fNzpYC@GTp~xbFfLWVM|~$X!tWRt zUPd|8FH#$CqbI(26De!s96a9RB(y^Yd!GO26U@>Nq3b+$iaHo60zIF^0|ExQZ_o0DM^|RELnDF=n{5*=^`V=R0oam7ba-&ZBLsZ9+<}Uq%+wwettS?HOzZhYs=FQi9z_iW~a2xS_$A?$^Hj zeho79iSy9vwezUgt*2z3hl`bY4jpv?^tK-Q&0la0@;a)cRhyW)OV1sJRj7!bX2PO& z&)n{JEP*S}QIyY+_%GgHJB zx~ollb#~KqBYPOBx)6$F{tYhy&j|j%i^l6w(i(<{JGUgb${S?1p|Jd&%wv6ao#nf= z;^jkLSvb3_O>3E|p1uuaV8aM)jzwgF=IeH=#skEuiVmBf>0Lix}-TCbC-8l=La% zExY*mX%tWY*C@brp|&A~&tCwuZY6z9_l)W+=$d5J?i}o)lkVvf9D1+sRv75&AWz=0ZGza=uXnjr`_g)BS#Xs@V0z)kroE* z2Xod{5a8vrC;3_vdbZkI!W(=uuN1@}FZuF15p}u+`Z0uYY!liDRrxeyrjMO#zXeY< zU*my)UBUx$<>G8v!Z%ymJ~1l~{2J#)uB1^u2XZ^Q>VII`3)&F4A@Tvv*Qa>mOMwUv zcndz{9H!o$vN2S?A@=0I+{C@EC8*__lT8cVoc;Qj@c34&aJruY8^l-s0foH4TFM7~ zBP9=z$9bXcBp9EvYTw;2(Gya@EfgCd_7`7@^?>XwSVo#P0V4tMoFv#N?_SqoQQtW- ia((Qtc*RYi(!VPLtCgL1pbol?>Ec#;%h8*qX#GF+WKa+Q diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf index e63a264f5..9bd809919 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf @@ -50,30 +50,30 @@ "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000004854" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000003234" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000002710" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000003234" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000000045EC" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000017EF4" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000004" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000002" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "000000000000000A" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "000000000000464E" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000006" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000004854" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017FA0" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030001" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF87207" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000004688" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000001" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000000000EA" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000BB68" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000017EF4" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000004010000" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF851D9" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000000311C" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF8D818" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "00000000000003E8" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000017F34" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000A5A5A5A5" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000004854" -"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "00000000A5A5A5A5" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000003120" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000017EF4" +"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5" "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" @@ -235,8 +235,8 @@ "SBK_TAR_EMUE100|Exception" 1 "SBK_TAR_EMUE100|BreakCondition" 1 "SBK_TAR_EMUE100|TaskID" 1 -"SBK_TAR_EMUE100|ExecutionTime" 1 "SBK_TAR_EMUE100|PC" 1 +"SBK_TAR_EMUE100|ExecutionTime" 1 [STATUSBAR_DEBUGGER_PANESTATE_VD2] [STATUSBAR_DEBUGGER_PANESTATE_VD3] [STATUSBAR_DEBUGGER_PANESTATE_VD4] diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-blinky.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-blinky.c index fc5c05d35..95eac6069 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-blinky.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-blinky.c @@ -70,6 +70,9 @@ #include "task.h" #include "queue.h" +/* Demo includes. */ +#include "ParTest.h" + /* Priorities at which the tasks are created. */ #define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define configQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) @@ -93,7 +96,7 @@ static xQueueHandle xQueue = NULL; /*-----------------------------------------------------------*/ -void main(void) +int main(void) { extern void HardwareSetup( void ); @@ -110,8 +113,8 @@ extern void HardwareSetup( void ); if( xQueue != NULL ) { /* Start the two tasks as described at the top of this file. */ - xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL ); - xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL ); + xTaskCreate( prvQueueReceiveTask, ( signed char * ) "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL ); + xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL ); /* Start the tasks running. */ vTaskStartScheduler(); @@ -220,8 +223,8 @@ void vApplicationIdleHook( void ) configurations to use the same vector table. They are not used in this demo, but linker errors will result if they are not defined. They can be ignored. */ -void vT0_1_ISR_Wrapper( void ) {} -void vT2_3_ISR_Wrapper( void ) {} -void vEMAC_ISR_Wrapper( void ) {} -void vTimer2_ISR_Wrapper( void ) {} +void vT0_1_ISR_Handler( void ) {} +void vT2_3_ISR_Handler( void ) {} +void vEMAC_ISR_Handler( void ) {} +void vTimer2_ISR_Handler( void ) {} volatile unsigned long ulHighFrequencyTickCount = 0; \ No newline at end of file diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-full.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-full.c index 3a4e74cde..a5d94c5be 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-full.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/main-full.c @@ -248,7 +248,7 @@ static const char *pcStatusMessage = NULL; /*-----------------------------------------------------------*/ -void main(void) +int main(void) { extern void HardwareSetup( void ); @@ -260,14 +260,14 @@ extern void HardwareSetup( void ); vParTestInitialise(); /* Start the reg test tasks which test the context switching mechanism. */ - xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); - xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest1Task, ( signed char * ) "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL ); + xTaskCreate( prvRegTest2Task, ( signed char * ) "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL ); /* The web server task. */ - xTaskCreate( vuIP_Task, "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL ); + xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL ); /* Start the check task as described at the top of this file. */ - xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); + xTaskCreate( prvCheckTask, ( signed char * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); /* Create the standard demo tasks. */ vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); @@ -294,6 +294,8 @@ extern void HardwareSetup( void ); running. If we do reach here then it is likely that there was insufficient heap available for the idle task to be created. */ for( ;; ); + + return 0; } /*-----------------------------------------------------------*/ diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/vects.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/vects.c index 7e9b6b1a0..a1a33fe16 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/vects.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/vects.c @@ -19,10 +19,10 @@ extern void start(void); extern void stack (void); extern void vTickISR( void ); extern void vSoftwareInterruptISR( void ); -extern void vT0_1_ISR_Wrapper( void ); -extern void vT2_3_ISR_Wrapper( void ); -extern void vEMAC_ISR_Wrapper( void ); -extern void vTimer2_ISR_Wrapper( void ); +extern void vT0_1_ISR_Handler( void ); +extern void vT2_3_ISR_Handler( void ); +extern void vEMAC_ISR_Handler( void ); +extern void vTimer2_ISR_Handler( void ); #define FVECT_SECT __attribute__ ((section (".fvectors"))) @@ -160,11 +160,11 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x0074 CMTU0_CMT1 (fp)INT_Excep_CMTU0_CMT1, //;0x0078 CMTU1_CMT2 - (fp)vTimer2_ISR_Wrapper, + (fp)vTimer2_ISR_Handler, //;0x007C CMTU1_CMT3 (fp)INT_Excep_CMTU1_CMT3, //;0x0080 Ether - (fp)vEMAC_ISR_Wrapper, + (fp)vEMAC_ISR_Handler, //;0x0084 Reserved (fp)0, //;0x0088 Reserved @@ -448,7 +448,7 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x02B4 Reserved (fp)0, //;0x02B8 TMR0_CMI0A - (fp)vT0_1_ISR_Wrapper, + (fp)vT0_1_ISR_Handler, //;0x02BC TMR0_CMI0B (fp)INT_Excep_TMR0_CMI0B, //;0x02C0 TMR0_OV0I @@ -460,7 +460,7 @@ const fp RelocatableVectors[] RVECT_SECT = { //;0x02CC TMR1_OV1I (fp)INT_Excep_TMR1_OV1I, //;0x02D0 TMR2_CMI2A - (fp)vT2_3_ISR_Wrapper, + (fp)vT2_3_ISR_Handler, //;0x02D4 TMR2_CMI2B (fp)INT_Excep_TMR2_CMI2B, //;0x02D8 TMR2_OV2I diff --git a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c index 10ca4ff34..9502358f4 100644 --- a/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c +++ b/Demo/RX600_RX62N-RSK_GNURX/RTOSDemo/webserver/EMAC.c @@ -144,12 +144,11 @@ static void prvConfigureEtherCAndEDMAC( void ); static void prvResetEverything( void ); /* - * Wrapper and handler for the EMAC peripheral. See the documentation for this + * Handler for the EMAC peripheral. See the documentation for this * port on http://www.FreeRTOS.org for more information on defining interrupt * handlers. */ -void vEMAC_ISR_Wrapper( void ) __attribute__((naked)); -static void vEMAC_ISR_Handler( void ) __attribute__((noinline)); +void vEMAC_ISR_Handler( void ) __attribute__((interrupt)); /*-----------------------------------------------------------*/ @@ -524,29 +523,16 @@ static void prvConfigureEtherCAndEDMAC( void ) } /*-----------------------------------------------------------*/ -void vEMAC_ISR_Wrapper( void ) -{ - /* This is a naked function. See the documentation for this port on - http://www.FreeRTOS.org for more information on writing interrupts. - - /* Save the registers and enable interrupts. */ - portENTER_INTERRUPT(); - - /* Perform the actual EMAC processing. */ - vEMAC_ISR_Handler(); - - /* Restore the registers and return. */ - portEXIT_INTERRUPT(); -} -/*-----------------------------------------------------------*/ - -static void vEMAC_ISR_Handler( void ) +void vEMAC_ISR_Handler( void ) { unsigned long ul = EDMAC.EESR.LONG; long lHigherPriorityTaskWoken = pdFALSE; extern xSemaphoreHandle xEMACSemaphore; static long ulTxEndInts = 0; + /* Re-enabled interrupts. */ + __asm volatile( "SETPSW I" ); + /* Has a Tx end occurred? */ if( ul & emacTX_END_INTERRUPT ) { -- 2.39.5