Răsfoiți Sursa

ideproject/iar: update iar projects for n100 cpu

Signed-off-by: Huaqi Fang <578567190@qq.com>
Huaqi Fang 1 an în urmă
părinte
comite
ab5aa3b323

+ 7 - 12
ideprojects/iar/README.md

@@ -1,30 +1,25 @@
-# IAR Embedded Workbench IDE Projects For Nuclei Processors
+# IAR Embedded Workbench IDE Projects For Nuclei 100 Series Processors
 
 In this folder, we provided a prebuilt IAR workspace with baremetal and rtos projects.
 
 > You can refer to these demo projects to build your own iar projects, please use **IAR Embedded Workbench for RISC-V 3.30** released at **October 23, 2023**.
 
-> If you want to evaluate Nuclei N300 DSP feature(P-ext 0.5.4), you can change the file `C:\Program Files\IAR Systems\Embedded Workbench 9.2\riscv\config\devices\Nuclei\N300.menu`, change `RV32IMAFDCB_Zkn_Zks_Zcb_Zcmp` to `RV32IMAFDCB_Zkn_Zks_Zcb_Zcmp_Xandesdsp`, `Xandesdsp` is based on P-ext 0.5.0, there are some intruction encoding updates from 0.5.0 to 0.5.4, and we use IAR custom instruction intrinsic to implement the different instructions, please check `NMSIS/Core/core_feature_dsp.h` for details, and in future, we will co-operate with IAR to support full Nuclei DSP feature including(N1/N2/N3 custom enhancement instructions).
-
 These projects demostrated the following features:
 
 - Provide support for Nuclei Evaluation SoC which is a prototype and evaluation SoC mainly
-  used to evaluate Nuclei RISC-V processor such as 200/300/600/900 series.
-- RISC-V Extension IMAFDCB are supported in this project.
-- These projects are based on Nuclei SDK project which intergated NMSIS standard.
+  used to evaluate Nuclei 100 series RISC-V Processor.
+- RISC-V Extension IMAC are supported in this project.
+- These projects are based on Nuclei SDK project which intergated modified NMSIS standard.
 - We have implemented CPU core startup, exception handling and linker script and ported NMSIS Core
   for IAR Compiler, please check the commit histories for the changes we have made.
 - These projects are using iar linker script icf file provided in this project not the one in IAR workbench.
-- Currently both Nuclei RV32 and RV64 processors are supported in this project.
-- If you want to **enable P extension**, choose ``Xandesdsp``(based on P-ext 0.5.0) option in IAR project settings: ``the Options->General Options-> ISA Extensions->DSP``, and link with P-ext 0.5.4 optimized library.
-- Full Nuclei RISC-V DSP feature is still working in progress together with IAR team.
-- DSP/NN libraries are able to be used in this project, you can try with prebuilt libraries, but not able to
-  use any dsp intrinsic API, since not yet full compatiable with IAR version.
+- Currently Nuclei 100 series Processors are supported in this project.
 - For linker file used in IAR, the stack and heap are just following data/bss section, not at the end of ram,
   so you need to take care of the stack and heap size setting in IAR workbench, which means if your application
   code use a lot of heap or stack, the application may crash, you need to increase stack or heap size on demand.
+- **N100** not yet list in the IAR project properties menu, so we choose **N200** now as a workaround, but it will be fixed in the future.
 
-You can directly try with this iar workspace by click this `nucleisdk.eww` after you have installed [IAR Workbench](https://www.iar.com/riscv).
+You can directly try with this iar workspace by click this `nuclei_n100_sdk.eww` after you have installed [IAR Workbench](https://www.iar.com/riscv).
 ![IAR Projects for Nuclei](asserts/nsdk_iar_projects.png)
 
 If you want to debug using I-jet, you need to change Debugger Driver to I-jet in iar project options.

BIN
ideprojects/iar/asserts/nsdk_iar_projects.png


+ 1 - 1
ideprojects/iar/baremetal/demo_irqc.ewp

@@ -125,7 +125,7 @@
                 </option>
                 <option>
                     <name>GDeviceSelectSlave</name>
-                    <state>N300	Nuclei N300</state>
+                    <state>N200	Nuclei N200</state>
                 </option>
                 <option>
                     <name>GGeneralAutoVectorSetup</name>

+ 1 - 1
ideprojects/iar/baremetal/helloworld.ewp

@@ -755,7 +755,7 @@
                 </option>
                 <option>
                     <name>IlinkIcfFile</name>
-                    <state>$PROJ_DIR$\..\..\..\SoC\evalsoc\Board\nuclei_fpga_eval\Source\IAR\iar_evalsoc_flashxip.icf</state>
+                    <state>$PROJ_DIR$\..\..\..\SoC\evalsoc\Board\nuclei_fpga_eval\Source\IAR\iar_evalsoc_ilm.icf</state>
                 </option>
                 <option>
                     <name>IlinkIcfFileSlave</name>

+ 0 - 0
ideprojects/iar/nucleisdk.eww → ideprojects/iar/nuclei_n100_sdk.eww


+ 2 - 2
ideprojects/iar/scripts/upload_iar_elfs.sh

@@ -8,10 +8,10 @@ UPLOAD=${UPLOAD:-1}
 
 # TODO: Change this ROOTs according to your environment settings
 IAR_WORKBENCH_ROOT="/c/Program Files/IAR Systems/Embedded Workbench 9.2"
-NUCLEI_TOOLCHAIN_ROOT="/d/Software/NucleiStudio/toolchain"
+NUCLEI_TOOLCHAIN_ROOT="/c/Software/NucleiStudio/toolchain"
 
 # TODO: you need to modify the default remote to your real machine gdb remote such as localhost:3333
-GDBREMOTE=${GDBREMOTE:-whss3.corp.nucleisys.com:20005}
+GDBREMOTE=${GDBREMOTE:-whss3.corp.nucleisys.com:20400}
 
 # Export riscv gdb and iarbuild into system PATH, please modify it according to your environment settings
 export PATH="${NUCLEI_TOOLCHAIN_ROOT}/gcc/bin/":$PATH