Replace asm wrappers to interrupt handlers with functions that use the interrupt attribute.

pull/4/head
Richard Barry 15 years ago
parent eea2ab0385
commit c92128869d

@ -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();

@ -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();
}
/*-----------------------------------------------------------*/

@ -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|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [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"

@ -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"

@ -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|<<separator>>|32773|32774|<<separator>>" "0.0"
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 400 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "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|<<separator>>|32781|32782|<<separator>>|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|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0"
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 252 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 400 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|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|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|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]

@ -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;

@ -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;
}
/*-----------------------------------------------------------*/

@ -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

@ -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 )
{

@ -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]

@ -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();

@ -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();
}
/*-----------------------------------------------------------*/

@ -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|<<FEND>>|<<CEND>>|<<GEND>>|.text|0|0||1|0xFFF80000|0|0|0|.text|All-files|<<FEND>>|0|.text.*|All-files|<<FEND>>|0|P|All-files|<<FEND>>|1|etext|<<FEND>>|<<CEND>>|<<GEND>>|.rvectors|0|0||0||0|1|1|_rvectors_start|<<FEND>>|0|.rvectors|All-files|<<FEND>>|1|_rvectors_end|<<FEND>>|<<CEND>>|<<GEND>>|.init|0|0||0||0|0|0|.init|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.fini|0|0||0||0|0|0|.fini|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.got|0|0||0||0|0|0|.got|All-files|<<FEND>>|0|.got.plt|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.rodata|0|0||0||0|0|0|.rodata|All-files|<<FEND>>|0|.rodata.*|All-files|<<FEND>>|0|C_1|All-files|<<FEND>>|0|C_2|All-files|<<FEND>>|0|C|All-files|<<FEND>>|1|_erodata|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame_hdr|0|0||0||0|0|0|.eh_frame_hdr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.eh_frame|0|0||0||0|0|0|.eh_frame|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.jcr|0|0||0||0|0|0|.jcr|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.tors|0|0||0||0|0|1|__CTOR_LIST__|<<FEND>>|1|___ctors|<<FEND>>|0|.ctors|All-files|<<FEND>>|1|___ctors_end|<<FEND>>|1|__CTOR_END__|<<FEND>>|1|__DTOR_LIST__|<<FEND>>|1|___dtors|<<FEND>>|0|.dtors|All-files|<<FEND>>|1|___dtors_end|<<FEND>>|1|__DTOR_END__|<<FEND>>|1|_mdata|<<FEND>>|<<CEND>>|<<GEND>>|.istack|0|0||1|0x00017FFC|0|0|1|_istack|<<FEND>>|<<CEND>>|<<GEND>>|.ustack|0|0||1|0x000179BC|0|0|1|_ustack|<<FEND>>|<<CEND>>|<<GEND>>|.data|0|2|_mdata|1|0x00001000|0|0|1|_data|<<FEND>>|0|.data|All-files|<<FEND>>|0|.data.*|All-files|<<FEND>>|0|D|All-files|<<FEND>>|0|D_1|All-files|<<FEND>>|0|D_2|All-files|<<FEND>>|1|_edata|<<FEND>>|<<CEND>>|<<GEND>>|.gcc_exc|0|0||0||0|0|0|.gcc_exc|All-files|<<FEND>>|<<CEND>>|<<GEND>>|.bss|0|0||0||0|0|1|_bss|<<FEND>>|0|.bss|All-files|<<FEND>>|0|.bss.*|All-files|<<FEND>>|0|COMMON|All-files|<<FEND>>|0|B|All-files|<<FEND>>|0|B_1|All-files|<<FEND>>|0|B_2|All-files|<<FEND>>|1|_ebss|<<FEND>>|1|_end|<<FEND>>|<<CEND>>|<<GEND>>|] [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

@ -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]

@ -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;

@ -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;
}
/*-----------------------------------------------------------*/

@ -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

@ -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 )
{

Loading…
Cancel
Save