Update the GCC and IAR SiFive HiFive rev-b demos to use the new configMTIME_BASE_ADDRESS and configMTIMECMP_BASE_ADDRESS constants in place of the deprecated configCLINT_BASE_ADDRESS constant.

Update the IAR RISC-V HiFive demo to use the latest IAR Embedded Workbench version.
pull/7/head
Richard Barry 5 years ago
parent 066e2bc7d2
commit d2914041f8

@ -35,6 +35,8 @@
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.debug.1023181676" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.debug">
<option id="cdt.managedbuild.option.gnu.cross.path.2116215758" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path" value="C:\devtools\FreedomStudio-2019-08-2-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2019.08.0\bin" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1119183919" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder buildPath="${workspace_loc:/RTOSDemo}/Debug" id="cdt.managedbuild.builder.gnu.cross.1388532167" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.builder.gnu.cross"/>

@ -11,7 +11,7 @@
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-316647897902857" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-1852838222473283" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>

@ -40,7 +40,8 @@
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
#define CLINT_CTRL_ADDR ( 0x02000000UL )
#define configCLINT_BASE_ADDRESS CLINT_CTRL_ADDR
#define configMTIME_BASE_ADDRESS ( CLINT_CTRL_ADDR + 0xBFF8UL )
#define configMTIMECMP_BASE_ADDRESS ( CLINT_CTRL_ADDR + 0x4000UL )
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 1

@ -41,7 +41,9 @@
*----------------------------------------------------------*/
#define configISR_STACK_SIZE_WORDS ( 200 )
#define configCLINT_BASE_ADDRESS 0x2000000
#define CLINT_CTRL_ADDR ( 0x02000000UL )
#define configMTIME_BASE_ADDRESS ( CLINT_CTRL_ADDR + 0xBFF8UL )
#define configMTIMECMP_BASE_ADDRESS ( CLINT_CTRL_ADDR + 0x4000UL )
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0

@ -9,9 +9,9 @@
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -138,13 +138,45 @@
<name>MassEraseBeforeFlashing</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreNrOfCores</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state></state>
</option>
<option>
<name>OCAttachSlave</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreNrOfCoresSlave</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreAMPConfigType</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreSessionFile</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>IJETRISCV</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -277,11 +309,87 @@
<name>FlashBoardPathSlave</name>
<state>0</state>
</option>
<option>
<name>RDICatchNmi</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrMis</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrFault</name>
<state>0</state>
</option>
<option>
<name>RDICatchIllegalInstr</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadMis</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadFault</name>
<state>0</state>
</option>
<option>
<name>RDICatchStoreAddr</name>
<state>0</state>
</option>
<option>
<name>RDICatchStoreAccess</name>
<state>0</state>
</option>
<option>
<name>RDICatchEnvironment</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrPage</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadPage</name>
<state>0</state>
</option>
<option>
<name>RDICatchStorePage</name>
<state>0</state>
</option>
<option>
<name>RDICatchExternal</name>
<state>0</state>
</option>
<option>
<name>RDICatchTimer</name>
<state>0</state>
</option>
<option>
<name>RDICatchSoftware</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeM</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeS</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeU</name>
<state>0</state>
</option>
<option>
<name>GDelayAfterOverride</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>SIMRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -323,9 +431,9 @@
<debug>0</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -452,13 +560,45 @@
<name>MassEraseBeforeFlashing</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreNrOfCores</name>
<state></state>
</option>
<option>
<name>OCMulticoreWorkspace</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveProject</name>
<state></state>
</option>
<option>
<name>OCMulticoreSlaveConfiguration</name>
<state></state>
</option>
<option>
<name>OCAttachSlave</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreNrOfCoresSlave</name>
<state>1</state>
</option>
<option>
<name>OCMulticoreAMPConfigType</name>
<state>0</state>
</option>
<option>
<name>OCMulticoreSessionFile</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>IJETRISCV</name>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -591,11 +731,87 @@
<name>FlashBoardPathSlave</name>
<state>0</state>
</option>
<option>
<name>RDICatchNmi</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrMis</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrFault</name>
<state>0</state>
</option>
<option>
<name>RDICatchIllegalInstr</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadMis</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadFault</name>
<state>0</state>
</option>
<option>
<name>RDICatchStoreAddr</name>
<state>0</state>
</option>
<option>
<name>RDICatchStoreAccess</name>
<state>0</state>
</option>
<option>
<name>RDICatchEnvironment</name>
<state>0</state>
</option>
<option>
<name>RDICatchInstrPage</name>
<state>0</state>
</option>
<option>
<name>RDICatchLoadPage</name>
<state>0</state>
</option>
<option>
<name>RDICatchStorePage</name>
<state>0</state>
</option>
<option>
<name>RDICatchExternal</name>
<state>0</state>
</option>
<option>
<name>RDICatchTimer</name>
<state>0</state>
</option>
<option>
<name>RDICatchSoftware</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeM</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeS</name>
<state>0</state>
</option>
<option>
<name>RDICatchModeU</name>
<state>0</state>
</option>
<option>
<name>GDelayAfterOverride</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>SIMRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>

