diff --git a/projects/x2660-halley/Templates/template-riscv/.vscode/cmake-kits.json b/projects/x2660-halley/Templates/template-riscv/.vscode/cmake-kits.json index 7c98a0d96df2f650ccc6bc35766f91f76788e335..e9582fe33014473bf341fbc830ad74c0aa07a2c3 100644 --- a/projects/x2660-halley/Templates/template-riscv/.vscode/cmake-kits.json +++ b/projects/x2660-halley/Templates/template-riscv/.vscode/cmake-kits.json @@ -1,15 +1,15 @@ [ { - "name": "GCC for ingenic cross compile on Windows", + "name": "RISCV GCC for ingenic cross compile on Windows", - "toolchainFile": "mips-gcc-sde-elf.cmake", + "toolchainFile": "riscv32-gcc.cmake", "preferredGenerator": { "name":"MinGW Makefiles" } }, { - "name": "GCC for ingenic cross compile on Linux", - "toolchainFile": "mips-gcc-sde-elf.cmake", + "name": "RISCV GCC for ingenic cross compile on Linux", + "toolchainFile": "riscv32-gcc.cmake", "preferredGenerator": { "name":"Unix Makefiles" } diff --git a/projects/x2660-halley/Templates/template-riscv/.vscode/launch.json b/projects/x2660-halley/Templates/template-riscv/.vscode/launch.json index 8ddcfe1254c34bb9d6636a995ee5e78276efc4eb..f468db96a7e5c6917643f2f6970ad3eb3296b4c2 100644 --- a/projects/x2660-halley/Templates/template-riscv/.vscode/launch.json +++ b/projects/x2660-halley/Templates/template-riscv/.vscode/launch.json @@ -13,8 +13,8 @@ "internalConsoleOptions": "openOnSessionStart", "type": "cppdbg", "MIMode": "gdb", - "miDebuggerPath": "mips-sde-elf-gdb", - "miDebuggerArgs": "", + "miDebuggerPath": "riscv32-ingenicv0-elf-gdb", + "miDebuggerArgs": "", "miDebuggerServerAddress": "localhost:3333", "targetArchitecture": "mips", "preLaunchTask": "adb forward", @@ -40,21 +40,13 @@ "text": "monitor reset halt", "ignoreFailures": false }, - { - "text": "monitor x1600_init", - "ignoreFailures": false - }, { "text": "load", "ignoreFailures": false - }, - { - "text": "monitor mips32 invalidate all", - "ignoreFailures": false } ], "logging": { - "engineLogging": false, + "engineLogging": true, "programOutput": true } } diff --git a/projects/x2660-halley/Templates/template-riscv/CMakeLists.txt b/projects/x2660-halley/Templates/template-riscv/CMakeLists.txt index cc8a7c2e1ee4575f0e4518ae60ed1141c0f71df2..5d1ea8c7973041e386c61d2b08d1a557e7a9127d 100755 --- a/projects/x2660-halley/Templates/template-riscv/CMakeLists.txt +++ b/projects/x2660-halley/Templates/template-riscv/CMakeLists.txt @@ -13,17 +13,17 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS ON) set(PROJ_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -set(SDK_PATH ${PROJ_PATH}/../../../../) +set(SDK_PATH ${PROJ_PATH}/../../../../) message("Build type: " ${CMAKE_BUILD_TYPE}) # Set linker script -set(linker_script_SRC ${SDK_PATH}/tools/ld.lds) # Modified +set(linker_script_SRC ${SDK_PATH}/cpu/core-riscv/ld.lds) # Modified set(EXECUTABLE ${CMAKE_PROJECT_NAME}) -set(CPU_PARAMETERS "-mips32r2") +set(CPU_PARAMETERS "-march=rv32imc -mabi=ilp32 -Wno-abi") -set(CMAKE_ASM_FLAGS "${CPU_PARAMETERS} -EL -D_ASSEMBLER_ -D__ASSEMBLY__") +set(CMAKE_ASM_FLAGS "${CPU_PARAMETERS} -D_ASSEMBLER_ -D__ASSEMBLY__") -set(CMAKE_C_FLAGS "${CPU_PARAMETERS} -EL -mno-abicalls -fno-pic -fno-builtin -fomit-frame-pointer -G 0 -Wall -nostdlib -Wall -fdata-sections -ffunction-sections -D__SDE_MIPS_=1") +set(CMAKE_C_FLAGS "${CPU_PARAMETERS} -fno-pic -fno-builtin -fomit-frame-pointer -Wall -nostdlib -Wall -fdata-sections -ffunction-sections") # Compiler options @@ -39,14 +39,13 @@ set(CMAKE_LD_FLAGS "${CPU_PARAMETERS}") set(sources_SRCS # Modified - ${SDK_PATH}/cpu/core/genex.S - ${SDK_PATH}/cpu/core/spinlock.c - ${SDK_PATH}/cpu/core/start.S - ${SDK_PATH}/cpu/core/traps.c + ${SDK_PATH}/cpu/core-riscv/spinlock.c + ${SDK_PATH}/cpu/core-riscv/crt0.boot.S + ${SDK_PATH}/cpu/core-riscv/traps.c ${SDK_PATH}/cpu/soc-x2600/src/interrupt.c ${SDK_PATH}/cpu/soc-x2600/src/serial.c ${SDK_PATH}/cpu/soc-x2600/src/startup.c - ${SDK_PATH}/drivers/drivers-x2600/src/x26000_hal_def.c + ${SDK_PATH}/drivers/drivers-x2600/src/x2600_hal_def.c ${SDK_PATH}/lib/libc/minimal/ctype.c ${SDK_PATH}/lib/libc/minimal/div64.c ${SDK_PATH}/lib/libc/minimal/string.c @@ -70,7 +69,7 @@ include_directories( ${PROJ_PATH}/include ${SDK_PATH}/lib/libc/minimal/include ${SDK_PATH}/drivers/drivers-x2600/include - ${SDK_PATH}/cpu/core/include + ${SDK_PATH}/cpu/core-riscv/include ${SDK_PATH}/cpu/soc-x2600/include ) @@ -91,7 +90,6 @@ target_link_libraries(${EXECUTABLE} PRIVATE ${CMAKE_LD_FLAGS} -Wl,-Map=${CMAKE_PROJECT_NAME}.map,--cref -Wl,--gc-sections - -EL -Wl,--start-group -Wl,--end-group -Wl,--print-memory-usage diff --git a/projects/x2660-halley/Templates/template-riscv/mips-gcc-sde-elf.cmake b/projects/x2660-halley/Templates/template-riscv/riscv32-gcc.cmake old mode 100755 new mode 100644 similarity index 84% rename from projects/x2660-halley/Templates/template-riscv/mips-gcc-sde-elf.cmake rename to projects/x2660-halley/Templates/template-riscv/riscv32-gcc.cmake index 6f31752a53aa0dc4277a166a8799e06bcab2083a..d09813df61ac4d343b4b4890668528bf54e9cedc --- a/projects/x2660-halley/Templates/template-riscv/mips-gcc-sde-elf.cmake +++ b/projects/x2660-halley/Templates/template-riscv/riscv32-gcc.cmake @@ -1,8 +1,8 @@ set(CMAKE_SYSTEM_NAME Generic) -set(CMAKE_SYSTEM_PROCESSOR mips) +set(CMAKE_SYSTEM_PROCESSOR riscv32) # Some default GCC settings -set(TOOLCHAIN_PREFIX "mips-sde-elf-") +set(TOOLCHAIN_PREFIX "riscv32-ingenicv0-elf-") set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) diff --git a/projects/x2660-halley/Templates/template/CMakeLists.txt b/projects/x2660-halley/Templates/template/CMakeLists.txt index cc8a7c2e1ee4575f0e4518ae60ed1141c0f71df2..ee8a221e5a95c09e631b8f48735a431241bced13 100755 --- a/projects/x2660-halley/Templates/template/CMakeLists.txt +++ b/projects/x2660-halley/Templates/template/CMakeLists.txt @@ -13,7 +13,7 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS ON) set(PROJ_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -set(SDK_PATH ${PROJ_PATH}/../../../../) +set(SDK_PATH ${PROJ_PATH}/../../../../) message("Build type: " ${CMAKE_BUILD_TYPE}) # Set linker script @@ -46,7 +46,7 @@ set(sources_SRCS # Modified ${SDK_PATH}/cpu/soc-x2600/src/interrupt.c ${SDK_PATH}/cpu/soc-x2600/src/serial.c ${SDK_PATH}/cpu/soc-x2600/src/startup.c - ${SDK_PATH}/drivers/drivers-x2600/src/x26000_hal_def.c + ${SDK_PATH}/drivers/drivers-x2600/src/x2600_hal_def.c ${SDK_PATH}/lib/libc/minimal/ctype.c ${SDK_PATH}/lib/libc/minimal/div64.c ${SDK_PATH}/lib/libc/minimal/string.c