Confirmed with milkv, only the sd card version is sold by default for duo in the market. The spi pins are provided through stamp holes, so that users can solder the corresponding components on their baseboard during secondary development. In order to simplify maintenance work, the mainline will only support the sd-card version and no longer support spinor/spinand. Updated config files the same in this patch. Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
574 lines
13 KiB
C
Executable File
574 lines
13 KiB
C
Executable File
#ifndef RT_CONFIG_H__
|
|
#define RT_CONFIG_H__
|
|
|
|
/* RT-Thread Kernel */
|
|
|
|
/* klibc options */
|
|
|
|
/* rt_vsnprintf options */
|
|
|
|
#define RT_KLIBC_USING_VSNPRINTF_LONGLONG
|
|
#define RT_KLIBC_USING_VSNPRINTF_STANDARD
|
|
#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_SPECIFIERS
|
|
#define RT_KLIBC_USING_VSNPRINTF_EXPONENTIAL_SPECIFIERS
|
|
#define RT_KLIBC_USING_VSNPRINTF_WRITEBACK_SPECIFIER
|
|
#define RT_KLIBC_USING_VSNPRINTF_CHECK_NUL_IN_FORMAT_SPECIFIER
|
|
#define RT_KLIBC_USING_VSNPRINTF_INTEGER_BUFFER_SIZE 32
|
|
#define RT_KLIBC_USING_VSNPRINTF_DECIMAL_BUFFER_SIZE 32
|
|
#define RT_KLIBC_USING_VSNPRINTF_FLOAT_PRECISION 6
|
|
#define RT_KLIBC_USING_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9
|
|
#define RT_KLIBC_USING_VSNPRINTF_LOG10_TAYLOR_TERMS 4
|
|
/* end of rt_vsnprintf options */
|
|
|
|
/* rt_vsscanf options */
|
|
|
|
/* end of rt_vsscanf options */
|
|
|
|
/* rt_memset options */
|
|
|
|
/* end of rt_memset options */
|
|
|
|
/* rt_memcpy options */
|
|
|
|
/* end of rt_memcpy options */
|
|
|
|
/* rt_memmove options */
|
|
|
|
/* end of rt_memmove options */
|
|
|
|
/* rt_memcmp options */
|
|
|
|
/* end of rt_memcmp options */
|
|
|
|
/* rt_strstr options */
|
|
|
|
/* end of rt_strstr options */
|
|
|
|
/* rt_strcasecmp options */
|
|
|
|
/* end of rt_strcasecmp options */
|
|
|
|
/* rt_strncpy options */
|
|
|
|
/* end of rt_strncpy options */
|
|
|
|
/* rt_strcpy options */
|
|
|
|
/* end of rt_strcpy options */
|
|
|
|
/* rt_strncmp options */
|
|
|
|
/* end of rt_strncmp options */
|
|
|
|
/* rt_strcmp options */
|
|
|
|
/* end of rt_strcmp options */
|
|
|
|
/* rt_strlen options */
|
|
|
|
/* end of rt_strlen options */
|
|
|
|
/* rt_strnlen options */
|
|
|
|
/* end of rt_strnlen options */
|
|
/* end of klibc options */
|
|
#define RT_NAME_MAX 8
|
|
#define RT_USING_SMART
|
|
#define RT_CPUS_NR 1
|
|
#define RT_ALIGN_SIZE 8
|
|
#define RT_THREAD_PRIORITY_32
|
|
#define RT_THREAD_PRIORITY_MAX 32
|
|
#define RT_TICK_PER_SECOND 1000
|
|
#define RT_USING_OVERFLOW_CHECK
|
|
#define RT_USING_HOOK
|
|
#define RT_HOOK_USING_FUNC_PTR
|
|
#define RT_USING_IDLE_HOOK
|
|
#define RT_IDLE_HOOK_LIST_SIZE 4
|
|
#define IDLE_THREAD_STACK_SIZE 16384
|
|
#define RT_USING_TIMER_SOFT
|
|
#define RT_TIMER_THREAD_PRIO 4
|
|
#define RT_TIMER_THREAD_STACK_SIZE 16384
|
|
#define RT_USING_CPU_USAGE_TRACER
|
|
|
|
/* kservice options */
|
|
|
|
/* end of kservice options */
|
|
#define RT_USING_DEBUG
|
|
#define RT_DEBUGING_ASSERT
|
|
#define RT_DEBUGING_COLOR
|
|
#define RT_DEBUGING_CONTEXT
|
|
|
|
/* Inter-Thread communication */
|
|
|
|
#define RT_USING_SEMAPHORE
|
|
#define RT_USING_MUTEX
|
|
#define RT_USING_EVENT
|
|
#define RT_USING_MAILBOX
|
|
#define RT_USING_MESSAGEQUEUE
|
|
/* end of Inter-Thread communication */
|
|
|
|
/* Memory Management */
|
|
|
|
#define RT_PAGE_MAX_ORDER 11
|
|
#define RT_USING_SLAB
|
|
#define RT_USING_SLAB_AS_HEAP
|
|
#define RT_USING_HEAP
|
|
/* end of Memory Management */
|
|
#define RT_USING_DEVICE
|
|
#define RT_USING_DEVICE_OPS
|
|
#define RT_USING_CONSOLE
|
|
#define RT_CONSOLEBUF_SIZE 256
|
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
|
#define RT_VER_NUM 0x50200
|
|
#define RT_USING_STDC_ATOMIC
|
|
#define RT_BACKTRACE_LEVEL_MAX_NR 32
|
|
/* end of RT-Thread Kernel */
|
|
#define ARCH_CPU_64BIT
|
|
#define RT_USING_CACHE
|
|
#define ARCH_MM_MMU
|
|
#define KERNEL_VADDR_START 0xFFFFFFC000200000
|
|
#define ARCH_RISCV
|
|
#define ARCH_RISCV_FPU
|
|
#define ARCH_RISCV_FPU_D
|
|
#define ARCH_RISCV64
|
|
#define ARCH_USING_NEW_CTX_SWITCH
|
|
#define ARCH_USING_RISCV_COMMON64
|
|
#define ARCH_REMAP_KERNEL
|
|
|
|
/* RT-Thread Components */
|
|
|
|
#define RT_USING_COMPONENTS_INIT
|
|
#define RT_USING_USER_MAIN
|
|
#define RT_MAIN_THREAD_STACK_SIZE 8192
|
|
#define RT_MAIN_THREAD_PRIORITY 10
|
|
#define RT_USING_MSH
|
|
#define RT_USING_FINSH
|
|
#define FINSH_USING_MSH
|
|
#define FINSH_THREAD_NAME "tshell"
|
|
#define FINSH_THREAD_PRIORITY 20
|
|
#define FINSH_THREAD_STACK_SIZE 8192
|
|
#define FINSH_USING_HISTORY
|
|
#define FINSH_HISTORY_LINES 5
|
|
#define FINSH_USING_SYMTAB
|
|
#define FINSH_CMD_SIZE 80
|
|
#define MSH_USING_BUILT_IN_COMMANDS
|
|
#define FINSH_USING_DESCRIPTION
|
|
#define FINSH_ARG_MAX 10
|
|
#define FINSH_USING_OPTION_COMPLETION
|
|
|
|
/* DFS: device virtual file system */
|
|
|
|
#define RT_USING_DFS
|
|
#define DFS_USING_POSIX
|
|
#define DFS_USING_WORKDIR
|
|
#define DFS_FD_MAX 128
|
|
#define RT_USING_DFS_V2
|
|
#define RT_USING_DFS_ELMFAT
|
|
|
|
/* elm-chan's FatFs, Generic FAT Filesystem Module */
|
|
|
|
#define RT_DFS_ELM_CODE_PAGE 437
|
|
#define RT_DFS_ELM_WORD_ACCESS
|
|
#define RT_DFS_ELM_USE_LFN_3
|
|
#define RT_DFS_ELM_USE_LFN 3
|
|
#define RT_DFS_ELM_LFN_UNICODE_0
|
|
#define RT_DFS_ELM_LFN_UNICODE 0
|
|
#define RT_DFS_ELM_MAX_LFN 255
|
|
#define RT_DFS_ELM_DRIVES 2
|
|
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
|
|
#define RT_DFS_ELM_REENTRANT
|
|
#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
|
|
/* end of elm-chan's FatFs, Generic FAT Filesystem Module */
|
|
#define RT_USING_DFS_DEVFS
|
|
#define RT_USING_DFS_ROMFS
|
|
#define RT_USING_DFS_PTYFS
|
|
#define RT_USING_DFS_TMPFS
|
|
#define RT_USING_PAGECACHE
|
|
|
|
/* page cache config */
|
|
|
|
#define RT_PAGECACHE_COUNT 4096
|
|
#define RT_PAGECACHE_ASPACE_COUNT 1024
|
|
#define RT_PAGECACHE_PRELOAD 4
|
|
#define RT_PAGECACHE_HASH_NR 1024
|
|
#define RT_PAGECACHE_GC_WORK_LEVEL 90
|
|
#define RT_PAGECACHE_GC_STOP_LEVEL 70
|
|
/* end of page cache config */
|
|
/* end of DFS: device virtual file system */
|
|
|
|
/* Device Drivers */
|
|
|
|
#define RT_USING_DEVICE_IPC
|
|
#define RT_UNAMED_PIPE_NUMBER 64
|
|
#define RT_USING_SYSTEM_WORKQUEUE
|
|
#define RT_SYSTEM_WORKQUEUE_STACKSIZE 8192
|
|
#define RT_SYSTEM_WORKQUEUE_PRIORITY 23
|
|
#define RT_USING_SERIAL
|
|
#define RT_USING_SERIAL_V1
|
|
#define RT_SERIAL_USING_DMA
|
|
#define RT_SERIAL_RB_BUFSZ 64
|
|
#define RT_USING_SERIAL_BYPASS
|
|
#define RT_USING_CPUTIME
|
|
#define RT_USING_CPUTIME_RISCV
|
|
#define CPUTIME_TIMER_FREQ 25000000
|
|
#define RT_USING_NULL
|
|
#define RT_USING_ZERO
|
|
#define RT_USING_RANDOM
|
|
#define RT_USING_RTC
|
|
#define RT_USING_SDIO
|
|
#define RT_SDIO_STACK_SIZE 8192
|
|
#define RT_SDIO_THREAD_PRIORITY 15
|
|
#define RT_MMCSD_STACK_SIZE 8192
|
|
#define RT_MMCSD_THREAD_PREORITY 22
|
|
#define RT_MMCSD_MAX_PARTITION 16
|
|
#define RT_USING_WDT
|
|
#define RT_USING_BLK
|
|
|
|
/* Partition Types */
|
|
|
|
#define RT_BLK_PARTITION_DFS
|
|
#define RT_BLK_PARTITION_EFI
|
|
/* end of Partition Types */
|
|
#define RT_USING_PIN
|
|
#define RT_USING_KTIME
|
|
#define RT_USING_HWTIMER
|
|
/* end of Device Drivers */
|
|
|
|
/* C/C++ and POSIX layer */
|
|
|
|
/* ISO-ANSI C layer */
|
|
|
|
/* Timezone and Daylight Saving Time */
|
|
|
|
#define RT_LIBC_USING_LIGHT_TZ_DST
|
|
#define RT_LIBC_TZ_DEFAULT_HOUR 8
|
|
#define RT_LIBC_TZ_DEFAULT_MIN 0
|
|
#define RT_LIBC_TZ_DEFAULT_SEC 0
|
|
/* end of Timezone and Daylight Saving Time */
|
|
/* end of ISO-ANSI C layer */
|
|
|
|
/* POSIX (Portable Operating System Interface) layer */
|
|
|
|
#define RT_USING_POSIX_FS
|
|
#define RT_USING_POSIX_DEVIO
|
|
#define RT_USING_POSIX_STDIO
|
|
#define RT_USING_POSIX_POLL
|
|
#define RT_USING_POSIX_SELECT
|
|
#define RT_USING_POSIX_EPOLL
|
|
#define RT_USING_POSIX_SIGNALFD
|
|
#define RT_SIGNALFD_MAX_NUM 10
|
|
#define RT_USING_POSIX_SOCKET
|
|
#define RT_USING_POSIX_TERMIOS
|
|
#define RT_USING_POSIX_DELAY
|
|
#define RT_USING_POSIX_CLOCK
|
|
#define RT_USING_POSIX_TIMER
|
|
|
|
/* Interprocess Communication (IPC) */
|
|
|
|
|
|
/* Socket is in the 'Network' category */
|
|
|
|
/* end of Interprocess Communication (IPC) */
|
|
/* end of POSIX (Portable Operating System Interface) layer */
|
|
/* end of C/C++ and POSIX layer */
|
|
|
|
/* Network */
|
|
|
|
#define RT_USING_SAL
|
|
#define SAL_INTERNET_CHECK
|
|
|
|
/* Docking with protocol stacks */
|
|
|
|
#define SAL_USING_LWIP
|
|
/* end of Docking with protocol stacks */
|
|
#define SAL_USING_POSIX
|
|
#define RT_USING_NETDEV
|
|
#define NETDEV_USING_IFCONFIG
|
|
#define NETDEV_USING_PING
|
|
#define NETDEV_USING_NETSTAT
|
|
#define NETDEV_USING_AUTO_DEFAULT
|
|
#define NETDEV_IPV4 1
|
|
#define NETDEV_IPV6 0
|
|
#define RT_USING_LWIP
|
|
#define RT_USING_LWIP212
|
|
#define RT_USING_LWIP_VER_NUM 0x20102
|
|
#define RT_LWIP_MEM_ALIGNMENT 8
|
|
#define RT_LWIP_IGMP
|
|
#define RT_LWIP_ICMP
|
|
#define RT_LWIP_DNS
|
|
#define RT_LWIP_DHCP
|
|
#define IP_SOF_BROADCAST 1
|
|
#define IP_SOF_BROADCAST_RECV 1
|
|
|
|
/* Static IPv4 Address */
|
|
|
|
#define RT_LWIP_IPADDR "192.168.1.30"
|
|
#define RT_LWIP_GWADDR "192.168.1.1"
|
|
#define RT_LWIP_MSKADDR "255.255.255.0"
|
|
/* end of Static IPv4 Address */
|
|
#define RT_LWIP_UDP
|
|
#define RT_LWIP_TCP
|
|
#define RT_LWIP_RAW
|
|
#define RT_MEMP_NUM_NETCONN 8
|
|
#define RT_LWIP_PBUF_NUM 16
|
|
#define RT_LWIP_RAW_PCB_NUM 4
|
|
#define RT_LWIP_UDP_PCB_NUM 4
|
|
#define RT_LWIP_TCP_PCB_NUM 4
|
|
#define RT_LWIP_TCP_SEG_NUM 40
|
|
#define RT_LWIP_TCP_SND_BUF 8196
|
|
#define RT_LWIP_TCP_WND 8196
|
|
#define RT_LWIP_TCPTHREAD_PRIORITY 10
|
|
#define RT_LWIP_TCPTHREAD_MBOX_SIZE 8
|
|
#define RT_LWIP_TCPTHREAD_STACKSIZE 8192
|
|
#define RT_LWIP_ETHTHREAD_PRIORITY 12
|
|
#define RT_LWIP_ETHTHREAD_STACKSIZE 8192
|
|
#define RT_LWIP_ETHTHREAD_MBOX_SIZE 8
|
|
#define LWIP_NETIF_STATUS_CALLBACK 1
|
|
#define LWIP_NETIF_LINK_CALLBACK 1
|
|
#define RT_LWIP_NETIF_NAMESIZE 6
|
|
#define SO_REUSE 1
|
|
#define LWIP_SO_RCVTIMEO 1
|
|
#define LWIP_SO_SNDTIMEO 1
|
|
#define LWIP_SO_RCVBUF 1
|
|
#define LWIP_SO_LINGER 0
|
|
#define LWIP_NETIF_LOOPBACK 0
|
|
#define RT_LWIP_USING_PING
|
|
/* end of Network */
|
|
|
|
/* Memory protection */
|
|
|
|
/* end of Memory protection */
|
|
|
|
/* Utilities */
|
|
|
|
#define RT_USING_RESOURCE_ID
|
|
#define RT_USING_ADT
|
|
#define RT_USING_ADT_AVL
|
|
#define RT_USING_ADT_BITMAP
|
|
#define RT_USING_ADT_HASHMAP
|
|
#define RT_USING_ADT_REF
|
|
/* end of Utilities */
|
|
#define RT_USING_LWP
|
|
#define LWP_DEBUG
|
|
#define LWP_USING_RUNTIME
|
|
#define RT_LWP_MAX_NR 30
|
|
#define LWP_TASK_STACK_SIZE 16384
|
|
#define RT_CH_MSG_MAX_NR 1024
|
|
#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 */
|
|
|
|
/* end of Memory management */
|
|
|
|
/* Using USB legacy version */
|
|
|
|
/* end of Using USB legacy version */
|
|
/* end of RT-Thread Components */
|
|
|
|
/* RT-Thread Utestcases */
|
|
|
|
/* end of RT-Thread Utestcases */
|
|
|
|
/* RT-Thread online packages */
|
|
|
|
/* IoT - internet of things */
|
|
|
|
|
|
/* Wi-Fi */
|
|
|
|
/* Marvell WiFi */
|
|
|
|
/* end of Marvell WiFi */
|
|
|
|
/* Wiced WiFi */
|
|
|
|
/* end of Wiced WiFi */
|
|
|
|
/* CYW43012 WiFi */
|
|
|
|
/* end of CYW43012 WiFi */
|
|
|
|
/* BL808 WiFi */
|
|
|
|
/* end of BL808 WiFi */
|
|
|
|
/* CYW43439 WiFi */
|
|
|
|
/* end of CYW43439 WiFi */
|
|
/* end of Wi-Fi */
|
|
|
|
/* IoT Cloud */
|
|
|
|
/* end of IoT Cloud */
|
|
/* end of IoT - internet of things */
|
|
|
|
/* security packages */
|
|
|
|
/* end of security packages */
|
|
|
|
/* language packages */
|
|
|
|
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
|
|
|
|
/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
|
|
|
|
/* XML: Extensible Markup Language */
|
|
|
|
/* end of XML: Extensible Markup Language */
|
|
/* end of language packages */
|
|
|
|
/* multimedia packages */
|
|
|
|
/* LVGL: powerful and easy-to-use embedded GUI library */
|
|
|
|
/* end of LVGL: powerful and easy-to-use embedded GUI library */
|
|
|
|
/* u8g2: a monochrome graphic library */
|
|
|
|
/* end of u8g2: a monochrome graphic library */
|
|
/* end of multimedia packages */
|
|
|
|
/* tools packages */
|
|
|
|
/* end of tools packages */
|
|
|
|
/* system packages */
|
|
|
|
/* enhanced kernel services */
|
|
|
|
/* end of enhanced kernel services */
|
|
|
|
/* acceleration: Assembly language or algorithmic acceleration packages */
|
|
|
|
/* end of acceleration: Assembly language or algorithmic acceleration packages */
|
|
|
|
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
|
|
|
|
/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
|
|
|
|
/* Micrium: Micrium software products porting for RT-Thread */
|
|
|
|
/* end of Micrium: Micrium software products porting for RT-Thread */
|
|
/* end of system packages */
|
|
|
|
/* peripheral libraries and drivers */
|
|
|
|
/* HAL & SDK Drivers */
|
|
|
|
/* STM32 HAL & SDK Drivers */
|
|
|
|
/* end of STM32 HAL & SDK Drivers */
|
|
|
|
/* Infineon HAL Packages */
|
|
|
|
/* end of Infineon HAL Packages */
|
|
|
|
/* Kendryte SDK */
|
|
|
|
/* end of Kendryte SDK */
|
|
/* end of HAL & SDK Drivers */
|
|
|
|
/* sensors drivers */
|
|
|
|
/* end of sensors drivers */
|
|
|
|
/* touch drivers */
|
|
|
|
/* end of touch drivers */
|
|
/* end of peripheral libraries and drivers */
|
|
|
|
/* AI packages */
|
|
|
|
/* end of AI packages */
|
|
|
|
/* Signal Processing and Control Algorithm Packages */
|
|
|
|
/* end of Signal Processing and Control Algorithm Packages */
|
|
|
|
/* miscellaneous packages */
|
|
|
|
/* project laboratory */
|
|
|
|
/* end of project laboratory */
|
|
|
|
/* samples: kernel and components samples */
|
|
|
|
/* end of samples: kernel and components samples */
|
|
|
|
/* entertainment: terminal games and other interesting software packages */
|
|
|
|
/* end of entertainment: terminal games and other interesting software packages */
|
|
#define PKG_USING_ZLIB
|
|
#define PKG_USING_ZLIB_LATEST_VERSION
|
|
/* end of miscellaneous packages */
|
|
|
|
/* Arduino libraries */
|
|
|
|
|
|
/* Projects and Demos */
|
|
|
|
/* end of Projects and Demos */
|
|
|
|
/* Sensors */
|
|
|
|
/* end of Sensors */
|
|
|
|
/* Display */
|
|
|
|
/* end of Display */
|
|
|
|
/* Timing */
|
|
|
|
/* end of Timing */
|
|
|
|
/* Data Processing */
|
|
|
|
/* end of Data Processing */
|
|
|
|
/* Data Storage */
|
|
|
|
/* Communication */
|
|
|
|
/* end of Communication */
|
|
|
|
/* Device Control */
|
|
|
|
/* end of Device Control */
|
|
|
|
/* Other */
|
|
|
|
/* end of Other */
|
|
|
|
/* Signal IO */
|
|
|
|
/* end of Signal IO */
|
|
|
|
/* Uncategorized */
|
|
|
|
/* end of Arduino libraries */
|
|
/* end of RT-Thread online packages */
|
|
|
|
/* General Drivers Configuration */
|
|
|
|
#define BSP_USING_UART
|
|
#define BSP_USING_UART0
|
|
#define BSP_UART0_RX_PINNAME "UART0_RX"
|
|
#define BSP_UART0_TX_PINNAME "UART0_TX"
|
|
#define BSP_UART_IRQ_BASE 44
|
|
/* end of General Drivers Configuration */
|
|
#define BSP_USING_CV18XX
|
|
#define C906_PLIC_PHY_ADDR 0x70000000
|
|
#define IRQ_MAX_NR 101
|
|
#define BSP_GPIO_IRQ_BASE 60
|
|
#define BSP_SYS_GPIO_IRQ_BASE 70
|
|
#define __STACKSIZE__ 8192
|
|
#define SOC_TYPE_SG2002
|
|
#define BOARD_TYPE_MILKV_DUO256M
|
|
#define BSP_ROOTFS_TYPE_DISKFS
|
|
|
|
#endif
|