@ -9,7 +9,7 @@
<debug>1</debug>
<settings>
<name>General</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -149,7 +149,7 @@
</settings>
<settings>
<name>ICCRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>6</version>
<wantNonLocal>1</wantNonLocal>
@ -362,7 +362,7 @@
</settings>
<settings>
<name>IASMRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -500,7 +500,7 @@
</settings>
<settings>
<name>OBJCOPY</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -552,9 +552,9 @@
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@ -846,11 +846,27 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkRawBinaryFile2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySymbol2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySegment2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryAlign2</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>IARCHIVE</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -883,7 +899,7 @@
<debug>0</debug>
<settings>
<name>General</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -1023,7 +1039,7 @@
</settings>
<settings>
<name>ICCRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>6</version>
<wantNonLocal>1</wantNonLocal>
@ -1232,7 +1248,7 @@
</settings>
<settings>
<name>IASMRISCV</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -1370,7 +1386,7 @@
</settings>
<settings>
<name>OBJCOPY</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
@ -1422,9 +1438,9 @@
</settings>
<settings>
<name>ILINK</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
@ -1716,11 +1732,27 @@
<name>IlinkThreadsSlave</name>
<state>1</state>
</option>
<option>
<name>IlinkRawBinaryFile2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySymbol2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinarySegment2</name>
<state></state>
</option>
<option>
<name>IlinkRawBinaryAlign2</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>IARCHIVE</name>
<archiveVersion>1</archiveVersion>
<archiveVersion>2</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>

@ -270,23 +270,11 @@ void vApplicationHandleTrap( uint32_t mcause )
{
char pcCause[ 20 ];
/* Not implemented yet. */
#warning vApplicationHandleTrap not implemented.
/* Not implemented yet! */
sprintf( pcCause, "%u", mcause );
vSendString( pcCause );
configASSERT( mcause == 0 );
#warning vApplicationHandleTrap not implemented.
#if 0
uint32_t ulInterruptNumber;
typedef void ( * irq_handler_t )( void );
extern const irq_handler_t isrTable[];
ulInterruptNumber = PLIC->TARGET[ 0 ].CLAIM_COMPLETE;
/* Read handler from table. */
/* Call handler. */
PLIC->TARGET[ 0 ].CLAIM_COMPLETE = ulInterruptNumber;
#endif
}
/*-----------------------------------------------------------*/
@ -300,3 +288,4 @@ void *malloc( size_t xSize )
return NULL;
}
/*-----------------------------------------------------------*/

@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
@echo on
"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl"
"C:\devtools\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.driver.xcl"
@echo off
goto end
@ -34,7 +34,7 @@ goto end
@echo on
"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl"
"C:\devtools\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.driver.xcl"
@echo off
:end

@ -23,9 +23,9 @@
if ($debugfile -eq "")
{
& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl"
& "C:\devtools\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.driver.xcl"
}
else
{
& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl"
& "C:\devtools\IAR Systems\Embedded Workbench 8.4\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\settings\RTOSDemo.Debug.driver.xcl"
}

@ -2,7 +2,7 @@
"-p"
"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf"
"C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\config\debugger\SiFive\hifive1.ddf"
"--drv_verify_download"
@ -14,6 +14,8 @@
"--reset_style=\"2,-,1,Hardware\""
"--drv_catch_exceptions=0x000"
"--jet_emu_param=cJtagOpt=Fmt:OScan1"

@ -1,12 +1,12 @@
"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvproc.dll"
"C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\bin\riscvproc.dll"
"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvijet.dll"
"C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\bin\riscvijet.dll"
"C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\Debug\Exe\RTOSDemo.out"
"C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1-RevB_IAR\Debug\Exe\RTOSDemo.out"
--plugin="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvbat.dll"
--plugin="C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\bin\riscvbat.dll"
--flash_loader="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\flashloader\SiFive\hifive1.board"
--flash_loader="C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\config\flashloader\SiFive\hifive1.board"

File diff suppressed because one or more lines are too long

@ -12,7 +12,7 @@
<ByteLimit>50</ByteLimit>
</Stack>
<DebugChecksum>
<Checksum>2321671989</Checksum>
<Checksum>93930437</Checksum>
</DebugChecksum>
<Disassembly>
<InstrCount>0</InstrCount>
@ -41,7 +41,7 @@
</Jet>
<PlDriver>
<FirstRun>0</FirstRun>
<MemConfigValue>C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf</MemConfigValue>
<MemConfigValue>C:\devtools\IAR Systems\Embedded Workbench 8.4\riscv\config\debugger\SiFive\hifive1.ddf</MemConfigValue>
</PlDriver>
<RiscvDriver>
<EnableCache>1</EnableCache>

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save