summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElian Dunmore <[email protected]>2025-08-23 11:27:59 +0800
committerGitHub <[email protected]>2025-08-23 11:27:59 +0800
commitbac64cad82a54601cfb4fe0983282db91e5910ac (patch)
treeb83d997c1b0f2ab30642398c57bbff1ffb8ba9bc
parent78cd7c47c72e451fa13914eeffafe9372d23d014 (diff)
[bsp/xuantie] xuantie系列bsp添加导出CDK工程功能 #10630
[bsp/xuantie] E902 BSP适配生成CDK工程 [bsp/xuantie] E907 BSP适配生成CDK工程 [bsp/xuantie] C906 BSP适配生成CDK工程 [bsp/xuantie] C907 BSP适配生成CDK工程 [bsp/xuantie] C908 BSP适配生成CDK工程 [bsp/xuantie] C910 BSP适配生成CDK工程 [bsp/xuantie] R908 BSP适配生成CDK工程 [bsp/xuantie] R910 BSP适配生成CDK工程 [bsp/xuantie] R920 BSP适配生成CDK工程
-rw-r--r--bsp/xuantie/smartl/e902/.config26
-rw-r--r--bsp/xuantie/smartl/e902/board/SConscript17
-rw-r--r--bsp/xuantie/smartl/e902/rtconfig.h8
-rw-r--r--bsp/xuantie/smartl/e902/template.cdkproj250
-rw-r--r--bsp/xuantie/smartl/e902/template.cdkws11
-rw-r--r--bsp/xuantie/smartl/e902/utilities/gdb.init6
-rw-r--r--bsp/xuantie/smartl/e907/board/SConscript17
-rw-r--r--bsp/xuantie/smartl/e907/template.cdkproj250
-rw-r--r--bsp/xuantie/smartl/e907/template.cdkws11
-rw-r--r--bsp/xuantie/smartl/e907/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/c906/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/c906/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/c906/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/c906/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/c907/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/c907/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/c907/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/c907/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/c908/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/c908/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/c908/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/c908/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/c910/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/c910/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/c910/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/c910/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/r908/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/r908/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/r908/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/r908/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/r910/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/r910/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/r910/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/r910/utilities/gdb.init6
-rw-r--r--bsp/xuantie/xiaohui/r920/board/SConscript26
-rw-r--r--bsp/xuantie/xiaohui/r920/template.cdkproj250
-rw-r--r--bsp/xuantie/xiaohui/r920/template.cdkws11
-rw-r--r--bsp/xuantie/xiaohui/r920/utilities/gdb.init6
38 files changed, 2644 insertions, 9 deletions
diff --git a/bsp/xuantie/smartl/e902/.config b/bsp/xuantie/smartl/e902/.config
index 7c99d28ebb..8dd34512cd 100644
--- a/bsp/xuantie/smartl/e902/.config
+++ b/bsp/xuantie/smartl/e902/.config
@@ -207,6 +207,7 @@ CONFIG_FINSH_THREAD_PRIORITY=20
CONFIG_FINSH_THREAD_STACK_SIZE=4096
CONFIG_FINSH_USING_HISTORY=y
CONFIG_FINSH_HISTORY_LINES=5
+# CONFIG_FINSH_USING_WORD_OPERATION is not set
CONFIG_FINSH_USING_SYMTAB=y
CONFIG_FINSH_CMD_SIZE=80
CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
@@ -398,6 +399,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_FREEMODBUS is not set
# CONFIG_PKG_USING_NANOPB is not set
# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
+# CONFIG_PKG_USING_ESP_HOSTED is not set
#
# Wi-Fi
@@ -505,6 +507,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QMODBUS is not set
# CONFIG_PKG_USING_PNET is not set
# CONFIG_PKG_USING_OPENER is not set
+# CONFIG_PKG_USING_FREEMQTT is not set
# end of IoT - internet of things
#
@@ -639,6 +642,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ZDEBUG is not set
# CONFIG_PKG_USING_RVBACKTRACE is not set
# CONFIG_PKG_USING_HPATCHLITE is not set
+# CONFIG_PKG_USING_THREAD_METRIC is not set
# end of tools packages
#
@@ -732,6 +736,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RMP is not set
# CONFIG_PKG_USING_R_RHEALSTONE is not set
# CONFIG_PKG_USING_HEARTBEAT is not set
+# CONFIG_PKG_USING_MICRO_ROS_RTTHREAD_PACKAGE is not set
# end of system packages
#
@@ -814,6 +819,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_NRF5X_SDK is not set
# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_NUCLEI_SDK is not set
+# CONFIG_PKG_USING_RASPBERRYPI_PICO_RP2350_SDK is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
# CONFIG_PKG_USING_MM32 is not set
@@ -856,6 +862,10 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# HC32 DDL Drivers
#
+# CONFIG_PKG_USING_HC32F3_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_HC32F3_SERIES_DRIVER is not set
+# CONFIG_PKG_USING_HC32F4_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_HC32F4_SERIES_DRIVER is not set
# end of HC32 DDL Drivers
#
@@ -869,6 +879,21 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set
# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set
# end of NXP HAL & SDK Drivers
+
+#
+# NUVOTON Drivers
+#
+# CONFIG_PKG_USING_NUVOTON_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_NUVOTON_SERIES_DRIVER is not set
+# CONFIG_PKG_USING_NUVOTON_ARM926_LIB is not set
+# end of NUVOTON Drivers
+
+#
+# GD32 Drivers
+#
+# CONFIG_PKG_USING_GD32_ARM_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_GD32_ARM_SERIES_DRIVER is not set
+# end of GD32 Drivers
# end of HAL & SDK Drivers
#
@@ -1040,6 +1065,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_SEAN_WS2812B is not set
# CONFIG_PKG_USING_IC74HC165 is not set
# CONFIG_PKG_USING_IST8310 is not set
+# CONFIG_PKG_USING_ST7789_SPI is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
# end of peripheral libraries and drivers
diff --git a/bsp/xuantie/smartl/e902/board/SConscript b/bsp/xuantie/smartl/e902/board/SConscript
index d9603bd08e..d36e734da1 100644
--- a/bsp/xuantie/smartl/e902/board/SConscript
+++ b/bsp/xuantie/smartl/e902/board/SConscript
@@ -11,5 +11,20 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=4096',
+ 'CONFIG_ARCH_INTERRUPTSTACK=4096',
+ 'CONFIG_BOARD_SMARTL_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=4096',
+ 'CONFIG_CPU_XUANTIE_E902=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/smartl/e902/rtconfig.h b/bsp/xuantie/smartl/e902/rtconfig.h
index 4f9e29ffb1..b20fef1522 100644
--- a/bsp/xuantie/smartl/e902/rtconfig.h
+++ b/bsp/xuantie/smartl/e902/rtconfig.h
@@ -316,6 +316,14 @@
/* NXP HAL & SDK Drivers */
/* end of NXP HAL & SDK Drivers */
+
+/* NUVOTON Drivers */
+
+/* end of NUVOTON Drivers */
+
+/* GD32 Drivers */
+
+/* end of GD32 Drivers */
/* end of HAL & SDK Drivers */
/* sensors drivers */
diff --git a/bsp/xuantie/smartl/e902/template.cdkproj b/bsp/xuantie/smartl/e902/template.cdkproj
new file mode 100644
index 0000000000..e10946c207
--- /dev/null
+++ b/bsp/xuantie/smartl/e902/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>e902</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv32/smartl_e902_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile>$(ProjectPath)/../../../../../utilities//flash.init</InitFile>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType/>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/smartl/e902/template.cdkws b/bsp/xuantie/smartl/e902/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/smartl/e902/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/smartl/e902/utilities/gdb.init b/bsp/xuantie/smartl/e902/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/smartl/e902/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/smartl/e907/board/SConscript b/bsp/xuantie/smartl/e907/board/SConscript
index d9603bd08e..1fac75f714 100644
--- a/bsp/xuantie/smartl/e907/board/SConscript
+++ b/bsp/xuantie/smartl/e907/board/SConscript
@@ -11,5 +11,20 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=4096',
+ 'CONFIG_ARCH_INTERRUPTSTACK=4096',
+ 'CONFIG_BOARD_SMARTL_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=4096',
+ 'CONFIG_CPU_XUANTIE_E907FD=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/smartl/e907/template.cdkproj b/bsp/xuantie/smartl/e907/template.cdkproj
new file mode 100644
index 0000000000..268382345a
--- /dev/null
+++ b/bsp/xuantie/smartl/e907/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>e907fdp</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv32/smartl_e907_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile>$(ProjectPath)/../../../../../utilities//flash.init</InitFile>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType/>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/smartl/e907/template.cdkws b/bsp/xuantie/smartl/e907/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/smartl/e907/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/smartl/e907/utilities/gdb.init b/bsp/xuantie/smartl/e907/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/smartl/e907/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/c906/board/SConscript b/bsp/xuantie/xiaohui/c906/board/SConscript
index d9603bd08e..ba75a5aa2a 100644
--- a/bsp/xuantie/xiaohui/c906/board/SConscript
+++ b/bsp/xuantie/xiaohui/c906/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'DCONFIG_CPU_XUANTIE_C906FD=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/c906/template.cdkproj b/bsp/xuantie/xiaohui/c906/template.cdkproj
new file mode 100644
index 0000000000..07b7d20e1e
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c906/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>c906fdv</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_c906_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/c906/template.cdkws b/bsp/xuantie/xiaohui/c906/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c906/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/c906/utilities/gdb.init b/bsp/xuantie/xiaohui/c906/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c906/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/c907/board/SConscript b/bsp/xuantie/xiaohui/c907/board/SConscript
index d9603bd08e..c445499730 100644
--- a/bsp/xuantie/xiaohui/c907/board/SConscript
+++ b/bsp/xuantie/xiaohui/c907/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_C907=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/c907/template.cdkproj b/bsp/xuantie/xiaohui/c907/template.cdkproj
new file mode 100644
index 0000000000..acb5f7293a
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c907/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>c907fdv</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_c907_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/c907/template.cdkws b/bsp/xuantie/xiaohui/c907/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c907/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/c907/utilities/gdb.init b/bsp/xuantie/xiaohui/c907/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c907/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/c908/board/SConscript b/bsp/xuantie/xiaohui/c908/board/SConscript
index d9603bd08e..e970418129 100644
--- a/bsp/xuantie/xiaohui/c908/board/SConscript
+++ b/bsp/xuantie/xiaohui/c908/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_C908V=1'
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/c908/template.cdkproj b/bsp/xuantie/xiaohui/c908/template.cdkproj
new file mode 100644
index 0000000000..3bf1683204
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c908/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>c908v</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_c908_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/c908/template.cdkws b/bsp/xuantie/xiaohui/c908/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c908/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/c908/utilities/gdb.init b/bsp/xuantie/xiaohui/c908/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c908/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/c910/board/SConscript b/bsp/xuantie/xiaohui/c910/board/SConscript
index d9603bd08e..6e7236ee6b 100644
--- a/bsp/xuantie/xiaohui/c910/board/SConscript
+++ b/bsp/xuantie/xiaohui/c910/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_C910V3=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/c910/template.cdkproj b/bsp/xuantie/xiaohui/c910/template.cdkproj
new file mode 100644
index 0000000000..f353c6cb6e
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c910/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>c910v3</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_c910v3_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/c910/template.cdkws b/bsp/xuantie/xiaohui/c910/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c910/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/c910/utilities/gdb.init b/bsp/xuantie/xiaohui/c910/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/c910/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/r908/board/SConscript b/bsp/xuantie/xiaohui/r908/board/SConscript
index d9603bd08e..1aa2f45278 100644
--- a/bsp/xuantie/xiaohui/r908/board/SConscript
+++ b/bsp/xuantie/xiaohui/r908/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_R908=1',
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/r908/template.cdkproj b/bsp/xuantie/xiaohui/r908/template.cdkproj
new file mode 100644
index 0000000000..a93f1d6e46
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r908/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>r908fdv</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_r908_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/r908/template.cdkws b/bsp/xuantie/xiaohui/r908/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r908/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/r908/utilities/gdb.init b/bsp/xuantie/xiaohui/r908/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r908/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/r910/board/SConscript b/bsp/xuantie/xiaohui/r910/board/SConscript
index d9603bd08e..ecc0547963 100644
--- a/bsp/xuantie/xiaohui/r910/board/SConscript
+++ b/bsp/xuantie/xiaohui/r910/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_R910=1'
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/r910/template.cdkproj b/bsp/xuantie/xiaohui/r910/template.cdkproj
new file mode 100644
index 0000000000..3bf1683204
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r910/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>c908v</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_c908_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/r910/template.cdkws b/bsp/xuantie/xiaohui/r910/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r910/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/r910/utilities/gdb.init b/bsp/xuantie/xiaohui/r910/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r910/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+
diff --git a/bsp/xuantie/xiaohui/r920/board/SConscript b/bsp/xuantie/xiaohui/r920/board/SConscript
index d9603bd08e..3acb386db8 100644
--- a/bsp/xuantie/xiaohui/r920/board/SConscript
+++ b/bsp/xuantie/xiaohui/r920/board/SConscript
@@ -11,5 +11,29 @@ src = ['board.c']
path = [cwd]
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
+CPPDEFINES = [
+ 'CONFIG_KERNEL_RTTHREAD=1',
+ '__RT_KERNEL_SOURCE__=1',
+ 'CONFIG_CSI_V2=1',
+ 'CONFIG_CSI="csi2"',
+ 'CONFIG_SUPPORT_TSPEND=0',
+ 'CONFIG_SUPPORT_IRQ_NESTED=0',
+ 'CONFIG_XIP=1',
+ 'CONFIG_ARCH_MAINSTACK=8192',
+ 'CONFIG_ARCH_INTERRUPTSTACK=8192',
+ 'CONFIG_BOARD_XIAOHUI_EVB=1',
+ 'CLI_CONFIG_STACK_SIZE=8192',
+ 'CONFIG_PLIC_BASE=134217728',
+ 'CONFIG_VIC_TSPDR=201326592',
+ 'CONFIG_CLIC_BASE=201392128',
+ 'CONFIG_FPP_ENABLE=0',
+ 'CONFIG_INTC_CLIC_PLIC=1',
+ 'CONFIG_INIT_TASK_STACK_SIZE=8192',
+ 'CONFIG_APP_TASK_STACK_SIZE=8192',
+ 'CONFIG_SYSTICK_HZ=100',
+ 'CONFIG_DEBUG=1',
+ 'CONFIG_CPU_XUANTIE_R920=1'
+]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/bsp/xuantie/xiaohui/r920/template.cdkproj b/bsp/xuantie/xiaohui/r920/template.cdkproj
new file mode 100644
index 0000000000..fd4470b7c6
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r920/template.cdkproj
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Project Name="xuantie_rtthread" Version="1" Language="C">
+ <Description/>
+ <Dependencies Name="Debug"/>
+ <VendorInfo>
+ <VendorName>new_psf_project_SmartL_E906FD-R2S2(V1.7.9)</VendorName>
+ </VendorInfo>
+ <ToolsConfig>
+ <Compiler>
+ <Name>XTGccElfNewlib</Name>
+ <Version>latest</Version>
+ </Compiler>
+ </ToolsConfig>
+ <DebugSessions>
+ <watchExpressions/>
+ <memoryExpressions>;;;</memoryExpressions>
+ <statistics>;;MHZ</statistics>
+ <peripheralTabs/>
+ <WatchDisplayFormat/>
+ <LocalDisplayFormat/>
+ <debugLayout/>
+ <memoryTabColSizeExpressions/>
+ <QuickWatchDisplayFormat/>
+ </DebugSessions>
+ <BuildConfigs>
+ <BuildConfig Name="BuildSet">
+ <Target>
+ <ROMBank Selected="1">
+ <ROM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM1>
+ <ROM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM2>
+ <ROM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM3>
+ <ROM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM4>
+ <ROM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ </ROM5>
+ </ROMBank>
+ <RAMBank>
+ <RAM1>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM1>
+ <RAM2>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM2>
+ <RAM3>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM3>
+ <RAM4>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM4>
+ <RAM5>
+ <InUse>no</InUse>
+ <Start/>
+ <Size/>
+ <Init>yes</Init>
+ </RAM5>
+ </RAMBank>
+ <CPU>r920</CPU>
+ <UseMiniLib>yes</UseMiniLib>
+ <Endian>little</Endian>
+ <UseHardFloat>no</UseHardFloat>
+ <UseEnhancedLRW>no</UseEnhancedLRW>
+ <UseContinueBuild>no</UseContinueBuild>
+ <ToolchainID/>
+ <ToolchainVersion/>
+ <UseSemiHost>no</UseSemiHost>
+ </Target>
+ <Output>
+ <OutputName>$(ProjectName)</OutputName>
+ <Type>Executable</Type>
+ <CreateHexFile>no</CreateHexFile>
+ <CreateBinFile>no</CreateBinFile>
+ <Preprocessor>no</Preprocessor>
+ <Disassmeble>yes</Disassmeble>
+ <CallGraph>no</CallGraph>
+ <Map>no</Map>
+ </Output>
+ <User>
+ <BeforeCompile>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg>no</RunUserProg>
+ <UserProgName/>
+ <IsBatchScript>no</IsBatchScript>
+ </AfterMake>
+ <Tools/>
+ </User>
+ <Compiler>
+ <Define/>
+ <Undefine/>
+ <Optim>Optimize size (-Os)</Optim>
+ <DebugLevel>Maximum (-g3)</DebugLevel>
+ <IncludePath>$(ProjectPath);$(ProjectPath)/../../../../../csi_core/include;$(ProjectPath)/../../../../../csi_driver/include;$(ProjectPath)/../../../../../libs/include;$(ProjectPath)/../../../../../csi_driver/smartl_rv32/include;$(ProjectPath)/../../../../../csi_kernel/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/include/;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/include;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv;$(ProjectPath)/../../../../../csi_kernel/freertosv10.3.1/FreeRTOS/Source/portable/GCC/riscv/chip_specific_extensions/thead_rv32;$(ProjectPath)/../../../../../board/smartl_e906_evb/include;$(ProjectPath)/../../../../../projects/tests/dtest/include;$(ProjectPath)/../../../../../projects/tests/kernel/include;;;;;;;$(ProjectPath)/../../../../../projects/tests/kernel/freertos/configs</IncludePath>
+ <OtherFlags>-ffunction-sections -fdata-sections</OtherFlags>
+ <Verbose>no</Verbose>
+ <Ansi>no</Ansi>
+ <Syntax>no</Syntax>
+ <Pedantic>no</Pedantic>
+ <PedanticErr>no</PedanticErr>
+ <InhibitWarn>no</InhibitWarn>
+ <AllWarn>yes</AllWarn>
+ <WarnErr>no</WarnErr>
+ <OneElfS>yes</OneElfS>
+ <OneElfSPerData>no</OneElfSPerData>
+ <Fstrict>no</Fstrict>
+ </Compiler>
+ <Asm>
+ <Define/>
+ <Undefine/>
+ <IncludePath/>
+ <OtherFlags>-D"Default_IRQHandler=SW_handler"</OtherFlags>
+ <DebugLevel>gdwarf2</DebugLevel>
+ </Asm>
+ <Linker>
+ <Garbage>yes</Garbage>
+ <Garbage2>yes</Garbage2>
+ <LDFile>$(ProjectPath)/../../libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_xiaohui.ld</LDFile>
+ <LibName>m</LibName>
+ <LibPath/>
+ <OtherFlags>-Wl,-zmax-page-size=1024</OtherFlags>
+ <AutoLDFile>no</AutoLDFile>
+ <LinkType/>
+ <IncludeAllLibs>no</IncludeAllLibs>
+ <LinkSpecsType>none</LinkSpecsType>
+ <LinkUseNewlibNano>no</LinkUseNewlibNano>
+ <LinkUseMinilibc>no</LinkUseMinilibc>
+ </Linker>
+ <Debug>
+ <LoadApplicationAtStartup>yes</LoadApplicationAtStartup>
+ <Connector>SIM</Connector>
+ <StopAt>yes</StopAt>
+ <StopAtText>main</StopAtText>
+ <InitFile>$(ProjectPath)/utilities/gdb.init</InitFile>
+ <PreInit/>
+ <AfterLoadFile/>
+ <AutoRun>yes</AutoRun>
+ <ResetType>Hard Reset</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <ResetAfterLoad>no</ResetAfterLoad>
+ <AfterResetFile/>
+ <Dumpcore>no</Dumpcore>
+ <DumpcoreText/>
+ <SVCFile/>
+ <ConfigICE>
+ <IP>localhost</IP>
+ <PORT>1025</PORT>
+ <CPUNumber>0</CPUNumber>
+ <Clock>12000</Clock>
+ <Delay>10</Delay>
+ <NResetDelay>100</NResetDelay>
+ <WaitReset>50</WaitReset>
+ <DDC>yes</DDC>
+ <TRST>no</TRST>
+ <PreReset>no</PreReset>
+ <DebugPrint>no</DebugPrint>
+ <Connect>Normal</Connect>
+ <ResetType>soft</ResetType>
+ <SoftResetVal>0</SoftResetVal>
+ <RTOSType>None</RTOSType>
+ <DownloadToFlash>no</DownloadToFlash>
+ <ResetAfterConnect>yes</ResetAfterConnect>
+ <GDBName/>
+ <GDBServerType>Local</GDBServerType>
+ <OtherFlags/>
+ <ICEEnablePCSampling>no</ICEEnablePCSampling>
+ <ICESamplingFreq>1000</ICESamplingFreq>
+ <RemoteICEEnablePCSampling>no</RemoteICEEnablePCSampling>
+ <RemoteICESamplingPort>1026</RemoteICESamplingPort>
+ <Version>latest</Version>
+ <SupportRemoteICEAsyncDebug>no</SupportRemoteICEAsyncDebug>
+ </ConfigICE>
+ <ConfigSIM>
+ <SIMTarget>soccfg/riscv64/xiaohui_r920_cfg.xml</SIMTarget>
+ <OtherFlags/>
+ <NoGraphic>yes</NoGraphic>
+ <Log>no</Log>
+ <SimTrace>no</SimTrace>
+ <Version>latest</Version>
+ </ConfigSIM>
+ <ConfigOpenOCD>
+ <OpenOCDExecutablePath/>
+ <OpenOCDLocally>yes</OpenOCDLocally>
+ <OpenOCDTelnetPortEnable>no</OpenOCDTelnetPortEnable>
+ <OpenOCDTelnetPort>4444</OpenOCDTelnetPort>
+ <OpenOCDTclPortEnable>no</OpenOCDTclPortEnable>
+ <OpenOCDTclPort>6666</OpenOCDTclPort>
+ <OpenOCDConfigOptions/>
+ <OpenOCDTimeout>5000</OpenOCDTimeout>
+ <OpenOCDRemoteIP>localhost</OpenOCDRemoteIP>
+ <OpenOCDRemotePort>3333</OpenOCDRemotePort>
+ <PluginID>openocd-sifive</PluginID>
+ <Version>latest</Version>
+ </ConfigOpenOCD>
+ </Debug>
+ <Flash>
+ <InitFile/>
+ <PreInit/>
+ <Erase>Erase Sectors</Erase>
+ <Algorithms Path=""/>
+ <Program>yes</Program>
+ <Verify>no</Verify>
+ <ResetAndRun>no</ResetAndRun>
+ <ResetType>Soft Reset</ResetType>
+ <SoftResetVal/>
+ <FlashIndex>no</FlashIndex>
+ <FlashIndexVal>0</FlashIndexVal>
+ <External>no</External>
+ <Command/>
+ <Arguments/>
+ </Flash>
+ </BuildConfig>
+ </BuildConfigs>
+</Project>
diff --git a/bsp/xuantie/xiaohui/r920/template.cdkws b/bsp/xuantie/xiaohui/r920/template.cdkws
new file mode 100644
index 0000000000..a1c3cd0a73
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r920/template.cdkws
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CDK_Workspace Name="template" Database="LanguageSever" DoubleClick="Yes">
+ <DefaultPackPath>$(CDKWS)\__workspace_pack__</DefaultPackPath>
+ <Project Name="xuantie_rtthread" Path="template.cdkproj" RootPath="" Active="Yes"/>
+ <BuildMatrix>
+ <WorkspaceConfiguration Name="Debug" Selected="yes">
+ <Environment/>
+ <Project Name="xuantie_rtthread" ConfigName="BuildSet"/>
+ </WorkspaceConfiguration>
+ </BuildMatrix>
+</CDK_Workspace>
diff --git a/bsp/xuantie/xiaohui/r920/utilities/gdb.init b/bsp/xuantie/xiaohui/r920/utilities/gdb.init
new file mode 100644
index 0000000000..7792c77445
--- /dev/null
+++ b/bsp/xuantie/xiaohui/r920/utilities/gdb.init
@@ -0,0 +1,6 @@
+set *(int *)0x0=0x6f
+si
+reset
+set *(int *)0x40011008=0x0
+set *(int *)0x4001101c=0x0
+