]> git.sur5r.net Git - freertos/commitdiff
Continue work on RX600 port - work in progress.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 13 Aug 2010 17:37:36 +0000 (17:37 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 13 Aug 2010 17:37:36 +0000 (17:37 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1043 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/RX600_RX62N_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp
Demo/RX600_RX62N_Renesas/RTOSDemo/FreeRTOSConfig.h
Demo/RX600_RX62N_Renesas/RTOSDemo/RTOSDemo.nav
Demo/RX600_RX62N_Renesas/RTOSDemo/SessionRX600_E1_E20_SYSTEM.hsf
Demo/RX600_RX62N_Renesas/RTOSDemo/main.c
Demo/RX600_RX62N_Renesas/RTOSDemo/resetprg.c

index 6c68f4ef57e09ec30e6875040acdda80edadc259..d21ff15d2272eab10ba41ee02cf947cf18678e8c 100644 (file)
Binary files a/Demo/RX600_RX62N_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp and b/Demo/RX600_RX62N_Renesas/RTOSDemo/Debug_RX600_E1_E20_SYSTEM/Debug_RX600_E1_E20_SYSTEM.hdp differ
index b7490a9db4c7109f90e862392e95ee0ada0ba675..7d3e46e5ada4008723c401bcaaf3fa9a4347c4a0 100644 (file)
@@ -75,7 +75,7 @@
 #define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 140 )\r
 #define configTOTAL_HEAP_SIZE                  ( ( size_t ) ( 36 * 1024 ) )\r
 #define configMAX_TASK_NAME_LEN                        ( 12 )\r
-#define configUSE_TRACE_FACILITY       1\r
+#define configUSE_TRACE_FACILITY               1\r
 #define configUSE_16_BIT_TICKS                 0\r
 #define configIDLE_SHOULD_YIELD                        1\r
 #define configUSE_CO_ROUTINES                  0\r
 #define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 5 )\r
 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
 \r
+/* The interrupt priority used by the kernel itself for the tick interrupt and\r
+the pended interrupt.  This would normally be the lowest priority. */\r
+#define configKERNEL_INTERRUPT_PRIORITY         1\r
+\r
+/* The maximum interrupt priority from which FreeRTOS API calls can be made.\r
+Interrupts that use a priority above this will not be effected by anything the\r
+kernel is doing. */\r
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY    4\r
+\r
+/* The peripheral used to generate the tick interrupt is configured as part of\r
+the application code.  This constant should be set to the vector number of the\r
+peripheral chosen.  As supplied this is TMR0. */\r
+#define configTICK_VECTOR                                              174\r
+\r
 /* Set the following definitions to 1 to include the API function, or zero\r
 to exclude the API function. */\r
 \r
index 775e4e25e9e30ae9637609acfa731cb4cfb53d12..e5cb41337c98316851eb44e34a956e7c0c02f80c 100644 (file)
Binary files a/Demo/RX600_RX62N_Renesas/RTOSDemo/RTOSDemo.nav and b/Demo/RX600_RX62N_Renesas/RTOSDemo/RTOSDemo.nav differ
index 09eb4da6e890885e73a80535b5a5079056761a87..2ef1908eb54802729e932c14197d167b494d8870 100644 (file)
@@ -8,6 +8,7 @@
 "" \r
 [GENERAL_DATA]\r
 "FIRST_CONNECTION_TAG" "NO" \r
+"MRULABELS_DATAMANAGER_KEY" "FFFFFFFF|00000000|18b8" \r
 "RESET_CPU_AFTER_DOWNLOAD_TAG" "VARIANT_TRUE_STORE_TAG" \r
 "{228DB593-0AB2-4EBE-A098-A2CABF094E46}RamMonitorCtrlViews" "0" \r
 "{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" "" \r
@@ -29,9 +30,9 @@
 "{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_END_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_START_ADDRESS" "" \r
-"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_DEST_ADDRESS" "" \r
-"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_END_ADDRESS" "" \r
-"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_START_ADDRESS" "" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_DEST_ADDRESS" "18b8\r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_END_ADDRESS" "FFFFFFFF\r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_START_ADDRESS" "00000000\r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_END_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_START_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_END_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_END_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_START_ADDRESS" "" \r
 "{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryCtrlViews" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshEnableTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshIntervalTopPane" "100" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DataLength" "1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispAddressTopPane" "6312" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispCode" "42208" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispColumnCount" "16" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispCode" "1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispFloat" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispLabel" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispRegister" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsRegFollowEnableTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0LabelWidth" "96" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0Radix" "16" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegFollowRegTblIDTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegisterWidth" "96" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollEndAddress" "-1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollStartAddress" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0StartUpSymbolTopPane" "" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewAInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshEnableTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshIntervalTopPane" "100" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DataLength" "1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispAddressTopPane" "6328" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispCode" "42208" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispColumnCount" "16" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispCode" "1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispFloat" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispLabel" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispRegister" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsRegFollowEnableTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0LabelWidth" "96" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0Radix" "16" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegFollowRegTblIDTopPane" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegisterWidth" "96" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollEndAddress" "-1" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollStartAddress" "0" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0StartUpSymbolTopPane" "" \r
+"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewBInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB" \r
 "{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileDir" "" \r
 "{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileName" "" \r
 "{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlViews" "0" \r
 "{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "000000000000AA88" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "00000000FFFF803F\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "000000000000AA88" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000AB8C\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000130000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFFF8CF9\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "000000000008C003\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFFF8498" \r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "00000000000018B8" \r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000AAAAAAAA\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000BBBBBBBB\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000CCCCCCCC\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000DDDDDDDD\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "00000000EEEEEEEE\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "00000000FFFFFFFF\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "00000000000018B8" \r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000AB84\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030003\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFFF9D04\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000022222222\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFFF84A8" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000" \r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "0000000000000100" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "0000000000000000" \r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000008C006\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "000000000008C007\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "000000000008C000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000\r
-"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000000000000\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000" \r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "0000000000000000\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000001630\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000030003\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000066666666\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000077777777\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000088888888\r
+"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000099999999\r
 "{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "26" \r
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" "" \r
 "{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" "" \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_BUFFER" ",,,," \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_SAMPLING_RATE" "1000" \r
 "{8A898260-6F1D-11D5-8EB6-00004CC34E9D}WaveformCtrlViews" "0" \r
-"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "0" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "1" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ColumnWidth" "47,153,52" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_COUNT" "33" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideFLAGs" "0" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideRadix" "0" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0LastFileName" "" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16,16," \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ColumnWidth" "47,153,35" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_COUNT" "33" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideFLAGs" "0" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideRadix" "0" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0LastFileName" "" \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16,16," \r
+"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewBInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB" \r
 "{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_ADDRESS_NAME" "" \r
 "{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_BUFFER" "00000000,00000000,0,0" \r
 "{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COLOR" "0,0,0,0" \r
 [WINDOW_POSITION_STATE_DATA_VD1]\r
 "Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0" \r
 "{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 289 0 0 100 100 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>" "0.0" \r
-"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 317 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" \r
-"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 1376 571 9 0 "" "0.0" \r
+"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 307 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0" \r
+"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 22 22 1192 368 10 0 "" "0.0" \r
+"{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.38" 289 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" \r
 "{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 289 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0" \r
+"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "1.00" 307 0 0 350 200 18 0 "" "0.0" \r
 "{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 280 560 340 350 200 18 0 "" "0.0" \r
 "{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0" \r
 "{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0" \r
 [WINDOW_POSITION_STATE_DATA_VD3]\r
 [WINDOW_POSITION_STATE_DATA_VD4]\r
 [WINDOW_Z_ORDER]\r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c\r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\portmacro.h\r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\main.c" \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\resetprg.c" \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\hwsetup.c" \r
+"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\port.c" \r
 "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\FreeRTOSConfig.h" \r
-"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX600\portmacro.h\r
+"C:\Documents and Settings\barryri\Disassembly\r
 [TARGET_NAME]\r
 "RX600 E1/E20 SYSTEM" "" 0 \r
 [STATUSBAR_STATEINFO_VD1]\r
 [FLASH_DETAILS]\r
 "" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" "" \r
 [BREAKPOINTS]\r
+"c:\e\dev\freertos\workingcopy\demo\rx600_rx62n_renesas\rtosdemo\main.c" 183 -29259 1 "{00000000-0000-0000-C000-000000000046}" "" \r
 [END]\r
index edf7b2b8a25cc93e7c51f1f3a651ee8de32971a5..b9faa45d8675981849dc752c0fb15202e041f3b9 100644 (file)
     licensing and training services.\r
 */\r
 \r
+/*\r
+ * NOTE 1: The CPU must be in Supervisor mode when the scheduler is started.\r
+ * The PowerON_Reset_PC() supplied in resetprg.c with this demo has \r
+ * Change_PSW_PM_to_UserMode() commented out to ensure this is the case.\r
+*/\r
+\r
+/* Hardware specific includes. */\r
+#include "iodefine.h"\r
+#include "rskrx62ndef.h"\r
+\r
 /* Kernel includes. */\r
 #include "FreeRTOS.h"\r
 #include "task.h"\r
@@ -87,26 +97,66 @@ void vApplicationIdleHook( void );
  */\r
 void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName );\r
 \r
+/*\r
+ * The reg test tasks as described at the top of this file.\r
+ */\r
+void vRegTest1Task( void *pvParameters );\r
+void vRegTest2Task( void *pvParameters );\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 void main(void)\r
 {\r
-unsigned long i = 0;\r
 extern void HardwareSetup( void );\r
 \r
        /* Renesas provided CPU configuration routine.  The clocks are configured in\r
        here. */\r
        HardwareSetup();\r
        \r
-       for( ;; )\r
-       {\r
-               i++;\r
-       }\r
+       /* Start the reg test tasks which test the context switching mechanism. */\r
+       xTaskCreate( vRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
+       xTaskCreate( vRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
+       \r
+       /* Start the tasks running. */\r
+       vTaskStartScheduler();\r
+       \r
+       /* If all is well we will never reach here as the scheduler will now be\r
+       running.  If we do reach here then it is likely that there was insufficient\r
+       heap available for the idle task to be created. */\r
+       for( ;; );\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 void vApplicationSetupTimerInterrupt( void )\r
 {\r
+       /* Cascade two 8bit timer channels to generate the tick interrupt. */\r
+       \r
+       /* Enable the timer. */\r
+       SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;  \r
+       \r
+       /* Enable compare match A interrupt request. */\r
+       TMR0.TCR.BIT.CMIEA = 1;         \r
+       \r
+       /* Clear the timer on compare match A. */\r
+       TMR0.TCR.BIT.CCLR = 1;          \r
+       \r
+       /* Set the compare match value. */\r
+       TMR01.TCORA = ( unsigned short ) ( ( ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 ); \r
+       \r
+       /* 16 bit operation (count from timer 1). */\r
+       TMR0.TCCR.BIT.CSS = 3;          \r
+       \r
+       /* Use PCLK as the input. */\r
+       TMR1.TCCR.BIT.CSS = 1;          \r
+       \r
+       /* Divide PCLK by 8. */\r
+       TMR1.TCCR.BIT.CKS = 2;          \r
+       \r
+       /* Enable TMR 0 */\r
+       ICU.IER[15].BIT.IEN6 = 1;         \r
+       \r
+       /* Ensure the timer interrupt is using the configured kernel priority. */\r
+       ICU.IPR[68].BIT.IPR = configKERNEL_INTERRUPT_PRIORITY;  \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
@@ -130,9 +180,34 @@ void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName
 of this file. */\r
 void vApplicationIdleHook( void )\r
 {\r
+       taskENTER_CRITICAL();\r
+       taskEXIT_CRITICAL();\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
+void vRegTest1Task( void *pvParameters )\r
+{\r
+volatile unsigned long ul = 0;\r
+\r
+       for( ;; )\r
+       {\r
+               ul += 2;\r
+               ul -= 1;\r
+       }               \r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vRegTest2Task( void *pvParameters )\r
+{\r
+volatile unsigned long ul = 0;\r
+\r
+       for( ;; )\r
+       {\r
+               ul += 4;\r
+               ul -= 2;\r
+       }               \r
+}\r
+\r
 \r
 \r
 \r
index 965d21c1a24e7a2433dd19a03ee6cdbc09838676..6cdf75a27875dbd29a46c343c92e7cc15926760f 100644 (file)
@@ -103,7 +103,8 @@ void PowerON_Reset_PC(void)
 //     _CALL_INIT();                                   // Remove the comment when you use global class object\r
 \r
        set_psw(PSW_init);                              // Set Ubit & Ibit for PSW\r
-       Change_PSW_PM_to_UserMode();    // Change PSW PMbit (SuperVisor->User)\r
+//     Change_PSW_PM_to_UserMode();    // Change PSW PMbit (SuperVisor->User)\r
+       ( void ) Change_PSW_PM_to_UserMode;\r
 \r
        main();\r
 \r