diff options
| author | Elian Dunmore <[email protected]> | 2025-08-23 11:27:59 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-23 11:27:59 +0800 |
| commit | bac64cad82a54601cfb4fe0983282db91e5910ac (patch) | |
| tree | b83d997c1b0f2ab30642398c57bbff1ffb8ba9bc | |
| parent | 78cd7c47c72e451fa13914eeffafe9372d23d014 (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工程
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 + |
