Browse Source

support cv181x-riscv for RT-SMART (#8724)

flyingcys 1 year ago
parent
commit
5c593e6789

+ 24 - 45
bsp/cvitek/c906_little/.config

@@ -349,7 +349,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_PDULIB is not set
 # CONFIG_PKG_USING_BTSTACK is not set
 # CONFIG_PKG_USING_BT_CYW43012 is not set
-# CONFIG_PKG_USING_CYW43XX is not set
 # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
 # CONFIG_PKG_USING_WAYZ_IOTKIT is not set
 # CONFIG_PKG_USING_MAVLINK is not set
@@ -515,9 +514,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
 #
 # CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_CORE is not set
-# CONFIG_PKG_USING_CMSIS_DSP is not set
-# CONFIG_PKG_USING_CMSIS_NN is not set
 # CONFIG_PKG_USING_CMSIS_RTOS1 is not set
 # CONFIG_PKG_USING_CMSIS_RTOS2 is not set
 
@@ -537,8 +533,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_PIXMAN is not set
 # CONFIG_PKG_USING_PARTITION is not set
 # CONFIG_PKG_USING_PERF_COUNTER is not set
-# CONFIG_PKG_USING_FILEX is not set
-# CONFIG_PKG_USING_LEVELX is not set
 # CONFIG_PKG_USING_FLASHDB is not set
 # CONFIG_PKG_USING_SQLITE is not set
 # CONFIG_PKG_USING_RTI is not set
@@ -582,30 +576,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # peripheral libraries and drivers
 #
 
-#
-# HAL & SDK Drivers
-#
-
-#
-# STM32 HAL & SDK Drivers
-#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32WB55_SDK is not set
-# CONFIG_PKG_USING_STM32_SDIO is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_EMBARC_BSP is not set
-# CONFIG_PKG_USING_ESP_IDF is not set
-
-#
-# Kendryte SDK
-#
-# CONFIG_PKG_USING_K210_SDK is not set
-# CONFIG_PKG_USING_KENDRYTE_SDK is not set
-# 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_SDK is not set
-
 #
 # sensors drivers
 #
@@ -687,8 +657,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_FT6236 is not set
 # CONFIG_PKG_USING_XPT2046_TOUCH is not set
 # CONFIG_PKG_USING_CST816X is not set
-# CONFIG_PKG_USING_CST812T is not set
 # CONFIG_PKG_USING_REALTEK_AMEBA is not set
+# CONFIG_PKG_USING_STM32_SDIO is not set
+# CONFIG_PKG_USING_ESP_IDF is not set
 # CONFIG_PKG_USING_BUTTON is not set
 # CONFIG_PKG_USING_PCF8574 is not set
 # CONFIG_PKG_USING_SX12XX is not set
@@ -696,6 +667,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_LEDBLINK is not set
 # CONFIG_PKG_USING_LITTLED is not set
 # CONFIG_PKG_USING_LKDGUI is not set
+# CONFIG_PKG_USING_NRF5X_SDK is not set
+# CONFIG_PKG_USING_NRFX is not set
+
+#
+# Kendryte SDK
+#
+# CONFIG_PKG_USING_K210_SDK is not set
+# CONFIG_PKG_USING_KENDRYTE_SDK is not set
 # CONFIG_PKG_USING_INFRARED is not set
 # CONFIG_PKG_USING_MULTI_INFRARED is not set
 # CONFIG_PKG_USING_AGILE_BUTTON is not set
@@ -710,12 +689,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_AS608 is not set
 # CONFIG_PKG_USING_RC522 is not set
 # CONFIG_PKG_USING_WS2812B is not set
+# CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
 # CONFIG_PKG_USING_MULTI_RTIMER is not set
 # CONFIG_PKG_USING_MAX7219 is not set
 # CONFIG_PKG_USING_BEEP is not set
 # CONFIG_PKG_USING_EASYBLINK is not set
 # CONFIG_PKG_USING_PMS_SERIES is not set
+# CONFIG_PKG_USING_NUCLEI_SDK is not set
 # CONFIG_PKG_USING_CAN_YMODEM is not set
 # CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
 # CONFIG_PKG_USING_QLED is not set
@@ -732,6 +713,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
 # CONFIG_PKG_USING_VDEVICE is not set
 # CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_RDA58XX is not set
 # CONFIG_PKG_USING_LIBNFC is not set
 # CONFIG_PKG_USING_MFOC is not set
@@ -741,6 +723,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ROSSERIAL is not set
 # CONFIG_PKG_USING_MICRO_ROS is not set
 # CONFIG_PKG_USING_MCP23008 is not set
+# CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_MISAKA_AT24CXX is not set
 # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
 # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
@@ -748,6 +731,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_MB85RS16 is not set
 # CONFIG_PKG_USING_RFM300 is not set
 # CONFIG_PKG_USING_IO_INPUT_FILTER is not set
+# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
 # CONFIG_PKG_USING_LRF_NV7LIDAR is not set
 # CONFIG_PKG_USING_AIP650 is not set
 # CONFIG_PKG_USING_FINGERPRINT is not set
@@ -757,8 +741,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_VS1003 is not set
 # CONFIG_PKG_USING_X9555 is not set
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
-# CONFIG_PKG_USING_BT_MX01 is not set
-# CONFIG_PKG_USING_RGPOWER is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 
 #
@@ -857,9 +839,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # Projects and Demos
 #
 # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
-# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set
 # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
-# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
 # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
 # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
 
@@ -867,13 +847,13 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # Sensors
 #
 # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
+# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set
+# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set
@@ -918,7 +898,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set
+# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set
@@ -957,6 +937,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
@@ -979,7 +960,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set
+# CONFIG_PKG_USING_SEEED_ITG3200 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set
@@ -987,7 +968,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set
+# CONFIG_PKG_USING_SEEED_MP503 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set
@@ -1000,8 +981,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
-# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
-# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
 
 #
 # Display
@@ -1027,7 +1006,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 #
 # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
 # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
-# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
 
 #
 # Data Storage
@@ -1044,11 +1022,11 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
 #
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
 
 #
 # Other
@@ -1081,6 +1059,7 @@ CONFIG_RT_USING_UART1=y
 CONFIG_UART_IRQ_BASE=30
 # CONFIG_BSP_USING_I2C is not set
 # CONFIG_BSP_USING_ADC is not set
+# CONFIG_BSP_USING_SPI is not set
 # CONFIG_BSP_USING_WDT is not set
 # CONFIG_BSP_USING_PWM is not set
 # CONFIG_BSP_USING_RTC is not set

+ 4 - 2
bsp/cvitek/c906_little/README.md

@@ -29,7 +29,7 @@ $ sudo apt install -y scons libncurses5-dev wget flex bison
 $ scons --menuconfig
 ```
 
-选择当前需要编译的目标开发板类型
+选择当前需要编译的目标开发板类型
 ```shell
 Board Type (milkv-duo)  --->
     ( ) milkv-duo
@@ -66,4 +66,6 @@ HW_HEAP_BEGIN:83f74dc0 RT_HW_HEAP_END:84000000 size: 569920
  2006 - 2022 Copyright by RT-Thread team
 Hello, RISC-V!
 msh />
-```
+```
+
+> 注:c906 小核默认日志串口为 uart1

+ 70 - 0
bsp/cvitek/c906_little/README_en.md

@@ -0,0 +1,70 @@
+# c906_little bsp
+This BSP is a coprocessor in the cv18xx series processor, using RISCV C906 @ 700Mhz.
+Features:
+- No MMU
+- Integrated Floating-point Unit (FPU)
+
+## Toolchain Download
+Download the toolchain for `riscv64-unknown-elf-gcc`: [https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1705395512373/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1-20240115.tar.gz](https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1705395512373/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1-20240115.tar.gz)
+
+> Note:
+Current BSP only supports Linux compilation.
+
+After correct decompression, add the local path of the `riscv64-unknown-elf-gcc` toolchain to `EXEC_PATH` in `rtconfig.py`, or specify the path through the `RTT_EXEC_PATH` environment variable.
+
+```shell
+$ export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.8.1/bin
+```
+
+## Compilation
+1. Dependency Installation
+
+```shell
+$ sudo apt install -y scons libncurses5-dev wget flex bison
+```
+
+2. On Linux platform, execute:
+```shell
+$ scons --menuconfig
+```
+
+Choose the target development board type that needs to be compiled:
+```shell
+Board Type (milkv-duo)  --->
+    ( ) milkv-duo
+    (X) milkv-duo256m
+```
+
+It will automatically download env related scripts to the ~/.env directory, then execute
+```shell
+$ source ~/.env/env.sh
+$ pkgs --update
+```
+After updating the software packages, execute `scons -j10` or `scons -j10 --verbose` to compile this BSP. Or use the `scons --exec-path="GCC toolchain path"` command to compile directly while specifying the toolchain location. If the compilation is correct, the rtthread.elf file will be generated.
+
+After the compilation is completed, the script automatically calls the `combine-fip.sh` script for packaging, and generates `fip.sd`, which is the c906_little file for SD card startup.
+
+The first time the `combine-fip.sh` script is called, it will automatically download the required `opsbsbi`, `fsbl`, `uboot`, and other related files to the `bsp/cvitek/cvitek_bootloader` directory, please be patient.
+
+After downloading, it will automatically decompress and compile. Subsequently, when compiling the same type of development board again, only the relevant files will be called to package and synthesize `fip.bin`. If you need to manually compile the related `cvitek_bootloader` files, you can execute `bash build.sh lunch` in the `bsp/cvitek/cvitek_bootloader` directory to choose the corresponding development board for compilation.
+
+## Running
+1. Divide the SD card into 2 partitions, the 1st partition is used to store bin files, and the 2nd partition is used as a data storage partition, with the partition format being `FAT32`.
+2. Copy the `fip.bin` and `boot.sd` from the root directory into the 1st partition of the SD card. Subsequent firmware updates only require copying the `fip.sd` file.
+Where:
+- fip.bin: fsbl, opensbi, uboot, c906_little packaged bin file
+- boot.sd: bin file packaged by the main kernel
+
+After updating `fip.sd`, restarting will show the output information on the serial port:
+```shell
+HW_HEAP_BEGIN:83f74dc0 RT_HW_HEAP_END:84000000 size: 569920
+
+ \ | /
+- RT -     Thread Operating System
+ / | \     5.1.0 build Jan 27 2024 22:45:49
+ 2006 - 2022 Copyright by RT-Thread team
+Hello, RISC-V!
+msh />
+```
+
+> Note: The default log serial port for the c906 little core is uart1

+ 3 - 8
bsp/cvitek/c906_little/rtconfig.h

@@ -195,20 +195,15 @@
 
 /* peripheral libraries and drivers */
 
-/* HAL & SDK Drivers */
-
-/* STM32 HAL & SDK Drivers */
-
-
-/* Kendryte SDK */
-
-
 /* sensors drivers */
 
 
 /* touch drivers */
 
 
+/* Kendryte SDK */
+
+
 /* AI packages */
 
 

+ 0 - 5
bsp/cvitek/cv180x/.gitignore

@@ -1,5 +0,0 @@
-cv1800b_milkv_duo_sd.dtb
-Image
-Image.lzma
-multi.its
-boot.sd

BIN
bsp/cvitek/cv180x/cv1800b_milkv_duo_sd.dtb


+ 0 - 56
bsp/cvitek/cv180x/multi.its

@@ -1,56 +0,0 @@
-/*
- * U-Boot uImage source file with multiple kernels, ramdisks and FDT blobs
- */
-
-/dts-v1/;
-
-/ {
-	description = "Various kernels, ramdisks and FDT blobs";
-	#address-cells = <2>;
-
-	images {
-		kernel-1 {
-			description = "cvitek kernel";
-			data = /incbin/("./Image.lzma");
-			type = "kernel";
-			arch = "riscv";
-			os = "linux";
-			compression = "lzma";
-			load = <0x0 0x80200000>;
-			entry = <0x0 0x80200000>;
-			hash-2 {
-				algo = "crc32";
-			};
-		};
-
-
-		/*FDT*/
-    
-        fdt-cv1800b_milkv_duo_sd {
-            description = "cvitek device tree - cv1800b_milkv_duo_sd";
-            data = /incbin/("./cv1800b_milkv_duo_sd.dtb");
-            type = "flat_dt";
-            arch = "riscv";
-            compression = "none";
-            hash-1 {
-                algo = "sha256";
-            };
-        };
-
-
-
-	};
-
-	/*CFG*/
-    configurations {
-        
-        config-cv1800b_milkv_duo_sd {
-            description = "boot cvitek system with board cv1800b_milkv_duo_sd";
-            kernel = "kernel-1";
-            fdt = "fdt-cv1800b_milkv_duo_sd";
-        };
-
-    };
-
-
-};

+ 30 - 50
bsp/cvitek/cv180x/.config → bsp/cvitek/cv18xx_risc-v/.config

@@ -129,6 +129,7 @@ CONFIG_RT_USING_DFS_V2=y
 # CONFIG_RT_USING_DFS_ELMFAT is not set
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_ROMFS is not set
+CONFIG_RT_USING_DFS_PTYFS=y
 # CONFIG_RT_USING_DFS_CROMFS is not set
 # CONFIG_RT_USING_DFS_TMPFS is not set
 # CONFIG_RT_USING_DFS_MQUEUE is not set
@@ -159,8 +160,6 @@ CONFIG_RT_USING_SERIAL_V1=y
 # CONFIG_RT_USING_SERIAL_V2 is not set
 CONFIG_RT_SERIAL_USING_DMA=y
 CONFIG_RT_SERIAL_RB_BUFSZ=64
-CONFIG_RT_USING_TTY=y
-# CONFIG_RT_TTY_DEBUG is not set
 # CONFIG_RT_USING_CAN is not set
 # CONFIG_RT_USING_CPUTIME is not set
 # CONFIG_RT_USING_I2C is not set
@@ -289,10 +288,11 @@ CONFIG_RT_CH_MSG_MAX_NR=1024
 CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024
 CONFIG_LWP_TID_MAX_NR=64
 CONFIG_RT_LWP_SHM_MAX_NR=64
-# CONFIG_LWP_UNIX98_PTY is not set
 CONFIG_RT_USING_LDSO=y
 # CONFIG_ELF_DEBUG_ENABLE is not set
 # CONFIG_ELF_LOAD_RANDOMIZE is not set
+CONFIG_LWP_USING_TERMINAL=y
+CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
 
 #
 # Memory management
@@ -396,7 +396,6 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_PDULIB is not set
 # CONFIG_PKG_USING_BTSTACK is not set
 # CONFIG_PKG_USING_BT_CYW43012 is not set
-# CONFIG_PKG_USING_CYW43XX is not set
 # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
 # CONFIG_PKG_USING_WAYZ_IOTKIT is not set
 # CONFIG_PKG_USING_MAVLINK is not set
@@ -562,9 +561,6 @@ CONFIG_RT_USING_LDSO=y
 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
 #
 # CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_CORE is not set
-# CONFIG_PKG_USING_CMSIS_DSP is not set
-# CONFIG_PKG_USING_CMSIS_NN is not set
 # CONFIG_PKG_USING_CMSIS_RTOS1 is not set
 # CONFIG_PKG_USING_CMSIS_RTOS2 is not set
 
@@ -584,8 +580,6 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_PIXMAN is not set
 # CONFIG_PKG_USING_PARTITION is not set
 # CONFIG_PKG_USING_PERF_COUNTER is not set
-# CONFIG_PKG_USING_FILEX is not set
-# CONFIG_PKG_USING_LEVELX is not set
 # CONFIG_PKG_USING_FLASHDB is not set
 # CONFIG_PKG_USING_SQLITE is not set
 # CONFIG_PKG_USING_RTI is not set
@@ -629,30 +623,6 @@ CONFIG_RT_USING_LDSO=y
 # peripheral libraries and drivers
 #
 
-#
-# HAL & SDK Drivers
-#
-
-#
-# STM32 HAL & SDK Drivers
-#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
-# CONFIG_PKG_USING_STM32WB55_SDK is not set
-# CONFIG_PKG_USING_STM32_SDIO is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_EMBARC_BSP is not set
-# CONFIG_PKG_USING_ESP_IDF is not set
-
-#
-# Kendryte SDK
-#
-# CONFIG_PKG_USING_K210_SDK is not set
-# CONFIG_PKG_USING_KENDRYTE_SDK is not set
-# 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_SDK is not set
-
 #
 # sensors drivers
 #
@@ -734,8 +704,9 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_FT6236 is not set
 # CONFIG_PKG_USING_XPT2046_TOUCH is not set
 # CONFIG_PKG_USING_CST816X is not set
-# CONFIG_PKG_USING_CST812T is not set
 # CONFIG_PKG_USING_REALTEK_AMEBA is not set
+# CONFIG_PKG_USING_STM32_SDIO is not set
+# CONFIG_PKG_USING_ESP_IDF is not set
 # CONFIG_PKG_USING_BUTTON is not set
 # CONFIG_PKG_USING_PCF8574 is not set
 # CONFIG_PKG_USING_SX12XX is not set
@@ -743,6 +714,14 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_LEDBLINK is not set
 # CONFIG_PKG_USING_LITTLED is not set
 # CONFIG_PKG_USING_LKDGUI is not set
+# CONFIG_PKG_USING_NRF5X_SDK is not set
+# CONFIG_PKG_USING_NRFX is not set
+
+#
+# Kendryte SDK
+#
+# CONFIG_PKG_USING_K210_SDK is not set
+# CONFIG_PKG_USING_KENDRYTE_SDK is not set
 # CONFIG_PKG_USING_INFRARED is not set
 # CONFIG_PKG_USING_MULTI_INFRARED is not set
 # CONFIG_PKG_USING_AGILE_BUTTON is not set
@@ -757,12 +736,14 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_AS608 is not set
 # CONFIG_PKG_USING_RC522 is not set
 # CONFIG_PKG_USING_WS2812B is not set
+# CONFIG_PKG_USING_EMBARC_BSP is not set
 # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
 # CONFIG_PKG_USING_MULTI_RTIMER is not set
 # CONFIG_PKG_USING_MAX7219 is not set
 # CONFIG_PKG_USING_BEEP is not set
 # CONFIG_PKG_USING_EASYBLINK is not set
 # CONFIG_PKG_USING_PMS_SERIES is not set
+# CONFIG_PKG_USING_NUCLEI_SDK is not set
 # CONFIG_PKG_USING_CAN_YMODEM is not set
 # CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
 # CONFIG_PKG_USING_QLED is not set
@@ -779,6 +760,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
 # CONFIG_PKG_USING_VDEVICE is not set
 # CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
 # CONFIG_PKG_USING_RDA58XX is not set
 # CONFIG_PKG_USING_LIBNFC is not set
 # CONFIG_PKG_USING_MFOC is not set
@@ -788,6 +770,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ROSSERIAL is not set
 # CONFIG_PKG_USING_MICRO_ROS is not set
 # CONFIG_PKG_USING_MCP23008 is not set
+# CONFIG_PKG_USING_BLUETRUM_SDK is not set
 # CONFIG_PKG_USING_MISAKA_AT24CXX is not set
 # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
 # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
@@ -795,6 +778,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_MB85RS16 is not set
 # CONFIG_PKG_USING_RFM300 is not set
 # CONFIG_PKG_USING_IO_INPUT_FILTER is not set
+# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
 # CONFIG_PKG_USING_LRF_NV7LIDAR is not set
 # CONFIG_PKG_USING_AIP650 is not set
 # CONFIG_PKG_USING_FINGERPRINT is not set
@@ -804,8 +788,6 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_VS1003 is not set
 # CONFIG_PKG_USING_X9555 is not set
 # CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
-# CONFIG_PKG_USING_BT_MX01 is not set
-# CONFIG_PKG_USING_RGPOWER is not set
 # CONFIG_PKG_USING_SPI_TOOLS is not set
 
 #
@@ -904,9 +886,7 @@ CONFIG_RT_USING_LDSO=y
 # Projects and Demos
 #
 # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
-# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set
 # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
-# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
 # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
 # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
 
@@ -914,13 +894,13 @@ CONFIG_RT_USING_LDSO=y
 # Sensors
 #
 # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
+# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set
+# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set
@@ -965,7 +945,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set
-# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set
+# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set
@@ -1004,6 +984,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
@@ -1026,7 +1007,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set
+# CONFIG_PKG_USING_SEEED_ITG3200 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set
@@ -1034,7 +1015,7 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set
+# CONFIG_PKG_USING_SEEED_MP503 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set
@@ -1047,8 +1028,6 @@ CONFIG_RT_USING_LDSO=y
 # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
 # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
-# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
-# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
 
 #
 # Display
@@ -1074,7 +1053,6 @@ CONFIG_RT_USING_LDSO=y
 #
 # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
 # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
-# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
 
 #
 # Data Storage
@@ -1091,11 +1069,11 @@ CONFIG_RT_USING_LDSO=y
 #
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
-# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
 
 #
 # Other
@@ -1130,10 +1108,12 @@ CONFIG_UART_IRQ_BASE=44
 # CONFIG_RT_USING_UART3 is not set
 # CONFIG_RT_USING_UART4 is not set
 # CONFIG_BSP_USING_ADC is not set
+# CONFIG_BSP_USING_SPI is not set
 # CONFIG_BSP_USING_PWM is not set
-CONFIG_BSP_USING_CV180X=y
+CONFIG_BSP_USING_CV18XX=y
 CONFIG_C906_PLIC_PHY_ADDR=0x70000000
 CONFIG_IRQ_MAX_NR=64
 CONFIG_TIMER_CLK_FREQ=25000000
 CONFIG___STACKSIZE__=4096
-CONFIG_BOARD_TYPE_MILKV_DUO=y
+# CONFIG_BOARD_TYPE_MILKV_DUO is not set
+CONFIG_BOARD_TYPE_MILKV_DUO256M=y

+ 2 - 0
bsp/cvitek/cv18xx_risc-v/.gitignore

@@ -0,0 +1,2 @@
+dtb/
+Image

+ 5 - 2
bsp/cvitek/cv180x/Kconfig → bsp/cvitek/cv18xx_risc-v/Kconfig

@@ -19,7 +19,7 @@ source "$RTT_DIR/Kconfig"
 source "$PKGS_DIR/Kconfig"
 source "board/Kconfig"
 
-config BSP_USING_CV180X
+config BSP_USING_CV18XX
     bool
     select ARCH_RISCV64
     select RT_USING_SYSTEM_WORKQUEUE
@@ -48,8 +48,11 @@ config __STACKSIZE__
 
 choice
     prompt "Board Type"
-    default BOARD_TYPE_MILKV_DUO
+    default BOARD_TYPE_MILKV_DUO256M
 
     config BOARD_TYPE_MILKV_DUO
         bool "milkv-duo"
+
+    config BOARD_TYPE_MILKV_DUO256M
+        bool "milkv-duo256m"
 endchoice

+ 7 - 0
bsp/cvitek/cv180x/README.md → bsp/cvitek/cv18xx_risc-v/README.md

@@ -57,6 +57,13 @@ $ sudo apt install -y scons libncurses5-dev device-tree-compiler
 $ scons --menuconfig
 ```
 
+选择当前需要编译的目标开发板类型:
+```shell
+Board Type (milkv-duo)  --->
+    ( ) milkv-duo
+    (X) milkv-duo256m
+```
+
 它会自动下载env相关脚本到~/.env目录,然后执行
 ```shell
 $ source ~/.env/env.sh

+ 8 - 0
bsp/cvitek/cv180x/README_en.md → bsp/cvitek/cv18xx_risc-v/README_en.md

@@ -54,6 +54,14 @@ On the Linux platform, you can execute:
 ```shell
 $ scons --menuconfig
 ```
+
+Select the type of target board that you want to compile:
+```shell
+Board Type (milkv-duo)  --->
+    ( ) milkv-duo
+    (X) milkv-duo256m
+```
+
 It will automatically download environment-related scripts to the ~/.env directory, and then execute
 ```shell
 $ source ~/.env/env.sh

+ 0 - 0
bsp/cvitek/cv180x/SConscript → bsp/cvitek/cv18xx_risc-v/SConscript


+ 0 - 0
bsp/cvitek/cv180x/SConstruct → bsp/cvitek/cv18xx_risc-v/SConstruct


+ 0 - 0
bsp/cvitek/cv180x/applications/SConscript → bsp/cvitek/cv18xx_risc-v/applications/SConscript


+ 0 - 0
bsp/cvitek/cv180x/applications/main.c → bsp/cvitek/cv18xx_risc-v/applications/main.c


+ 0 - 0
bsp/cvitek/cv180x/board/Kconfig → bsp/cvitek/cv18xx_risc-v/board/Kconfig


+ 0 - 0
bsp/cvitek/cv180x/board/SConscript → bsp/cvitek/cv18xx_risc-v/board/SConscript


+ 0 - 0
bsp/cvitek/cv180x/board/board.c → bsp/cvitek/cv18xx_risc-v/board/board.c


+ 0 - 0
bsp/cvitek/cv180x/board/board.h → bsp/cvitek/cv18xx_risc-v/board/board.h


+ 0 - 0
bsp/cvitek/cv180x/link.lds → bsp/cvitek/cv18xx_risc-v/link.lds


+ 0 - 0
bsp/cvitek/cv180x/link_stacksize.lds → bsp/cvitek/cv18xx_risc-v/link_stacksize.lds


+ 8 - 11
bsp/cvitek/cv180x/rtconfig.h → bsp/cvitek/cv18xx_risc-v/rtconfig.h

@@ -90,6 +90,7 @@
 #define DFS_FD_MAX 16
 #define RT_USING_DFS_V2
 #define RT_USING_DFS_DEVFS
+#define RT_USING_DFS_PTYFS
 #define RT_USING_PAGECACHE
 
 /* page cache config */
@@ -112,7 +113,6 @@
 #define RT_USING_SERIAL_V1
 #define RT_SERIAL_USING_DMA
 #define RT_SERIAL_RB_BUFSZ 64
-#define RT_USING_TTY
 #define RT_USING_NULL
 #define RT_USING_ZERO
 #define RT_USING_RANDOM
@@ -172,6 +172,8 @@
 #define LWP_TID_MAX_NR 64
 #define RT_LWP_SHM_MAX_NR 64
 #define RT_USING_LDSO
+#define LWP_USING_TERMINAL
+#define LWP_PTY_MAX_PARIS_LIMIT 64
 
 /* Memory management */
 
@@ -242,20 +244,15 @@
 
 /* peripheral libraries and drivers */
 
-/* HAL & SDK Drivers */
-
-/* STM32 HAL & SDK Drivers */
-
-
-/* Kendryte SDK */
-
-
 /* sensors drivers */
 
 
 /* touch drivers */
 
 
+/* Kendryte SDK */
+
+
 /* AI packages */
 
 
@@ -311,11 +308,11 @@
 #define BSP_USING_UART
 #define RT_USING_UART0
 #define UART_IRQ_BASE 44
-#define BSP_USING_CV180X
+#define BSP_USING_CV18XX
 #define C906_PLIC_PHY_ADDR 0x70000000
 #define IRQ_MAX_NR 64
 #define TIMER_CLK_FREQ 25000000
 #define __STACKSIZE__ 4096
-#define BOARD_TYPE_MILKV_DUO
+#define BOARD_TYPE_MILKV_DUO256M
 
 #endif

+ 0 - 0
bsp/cvitek/cv180x/rtconfig.py → bsp/cvitek/cv18xx_risc-v/rtconfig.py


+ 2 - 2
bsp/cvitek/mksdimg.sh

@@ -31,7 +31,7 @@ get_board_type
 
 echo "start compress kernel..."
 
-lzma -c -9 -f -k ${PROJECT_PATH}/${IMAGE_NAME} > ${PROJECT_PATH}/Image.lzma
+lzma -c -9 -f -k ${PROJECT_PATH}/${IMAGE_NAME} > ${PROJECT_PATH}/dtb/${BOARD_TYPE}/Image.lzma
 
 mkdir -p ${ROOT_PATH}/output/${BOARD_TYPE}
-./mkimage -f ${PROJECT_PATH}/multi.its -r ${ROOT_PATH}/output/${BOARD_TYPE}/boot.sd
+./mkimage -f ${PROJECT_PATH}/dtb/${BOARD_TYPE}/multi.its -r ${ROOT_PATH}/output/${BOARD_TYPE}/boot.sd