mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-30 15:10:26 +08:00
Merge branch 'master' of github.com:RT-Thread/rt-thread into dev_li
This commit is contained in:
commit
9f100ce980
@ -1,9 +1,13 @@
|
|||||||
# Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib)
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# RT-Thread Project Configuration
|
||||||
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Kernel
|
# RT-Thread Kernel
|
||||||
#
|
#
|
||||||
CONFIG_RT_NAME_MAX=8
|
CONFIG_RT_NAME_MAX=8
|
||||||
|
# CONFIG_RT_USING_BIG_ENDIAN is not set
|
||||||
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
||||||
# CONFIG_RT_USING_SMP is not set
|
# CONFIG_RT_USING_SMP is not set
|
||||||
CONFIG_RT_ALIGN_SIZE=8
|
CONFIG_RT_ALIGN_SIZE=8
|
||||||
@ -26,8 +30,7 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=256
|
|||||||
#
|
#
|
||||||
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
||||||
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
||||||
# end of kservice optimization
|
# CONFIG_RT_USING_ASM_MEMCPY is not set
|
||||||
|
|
||||||
CONFIG_RT_DEBUG=y
|
CONFIG_RT_DEBUG=y
|
||||||
# CONFIG_RT_DEBUG_COLOR is not set
|
# CONFIG_RT_DEBUG_COLOR is not set
|
||||||
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
|
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
|
||||||
@ -50,7 +53,6 @@ CONFIG_RT_USING_EVENT=y
|
|||||||
CONFIG_RT_USING_MAILBOX=y
|
CONFIG_RT_USING_MAILBOX=y
|
||||||
CONFIG_RT_USING_MESSAGEQUEUE=y
|
CONFIG_RT_USING_MESSAGEQUEUE=y
|
||||||
# CONFIG_RT_USING_SIGNALS is not set
|
# CONFIG_RT_USING_SIGNALS is not set
|
||||||
# end of Inter-Thread communication
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Memory Management
|
# Memory Management
|
||||||
@ -64,7 +66,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||||||
# CONFIG_RT_USING_USERHEAP is not set
|
# CONFIG_RT_USING_USERHEAP is not set
|
||||||
# CONFIG_RT_USING_MEMTRACE is not set
|
# CONFIG_RT_USING_MEMTRACE is not set
|
||||||
CONFIG_RT_USING_HEAP=y
|
CONFIG_RT_USING_HEAP=y
|
||||||
# end of Memory Management
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kernel Device Object
|
# Kernel Device Object
|
||||||
@ -76,10 +77,9 @@ CONFIG_RT_USING_CONSOLE=y
|
|||||||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||||
# end of Kernel Device Object
|
|
||||||
|
|
||||||
CONFIG_RT_VER_NUM=0x40004
|
CONFIG_RT_VER_NUM=0x40004
|
||||||
# end of RT-Thread Kernel
|
# CONFIG_RT_USING_CPU_FFS is not set
|
||||||
|
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Components
|
# RT-Thread Components
|
||||||
@ -93,7 +93,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||||||
# C++ features
|
# C++ features
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||||
# end of C++ features
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Command shell
|
# Command shell
|
||||||
@ -113,13 +112,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||||||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||||
# CONFIG_FINSH_USING_AUTH is not set
|
# CONFIG_FINSH_USING_AUTH is not set
|
||||||
CONFIG_FINSH_ARG_MAX=10
|
CONFIG_FINSH_ARG_MAX=10
|
||||||
# end of Command shell
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device virtual file system
|
# Device virtual file system
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_DFS is not set
|
# CONFIG_RT_USING_DFS is not set
|
||||||
# end of Device virtual file system
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
@ -159,20 +156,17 @@ CONFIG_RT_USING_PIN=y
|
|||||||
#
|
#
|
||||||
# Using USB
|
# Using USB
|
||||||
#
|
#
|
||||||
|
# CONFIG_RT_USING_USB is not set
|
||||||
# CONFIG_RT_USING_USB_HOST is not set
|
# CONFIG_RT_USING_USB_HOST is not set
|
||||||
# CONFIG_RT_USING_USB_DEVICE is not set
|
# CONFIG_RT_USING_USB_DEVICE is not set
|
||||||
# end of Using USB
|
|
||||||
# end of Device Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# POSIX layer and C standard library
|
# POSIX layer and C standard library
|
||||||
#
|
#
|
||||||
CONFIG_RT_USING_LIBC=y
|
# CONFIG_RT_USING_LIBC is not set
|
||||||
# CONFIG_RT_USING_PTHREADS is not set
|
# CONFIG_RT_USING_PTHREADS is not set
|
||||||
CONFIG_RT_LIBC_USING_TIME=y
|
CONFIG_RT_LIBC_USING_TIME=y
|
||||||
# CONFIG_RT_USING_MODULE is not set
|
|
||||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||||
# end of POSIX layer and C standard library
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network
|
# Network
|
||||||
@ -182,32 +176,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Socket abstraction layer
|
# Socket abstraction layer
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_SAL is not set
|
# CONFIG_RT_USING_SAL is not set
|
||||||
# end of Socket abstraction layer
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network interface device
|
# Network interface device
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_NETDEV is not set
|
# CONFIG_RT_USING_NETDEV is not set
|
||||||
# end of Network interface device
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# light weight TCP/IP stack
|
# light weight TCP/IP stack
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_LWIP is not set
|
# CONFIG_RT_USING_LWIP is not set
|
||||||
# end of light weight TCP/IP stack
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AT commands
|
# AT commands
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_AT is not set
|
# CONFIG_RT_USING_AT is not set
|
||||||
# end of AT commands
|
|
||||||
# end of Network
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# VBUS(Virtual Software BUS)
|
# VBUS(Virtual Software BUS)
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
# end of VBUS(Virtual Software BUS)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Utilities
|
# Utilities
|
||||||
@ -217,14 +205,11 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_RT_USING_UTEST is not set
|
# CONFIG_RT_USING_UTEST is not set
|
||||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# end of Utilities
|
|
||||||
# end of RT-Thread Components
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_UTESTCASES is not set
|
# CONFIG_RT_USING_UTESTCASES is not set
|
||||||
# end of RT-Thread Utestcases
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread online packages
|
# RT-Thread online packages
|
||||||
@ -259,17 +244,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Marvell WiFi
|
# Marvell WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||||
# end of Marvell WiFi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Wiced WiFi
|
# Wiced WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||||
# end of Wiced WiFi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_RW007 is not set
|
# CONFIG_PKG_USING_RW007 is not set
|
||||||
# end of Wi-Fi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_COAP is not set
|
# CONFIG_PKG_USING_COAP is not set
|
||||||
# CONFIG_PKG_USING_NOPOLL is not set
|
# CONFIG_PKG_USING_NOPOLL is not set
|
||||||
# CONFIG_PKG_USING_NETUTILS is not set
|
# CONFIG_PKG_USING_NETUTILS is not set
|
||||||
@ -291,8 +271,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
||||||
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
||||||
# CONFIG_PKG_USING_JOYLINK is not set
|
# CONFIG_PKG_USING_JOYLINK is not set
|
||||||
# end of IoT Cloud
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_NIMBLE is not set
|
# CONFIG_PKG_USING_NIMBLE is not set
|
||||||
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
||||||
# CONFIG_PKG_USING_IPMSG is not set
|
# CONFIG_PKG_USING_IPMSG is not set
|
||||||
@ -326,7 +304,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
||||||
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
||||||
# CONFIG_PKG_USING_HM is not set
|
# CONFIG_PKG_USING_HM is not set
|
||||||
# end of IoT - internet of things
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@ -336,7 +313,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||||
# CONFIG_PKG_USING_TFM is not set
|
# CONFIG_PKG_USING_TFM is not set
|
||||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||||
# end of security packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# language packages
|
# language packages
|
||||||
@ -345,22 +321,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||||
# end of language packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# multimedia packages
|
# multimedia packages
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_OPENMV is not set
|
|
||||||
# CONFIG_PKG_USING_MUPDF is not set
|
|
||||||
# CONFIG_PKG_USING_STEMWIN is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# lvgl: powerful and easy-to-use embedded GUI library
|
# LVGL: powerful and easy-to-use embedded GUI library
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
||||||
# CONFIG_PKG_USING_LVGL is not set
|
# CONFIG_PKG_USING_LVGL is not set
|
||||||
# end of lvgl: powerful and easy-to-use embedded GUI library
|
# CONFIG_PKG_USING_OPENMV is not set
|
||||||
|
# CONFIG_PKG_USING_MUPDF is not set
|
||||||
|
# CONFIG_PKG_USING_STEMWIN is not set
|
||||||
# CONFIG_PKG_USING_WAVPLAYER is not set
|
# CONFIG_PKG_USING_WAVPLAYER is not set
|
||||||
# CONFIG_PKG_USING_TJPGD is not set
|
# CONFIG_PKG_USING_TJPGD is not set
|
||||||
# CONFIG_PKG_USING_PDFGEN is not set
|
# CONFIG_PKG_USING_PDFGEN is not set
|
||||||
@ -377,8 +350,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
||||||
# CONFIG_PKG_USING_U8G2 is not set
|
# CONFIG_PKG_USING_U8G2 is not set
|
||||||
# end of u8g2: a monochrome graphic library
|
|
||||||
# end of multimedia packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@ -421,7 +392,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||||
# end of tools packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# system packages
|
# system packages
|
||||||
@ -434,7 +404,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
||||||
# end of acceleration: Assembly language or algorithmic acceleration packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Micrium: Micrium software products porting for RT-Thread
|
# Micrium: Micrium software products porting for RT-Thread
|
||||||
@ -445,8 +414,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_UC_CLK is not set
|
# CONFIG_PKG_USING_UC_CLK is not set
|
||||||
# CONFIG_PKG_USING_UC_COMMON is not set
|
# CONFIG_PKG_USING_UC_COMMON is not set
|
||||||
# CONFIG_PKG_USING_UC_MODBUS is not set
|
# CONFIG_PKG_USING_UC_MODBUS is not set
|
||||||
# end of Micrium: Micrium software products porting for RT-Thread
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_CAIRO is not set
|
# CONFIG_PKG_USING_CAIRO is not set
|
||||||
# CONFIG_PKG_USING_PIXMAN is not set
|
# CONFIG_PKG_USING_PIXMAN is not set
|
||||||
@ -480,7 +447,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_WCWIDTH is not set
|
# CONFIG_PKG_USING_WCWIDTH is not set
|
||||||
# CONFIG_PKG_USING_MCUBOOT is not set
|
# CONFIG_PKG_USING_MCUBOOT is not set
|
||||||
# CONFIG_PKG_USING_TINYUSB is not set
|
# CONFIG_PKG_USING_TINYUSB is not set
|
||||||
# end of system packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
@ -560,7 +526,7 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# end of peripheral libraries and drivers
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@ -574,7 +540,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||||||
# CONFIG_PKG_USING_ULAPACK is not set
|
# CONFIG_PKG_USING_ULAPACK is not set
|
||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
# end of AI packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
@ -587,7 +552,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||||||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
||||||
# end of samples: kernel and components samples
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# entertainment: terminal games and other interesting software packages
|
# entertainment: terminal games and other interesting software packages
|
||||||
@ -601,8 +565,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||||||
# CONFIG_PKG_USING_SNAKE is not set
|
# CONFIG_PKG_USING_SNAKE is not set
|
||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# end of entertainment: terminal games and other interesting software packages
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@ -632,8 +594,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# end of miscellaneous packages
|
|
||||||
# end of RT-Thread online packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware Drivers Config
|
# Hardware Drivers Config
|
||||||
@ -645,7 +605,6 @@ CONFIG_SOC_AB32VG1=y
|
|||||||
#
|
#
|
||||||
# CONFIG_BSP_USING_AUDIO is not set
|
# CONFIG_BSP_USING_AUDIO is not set
|
||||||
# CONFIG_BSP_USING_SDCARD is not set
|
# CONFIG_BSP_USING_SDCARD is not set
|
||||||
# end of Onboard Peripheral Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# On-chip Peripheral Drivers
|
# On-chip Peripheral Drivers
|
||||||
@ -663,11 +622,8 @@ CONFIG_BSP_UART0_FIFO_SIZE=10
|
|||||||
# CONFIG_BSP_USING_ONCHIP_RTC is not set
|
# CONFIG_BSP_USING_ONCHIP_RTC is not set
|
||||||
# CONFIG_BSP_USING_ADC is not set
|
# CONFIG_BSP_USING_ADC is not set
|
||||||
# CONFIG_BSP_USING_IRRX is not set
|
# CONFIG_BSP_USING_IRRX is not set
|
||||||
# end of On-chip Peripheral Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Board extended module Drivers
|
# Board extended module Drivers
|
||||||
#
|
#
|
||||||
# end of Hardware Drivers Config
|
|
||||||
|
|
||||||
CONFIG_BOARD_BLUETRUM_EVB=y
|
CONFIG_BOARD_BLUETRUM_EVB=y
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#ifndef RT_CONFIG_H__
|
#ifndef RT_CONFIG_H__
|
||||||
#define RT_CONFIG_H__
|
#define RT_CONFIG_H__
|
||||||
|
|
||||||
/* Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib) */
|
/* Automatically generated file; DO NOT EDIT. */
|
||||||
|
/* RT-Thread Project Configuration */
|
||||||
|
|
||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
||||||
@ -21,7 +22,6 @@
|
|||||||
|
|
||||||
/* kservice optimization */
|
/* kservice optimization */
|
||||||
|
|
||||||
/* end of kservice optimization */
|
|
||||||
#define RT_DEBUG
|
#define RT_DEBUG
|
||||||
|
|
||||||
/* Inter-Thread communication */
|
/* Inter-Thread communication */
|
||||||
@ -31,7 +31,6 @@
|
|||||||
#define RT_USING_EVENT
|
#define RT_USING_EVENT
|
||||||
#define RT_USING_MAILBOX
|
#define RT_USING_MAILBOX
|
||||||
#define RT_USING_MESSAGEQUEUE
|
#define RT_USING_MESSAGEQUEUE
|
||||||
/* end of Inter-Thread communication */
|
|
||||||
|
|
||||||
/* Memory Management */
|
/* Memory Management */
|
||||||
|
|
||||||
@ -39,7 +38,6 @@
|
|||||||
#define RT_USING_MEMHEAP
|
#define RT_USING_MEMHEAP
|
||||||
#define RT_USING_SMALL_MEM
|
#define RT_USING_SMALL_MEM
|
||||||
#define RT_USING_HEAP
|
#define RT_USING_HEAP
|
||||||
/* end of Memory Management */
|
|
||||||
|
|
||||||
/* Kernel Device Object */
|
/* Kernel Device Object */
|
||||||
|
|
||||||
@ -48,9 +46,7 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 128
|
#define RT_CONSOLEBUF_SIZE 128
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||||
/* end of Kernel Device Object */
|
|
||||||
#define RT_VER_NUM 0x40004
|
#define RT_VER_NUM 0x40004
|
||||||
/* end of RT-Thread Kernel */
|
|
||||||
|
|
||||||
/* RT-Thread Components */
|
/* RT-Thread Components */
|
||||||
|
|
||||||
@ -61,7 +57,6 @@
|
|||||||
|
|
||||||
/* C++ features */
|
/* C++ features */
|
||||||
|
|
||||||
/* end of C++ features */
|
|
||||||
|
|
||||||
/* Command shell */
|
/* Command shell */
|
||||||
|
|
||||||
@ -78,11 +73,9 @@
|
|||||||
#define MSH_USING_BUILT_IN_COMMANDS
|
#define MSH_USING_BUILT_IN_COMMANDS
|
||||||
#define FINSH_USING_DESCRIPTION
|
#define FINSH_USING_DESCRIPTION
|
||||||
#define FINSH_ARG_MAX 10
|
#define FINSH_ARG_MAX 10
|
||||||
/* end of Command shell */
|
|
||||||
|
|
||||||
/* Device virtual file system */
|
/* Device virtual file system */
|
||||||
|
|
||||||
/* end of Device virtual file system */
|
|
||||||
|
|
||||||
/* Device Drivers */
|
/* Device Drivers */
|
||||||
|
|
||||||
@ -95,47 +88,34 @@
|
|||||||
|
|
||||||
/* Using USB */
|
/* Using USB */
|
||||||
|
|
||||||
/* end of Using USB */
|
|
||||||
/* end of Device Drivers */
|
|
||||||
|
|
||||||
/* POSIX layer and C standard library */
|
/* POSIX layer and C standard library */
|
||||||
|
|
||||||
#define RT_USING_LIBC
|
|
||||||
#define RT_LIBC_USING_TIME
|
#define RT_LIBC_USING_TIME
|
||||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||||
/* end of POSIX layer and C standard library */
|
|
||||||
|
|
||||||
/* Network */
|
/* Network */
|
||||||
|
|
||||||
/* Socket abstraction layer */
|
/* Socket abstraction layer */
|
||||||
|
|
||||||
/* end of Socket abstraction layer */
|
|
||||||
|
|
||||||
/* Network interface device */
|
/* Network interface device */
|
||||||
|
|
||||||
/* end of Network interface device */
|
|
||||||
|
|
||||||
/* light weight TCP/IP stack */
|
/* light weight TCP/IP stack */
|
||||||
|
|
||||||
/* end of light weight TCP/IP stack */
|
|
||||||
|
|
||||||
/* AT commands */
|
/* AT commands */
|
||||||
|
|
||||||
/* end of AT commands */
|
|
||||||
/* end of Network */
|
|
||||||
|
|
||||||
/* VBUS(Virtual Software BUS) */
|
/* VBUS(Virtual Software BUS) */
|
||||||
|
|
||||||
/* end of VBUS(Virtual Software BUS) */
|
|
||||||
|
|
||||||
/* Utilities */
|
/* Utilities */
|
||||||
|
|
||||||
/* end of Utilities */
|
|
||||||
/* end of RT-Thread Components */
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
/* end of RT-Thread Utestcases */
|
|
||||||
|
|
||||||
/* RT-Thread online packages */
|
/* RT-Thread online packages */
|
||||||
|
|
||||||
@ -146,74 +126,53 @@
|
|||||||
|
|
||||||
/* Marvell WiFi */
|
/* Marvell WiFi */
|
||||||
|
|
||||||
/* end of Marvell WiFi */
|
|
||||||
|
|
||||||
/* Wiced WiFi */
|
/* Wiced WiFi */
|
||||||
|
|
||||||
/* end of Wiced WiFi */
|
|
||||||
/* end of Wi-Fi */
|
|
||||||
|
|
||||||
/* IoT Cloud */
|
/* IoT Cloud */
|
||||||
|
|
||||||
/* end of IoT Cloud */
|
|
||||||
/* end of IoT - internet of things */
|
|
||||||
|
|
||||||
/* security packages */
|
/* security packages */
|
||||||
|
|
||||||
/* end of security packages */
|
|
||||||
|
|
||||||
/* language packages */
|
/* language packages */
|
||||||
|
|
||||||
/* end of language packages */
|
|
||||||
|
|
||||||
/* multimedia packages */
|
/* multimedia packages */
|
||||||
|
|
||||||
|
/* LVGL: powerful and easy-to-use embedded GUI library */
|
||||||
|
|
||||||
/* 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 */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
/* end of u8g2: a monochrome graphic library */
|
|
||||||
/* end of multimedia packages */
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
/* end of tools packages */
|
|
||||||
|
|
||||||
/* system packages */
|
/* system packages */
|
||||||
|
|
||||||
/* acceleration: Assembly language or algorithmic acceleration packages */
|
/* acceleration: Assembly language or algorithmic acceleration packages */
|
||||||
|
|
||||||
/* end of acceleration: Assembly language or algorithmic acceleration packages */
|
|
||||||
|
|
||||||
/* Micrium: Micrium software products porting for RT-Thread */
|
/* 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 */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
#define PKG_USING_BLUETRUM_SDK
|
#define PKG_USING_BLUETRUM_SDK
|
||||||
#define PKG_USING_BLUETRUM_SDK_LATEST_VERSION
|
#define PKG_USING_BLUETRUM_SDK_LATEST_VERSION
|
||||||
/* end of peripheral libraries and drivers */
|
|
||||||
|
|
||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
/* end of AI packages */
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* samples: kernel and components samples */
|
/* samples: kernel and components samples */
|
||||||
|
|
||||||
/* end of samples: kernel and components samples */
|
|
||||||
|
|
||||||
/* entertainment: terminal games and other interesting software packages */
|
/* entertainment: terminal games and other interesting software packages */
|
||||||
|
|
||||||
/* end of entertainment: terminal games and other interesting software packages */
|
|
||||||
/* end of miscellaneous packages */
|
|
||||||
/* end of RT-Thread online packages */
|
|
||||||
|
|
||||||
/* Hardware Drivers Config */
|
/* Hardware Drivers Config */
|
||||||
|
|
||||||
@ -221,18 +180,15 @@
|
|||||||
|
|
||||||
/* Onboard Peripheral Drivers */
|
/* Onboard Peripheral Drivers */
|
||||||
|
|
||||||
/* end of Onboard Peripheral Drivers */
|
|
||||||
|
|
||||||
/* On-chip Peripheral Drivers */
|
/* On-chip Peripheral Drivers */
|
||||||
|
|
||||||
#define BSP_USING_UART
|
#define BSP_USING_UART
|
||||||
#define BSP_USING_UART0
|
#define BSP_USING_UART0
|
||||||
#define BSP_UART0_FIFO_SIZE 10
|
#define BSP_UART0_FIFO_SIZE 10
|
||||||
/* end of On-chip Peripheral Drivers */
|
|
||||||
|
|
||||||
/* Board extended module Drivers */
|
/* Board extended module Drivers */
|
||||||
|
|
||||||
/* end of Hardware Drivers Config */
|
|
||||||
#define BOARD_BLUETRUM_EVB
|
#define BOARD_BLUETRUM_EVB
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -125,7 +125,6 @@
|
|||||||
/* POSIX layer and C standard library */
|
/* POSIX layer and C standard library */
|
||||||
|
|
||||||
#define RT_USING_LIBC
|
#define RT_USING_LIBC
|
||||||
#define RT_USING_POSIX
|
|
||||||
#define RT_LIBC_USING_TIME
|
#define RT_LIBC_USING_TIME
|
||||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||||
/* end of POSIX layer and C standard library */
|
/* end of POSIX layer and C standard library */
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib)
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# RT-Thread Configuration
|
||||||
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Kernel
|
# RT-Thread Kernel
|
||||||
#
|
#
|
||||||
CONFIG_RT_NAME_MAX=8
|
CONFIG_RT_NAME_MAX=8
|
||||||
|
# CONFIG_RT_USING_BIG_ENDIAN is not set
|
||||||
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
||||||
# CONFIG_RT_USING_SMP is not set
|
# CONFIG_RT_USING_SMP is not set
|
||||||
CONFIG_RT_ALIGN_SIZE=4
|
CONFIG_RT_ALIGN_SIZE=4
|
||||||
@ -26,8 +30,7 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
|
|||||||
#
|
#
|
||||||
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
||||||
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
||||||
# end of kservice optimization
|
# CONFIG_RT_USING_ASM_MEMCPY is not set
|
||||||
|
|
||||||
CONFIG_RT_DEBUG=y
|
CONFIG_RT_DEBUG=y
|
||||||
# CONFIG_RT_DEBUG_COLOR is not set
|
# CONFIG_RT_DEBUG_COLOR is not set
|
||||||
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
|
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
|
||||||
@ -50,7 +53,6 @@ CONFIG_RT_USING_EVENT=y
|
|||||||
CONFIG_RT_USING_MAILBOX=y
|
CONFIG_RT_USING_MAILBOX=y
|
||||||
CONFIG_RT_USING_MESSAGEQUEUE=y
|
CONFIG_RT_USING_MESSAGEQUEUE=y
|
||||||
# CONFIG_RT_USING_SIGNALS is not set
|
# CONFIG_RT_USING_SIGNALS is not set
|
||||||
# end of Inter-Thread communication
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Memory Management
|
# Memory Management
|
||||||
@ -63,7 +65,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||||||
# CONFIG_RT_USING_USERHEAP is not set
|
# CONFIG_RT_USING_USERHEAP is not set
|
||||||
# CONFIG_RT_USING_MEMTRACE is not set
|
# CONFIG_RT_USING_MEMTRACE is not set
|
||||||
CONFIG_RT_USING_HEAP=y
|
CONFIG_RT_USING_HEAP=y
|
||||||
# end of Memory Management
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kernel Device Object
|
# Kernel Device Object
|
||||||
@ -75,10 +76,9 @@ CONFIG_RT_USING_CONSOLE=y
|
|||||||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||||
# end of Kernel Device Object
|
|
||||||
|
|
||||||
CONFIG_RT_VER_NUM=0x40004
|
CONFIG_RT_VER_NUM=0x40004
|
||||||
# end of RT-Thread Kernel
|
# CONFIG_RT_USING_CPU_FFS is not set
|
||||||
|
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Components
|
# RT-Thread Components
|
||||||
@ -92,7 +92,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||||||
# C++ features
|
# C++ features
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||||
# end of C++ features
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Command shell
|
# Command shell
|
||||||
@ -112,13 +111,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||||||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||||
# CONFIG_FINSH_USING_AUTH is not set
|
# CONFIG_FINSH_USING_AUTH is not set
|
||||||
CONFIG_FINSH_ARG_MAX=10
|
CONFIG_FINSH_ARG_MAX=10
|
||||||
# end of Command shell
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device virtual file system
|
# Device virtual file system
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_DFS is not set
|
# CONFIG_RT_USING_DFS is not set
|
||||||
# end of Device virtual file system
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
@ -158,20 +155,17 @@ CONFIG_RT_USING_PIN=y
|
|||||||
#
|
#
|
||||||
# Using USB
|
# Using USB
|
||||||
#
|
#
|
||||||
|
# CONFIG_RT_USING_USB is not set
|
||||||
# CONFIG_RT_USING_USB_HOST is not set
|
# CONFIG_RT_USING_USB_HOST is not set
|
||||||
# CONFIG_RT_USING_USB_DEVICE is not set
|
# CONFIG_RT_USING_USB_DEVICE is not set
|
||||||
# end of Using USB
|
|
||||||
# end of Device Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# POSIX layer and C standard library
|
# POSIX layer and C standard library
|
||||||
#
|
#
|
||||||
CONFIG_RT_USING_LIBC=y
|
# CONFIG_RT_USING_LIBC is not set
|
||||||
# CONFIG_RT_USING_PTHREADS is not set
|
# CONFIG_RT_USING_PTHREADS is not set
|
||||||
CONFIG_RT_LIBC_USING_TIME=y
|
CONFIG_RT_LIBC_USING_TIME=y
|
||||||
# CONFIG_RT_USING_MODULE is not set
|
|
||||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||||
# end of POSIX layer and C standard library
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network
|
# Network
|
||||||
@ -181,32 +175,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Socket abstraction layer
|
# Socket abstraction layer
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_SAL is not set
|
# CONFIG_RT_USING_SAL is not set
|
||||||
# end of Socket abstraction layer
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network interface device
|
# Network interface device
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_NETDEV is not set
|
# CONFIG_RT_USING_NETDEV is not set
|
||||||
# end of Network interface device
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# light weight TCP/IP stack
|
# light weight TCP/IP stack
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_LWIP is not set
|
# CONFIG_RT_USING_LWIP is not set
|
||||||
# end of light weight TCP/IP stack
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AT commands
|
# AT commands
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_AT is not set
|
# CONFIG_RT_USING_AT is not set
|
||||||
# end of AT commands
|
|
||||||
# end of Network
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# VBUS(Virtual Software BUS)
|
# VBUS(Virtual Software BUS)
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
# end of VBUS(Virtual Software BUS)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Utilities
|
# Utilities
|
||||||
@ -216,14 +204,11 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_RT_USING_UTEST is not set
|
# CONFIG_RT_USING_UTEST is not set
|
||||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# end of Utilities
|
|
||||||
# end of RT-Thread Components
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_UTESTCASES is not set
|
# CONFIG_RT_USING_UTESTCASES is not set
|
||||||
# end of RT-Thread Utestcases
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread online packages
|
# RT-Thread online packages
|
||||||
@ -258,17 +243,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Marvell WiFi
|
# Marvell WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||||
# end of Marvell WiFi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Wiced WiFi
|
# Wiced WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||||
# end of Wiced WiFi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_RW007 is not set
|
# CONFIG_PKG_USING_RW007 is not set
|
||||||
# end of Wi-Fi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_COAP is not set
|
# CONFIG_PKG_USING_COAP is not set
|
||||||
# CONFIG_PKG_USING_NOPOLL is not set
|
# CONFIG_PKG_USING_NOPOLL is not set
|
||||||
# CONFIG_PKG_USING_NETUTILS is not set
|
# CONFIG_PKG_USING_NETUTILS is not set
|
||||||
@ -290,8 +270,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
||||||
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
||||||
# CONFIG_PKG_USING_JOYLINK is not set
|
# CONFIG_PKG_USING_JOYLINK is not set
|
||||||
# end of IoT Cloud
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_NIMBLE is not set
|
# CONFIG_PKG_USING_NIMBLE is not set
|
||||||
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
||||||
# CONFIG_PKG_USING_IPMSG is not set
|
# CONFIG_PKG_USING_IPMSG is not set
|
||||||
@ -325,7 +303,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
||||||
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
||||||
# CONFIG_PKG_USING_HM is not set
|
# CONFIG_PKG_USING_HM is not set
|
||||||
# end of IoT - internet of things
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@ -335,7 +312,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||||
# CONFIG_PKG_USING_TFM is not set
|
# CONFIG_PKG_USING_TFM is not set
|
||||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||||
# end of security packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# language packages
|
# language packages
|
||||||
@ -344,22 +320,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||||
# end of language packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# multimedia packages
|
# multimedia packages
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_OPENMV is not set
|
|
||||||
# CONFIG_PKG_USING_MUPDF is not set
|
|
||||||
# CONFIG_PKG_USING_STEMWIN is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# lvgl: powerful and easy-to-use embedded GUI library
|
# LVGL: powerful and easy-to-use embedded GUI library
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
||||||
# CONFIG_PKG_USING_LVGL is not set
|
# CONFIG_PKG_USING_LVGL is not set
|
||||||
# end of lvgl: powerful and easy-to-use embedded GUI library
|
# CONFIG_PKG_USING_OPENMV is not set
|
||||||
|
# CONFIG_PKG_USING_MUPDF is not set
|
||||||
|
# CONFIG_PKG_USING_STEMWIN is not set
|
||||||
# CONFIG_PKG_USING_WAVPLAYER is not set
|
# CONFIG_PKG_USING_WAVPLAYER is not set
|
||||||
# CONFIG_PKG_USING_TJPGD is not set
|
# CONFIG_PKG_USING_TJPGD is not set
|
||||||
# CONFIG_PKG_USING_PDFGEN is not set
|
# CONFIG_PKG_USING_PDFGEN is not set
|
||||||
@ -376,8 +349,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
||||||
# CONFIG_PKG_USING_U8G2 is not set
|
# CONFIG_PKG_USING_U8G2 is not set
|
||||||
# end of u8g2: a monochrome graphic library
|
|
||||||
# end of multimedia packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@ -420,7 +391,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||||
# end of tools packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# system packages
|
# system packages
|
||||||
@ -433,7 +403,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
||||||
# end of acceleration: Assembly language or algorithmic acceleration packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Micrium: Micrium software products porting for RT-Thread
|
# Micrium: Micrium software products porting for RT-Thread
|
||||||
@ -444,8 +413,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_UC_CLK is not set
|
# CONFIG_PKG_USING_UC_CLK is not set
|
||||||
# CONFIG_PKG_USING_UC_COMMON is not set
|
# CONFIG_PKG_USING_UC_COMMON is not set
|
||||||
# CONFIG_PKG_USING_UC_MODBUS is not set
|
# CONFIG_PKG_USING_UC_MODBUS is not set
|
||||||
# end of Micrium: Micrium software products porting for RT-Thread
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_CAIRO is not set
|
# CONFIG_PKG_USING_CAIRO is not set
|
||||||
# CONFIG_PKG_USING_PIXMAN is not set
|
# CONFIG_PKG_USING_PIXMAN is not set
|
||||||
@ -479,7 +446,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_WCWIDTH is not set
|
# CONFIG_PKG_USING_WCWIDTH is not set
|
||||||
# CONFIG_PKG_USING_MCUBOOT is not set
|
# CONFIG_PKG_USING_MCUBOOT is not set
|
||||||
# CONFIG_PKG_USING_TINYUSB is not set
|
# CONFIG_PKG_USING_TINYUSB is not set
|
||||||
# end of system packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
@ -555,7 +521,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# end of peripheral libraries and drivers
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@ -569,7 +535,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_ULAPACK is not set
|
# CONFIG_PKG_USING_ULAPACK is not set
|
||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
# end of AI packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
@ -582,7 +547,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
||||||
# end of samples: kernel and components samples
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# entertainment: terminal games and other interesting software packages
|
# entertainment: terminal games and other interesting software packages
|
||||||
@ -596,8 +560,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_SNAKE is not set
|
# CONFIG_PKG_USING_SNAKE is not set
|
||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# end of entertainment: terminal games and other interesting software packages
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@ -627,8 +589,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# end of miscellaneous packages
|
|
||||||
# end of RT-Thread online packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware Drivers Config
|
# Hardware Drivers Config
|
||||||
@ -639,7 +599,6 @@ CONFIG_SOC_GD32VF103V=y
|
|||||||
# Onboard Peripheral Drivers
|
# Onboard Peripheral Drivers
|
||||||
#
|
#
|
||||||
CONFIG_BSP_USING_USART=y
|
CONFIG_BSP_USING_USART=y
|
||||||
# end of Onboard Peripheral Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# On-chip Peripheral Drivers
|
# On-chip Peripheral Drivers
|
||||||
@ -647,11 +606,8 @@ CONFIG_BSP_USING_USART=y
|
|||||||
CONFIG_BSP_USING_GPIO=y
|
CONFIG_BSP_USING_GPIO=y
|
||||||
CONFIG_BSP_USING_UART=y
|
CONFIG_BSP_USING_UART=y
|
||||||
CONFIG_BSP_USING_UART0=y
|
CONFIG_BSP_USING_UART0=y
|
||||||
# end of On-chip Peripheral Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Board extended module Drivers
|
# Board extended module Drivers
|
||||||
#
|
#
|
||||||
# end of Hardware Drivers Config
|
|
||||||
|
|
||||||
CONFIG_SOC_GD32VF103=y
|
CONFIG_SOC_GD32VF103=y
|
||||||
|
@ -13,6 +13,4 @@ for d in list:
|
|||||||
if os.path.isfile(os.path.join(path, 'SConscript')):
|
if os.path.isfile(os.path.join(path, 'SConscript')):
|
||||||
objs = objs + SConscript(os.path.join(d, 'SConscript'))
|
objs = objs + SConscript(os.path.join(d, 'SConscript'))
|
||||||
|
|
||||||
group = DefineGroup('', src, depend = [''], CPPPATH = [])
|
|
||||||
#objs += group
|
|
||||||
Return('objs')
|
Return('objs')
|
||||||
|
@ -15,11 +15,8 @@ src += ['GD32VF103_standard_peripheral/system_gd32vf103.c',
|
|||||||
|
|
||||||
CPPPATH = [ cwd + '/GD32VF103_standard_peripheral/Include',
|
CPPPATH = [ cwd + '/GD32VF103_standard_peripheral/Include',
|
||||||
cwd + '/GD32VF103_standard_peripheral',
|
cwd + '/GD32VF103_standard_peripheral',
|
||||||
cwd + '/n22/drivers',
|
cwd + '/n22/drivers']
|
||||||
cwd + '/n22/stubs']
|
|
||||||
|
|
||||||
CPPDEFINES = []
|
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
|
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
//See LICENSE for license details.
|
//See LICENSE for license details.
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include "riscv_encoding.h"
|
#include "riscv_encoding.h"
|
||||||
#include "n22_func.h"
|
#include "n22_func.h"
|
||||||
|
#include <rtthread.h>
|
||||||
|
|
||||||
__attribute__((weak)) uintptr_t handle_nmi() {
|
__attribute__((weak)) uintptr_t handle_nmi() {
|
||||||
write(1, "nmi\n", 5);
|
rt_kprintf("nmi\n");
|
||||||
_exit(1);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -14,8 +14,7 @@ __attribute__((weak)) uintptr_t handle_trap(uintptr_t mcause, uintptr_t sp) {
|
|||||||
if (mcause == 0xFFF) {
|
if (mcause == 0xFFF) {
|
||||||
handle_nmi();
|
handle_nmi();
|
||||||
}
|
}
|
||||||
write(1, "trap\n", 5);
|
rt_kprintf("trap\n");
|
||||||
_exit(mcause);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ _start0800:
|
|||||||
li a0, 0
|
li a0, 0
|
||||||
li a1, 0
|
li a1, 0
|
||||||
call entry
|
call entry
|
||||||
tail exit
|
/* tail exit */
|
||||||
|
|
||||||
1:
|
1:
|
||||||
j 1b
|
j 1b
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#ifndef RT_CONFIG_H__
|
#ifndef RT_CONFIG_H__
|
||||||
#define RT_CONFIG_H__
|
#define RT_CONFIG_H__
|
||||||
|
|
||||||
/* Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib) */
|
/* Automatically generated file; DO NOT EDIT. */
|
||||||
|
/* RT-Thread Configuration */
|
||||||
|
|
||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
||||||
@ -21,7 +22,6 @@
|
|||||||
|
|
||||||
/* kservice optimization */
|
/* kservice optimization */
|
||||||
|
|
||||||
/* end of kservice optimization */
|
|
||||||
#define RT_DEBUG
|
#define RT_DEBUG
|
||||||
|
|
||||||
/* Inter-Thread communication */
|
/* Inter-Thread communication */
|
||||||
@ -31,14 +31,12 @@
|
|||||||
#define RT_USING_EVENT
|
#define RT_USING_EVENT
|
||||||
#define RT_USING_MAILBOX
|
#define RT_USING_MAILBOX
|
||||||
#define RT_USING_MESSAGEQUEUE
|
#define RT_USING_MESSAGEQUEUE
|
||||||
/* end of Inter-Thread communication */
|
|
||||||
|
|
||||||
/* Memory Management */
|
/* Memory Management */
|
||||||
|
|
||||||
#define RT_USING_MEMPOOL
|
#define RT_USING_MEMPOOL
|
||||||
#define RT_USING_SMALL_MEM
|
#define RT_USING_SMALL_MEM
|
||||||
#define RT_USING_HEAP
|
#define RT_USING_HEAP
|
||||||
/* end of Memory Management */
|
|
||||||
|
|
||||||
/* Kernel Device Object */
|
/* Kernel Device Object */
|
||||||
|
|
||||||
@ -46,9 +44,7 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 128
|
#define RT_CONSOLEBUF_SIZE 128
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||||
/* end of Kernel Device Object */
|
|
||||||
#define RT_VER_NUM 0x40004
|
#define RT_VER_NUM 0x40004
|
||||||
/* end of RT-Thread Kernel */
|
|
||||||
|
|
||||||
/* RT-Thread Components */
|
/* RT-Thread Components */
|
||||||
|
|
||||||
@ -59,7 +55,6 @@
|
|||||||
|
|
||||||
/* C++ features */
|
/* C++ features */
|
||||||
|
|
||||||
/* end of C++ features */
|
|
||||||
|
|
||||||
/* Command shell */
|
/* Command shell */
|
||||||
|
|
||||||
@ -76,11 +71,9 @@
|
|||||||
#define MSH_USING_BUILT_IN_COMMANDS
|
#define MSH_USING_BUILT_IN_COMMANDS
|
||||||
#define FINSH_USING_DESCRIPTION
|
#define FINSH_USING_DESCRIPTION
|
||||||
#define FINSH_ARG_MAX 10
|
#define FINSH_ARG_MAX 10
|
||||||
/* end of Command shell */
|
|
||||||
|
|
||||||
/* Device virtual file system */
|
/* Device virtual file system */
|
||||||
|
|
||||||
/* end of Device virtual file system */
|
|
||||||
|
|
||||||
/* Device Drivers */
|
/* Device Drivers */
|
||||||
|
|
||||||
@ -93,47 +86,34 @@
|
|||||||
|
|
||||||
/* Using USB */
|
/* Using USB */
|
||||||
|
|
||||||
/* end of Using USB */
|
|
||||||
/* end of Device Drivers */
|
|
||||||
|
|
||||||
/* POSIX layer and C standard library */
|
/* POSIX layer and C standard library */
|
||||||
|
|
||||||
#define RT_USING_LIBC
|
|
||||||
#define RT_LIBC_USING_TIME
|
#define RT_LIBC_USING_TIME
|
||||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||||
/* end of POSIX layer and C standard library */
|
|
||||||
|
|
||||||
/* Network */
|
/* Network */
|
||||||
|
|
||||||
/* Socket abstraction layer */
|
/* Socket abstraction layer */
|
||||||
|
|
||||||
/* end of Socket abstraction layer */
|
|
||||||
|
|
||||||
/* Network interface device */
|
/* Network interface device */
|
||||||
|
|
||||||
/* end of Network interface device */
|
|
||||||
|
|
||||||
/* light weight TCP/IP stack */
|
/* light weight TCP/IP stack */
|
||||||
|
|
||||||
/* end of light weight TCP/IP stack */
|
|
||||||
|
|
||||||
/* AT commands */
|
/* AT commands */
|
||||||
|
|
||||||
/* end of AT commands */
|
|
||||||
/* end of Network */
|
|
||||||
|
|
||||||
/* VBUS(Virtual Software BUS) */
|
/* VBUS(Virtual Software BUS) */
|
||||||
|
|
||||||
/* end of VBUS(Virtual Software BUS) */
|
|
||||||
|
|
||||||
/* Utilities */
|
/* Utilities */
|
||||||
|
|
||||||
/* end of Utilities */
|
|
||||||
/* end of RT-Thread Components */
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
/* end of RT-Thread Utestcases */
|
|
||||||
|
|
||||||
/* RT-Thread online packages */
|
/* RT-Thread online packages */
|
||||||
|
|
||||||
@ -144,72 +124,51 @@
|
|||||||
|
|
||||||
/* Marvell WiFi */
|
/* Marvell WiFi */
|
||||||
|
|
||||||
/* end of Marvell WiFi */
|
|
||||||
|
|
||||||
/* Wiced WiFi */
|
/* Wiced WiFi */
|
||||||
|
|
||||||
/* end of Wiced WiFi */
|
|
||||||
/* end of Wi-Fi */
|
|
||||||
|
|
||||||
/* IoT Cloud */
|
/* IoT Cloud */
|
||||||
|
|
||||||
/* end of IoT Cloud */
|
|
||||||
/* end of IoT - internet of things */
|
|
||||||
|
|
||||||
/* security packages */
|
/* security packages */
|
||||||
|
|
||||||
/* end of security packages */
|
|
||||||
|
|
||||||
/* language packages */
|
/* language packages */
|
||||||
|
|
||||||
/* end of language packages */
|
|
||||||
|
|
||||||
/* multimedia packages */
|
/* multimedia packages */
|
||||||
|
|
||||||
|
/* LVGL: powerful and easy-to-use embedded GUI library */
|
||||||
|
|
||||||
/* 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 */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
/* end of u8g2: a monochrome graphic library */
|
|
||||||
/* end of multimedia packages */
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
/* end of tools packages */
|
|
||||||
|
|
||||||
/* system packages */
|
/* system packages */
|
||||||
|
|
||||||
/* acceleration: Assembly language or algorithmic acceleration packages */
|
/* acceleration: Assembly language or algorithmic acceleration packages */
|
||||||
|
|
||||||
/* end of acceleration: Assembly language or algorithmic acceleration packages */
|
|
||||||
|
|
||||||
/* Micrium: Micrium software products porting for RT-Thread */
|
/* 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 */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
/* end of peripheral libraries and drivers */
|
|
||||||
|
|
||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
/* end of AI packages */
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* samples: kernel and components samples */
|
/* samples: kernel and components samples */
|
||||||
|
|
||||||
/* end of samples: kernel and components samples */
|
|
||||||
|
|
||||||
/* entertainment: terminal games and other interesting software packages */
|
/* entertainment: terminal games and other interesting software packages */
|
||||||
|
|
||||||
/* end of entertainment: terminal games and other interesting software packages */
|
|
||||||
/* end of miscellaneous packages */
|
|
||||||
/* end of RT-Thread online packages */
|
|
||||||
|
|
||||||
/* Hardware Drivers Config */
|
/* Hardware Drivers Config */
|
||||||
|
|
||||||
@ -218,18 +177,15 @@
|
|||||||
/* Onboard Peripheral Drivers */
|
/* Onboard Peripheral Drivers */
|
||||||
|
|
||||||
#define BSP_USING_USART
|
#define BSP_USING_USART
|
||||||
/* end of Onboard Peripheral Drivers */
|
|
||||||
|
|
||||||
/* On-chip Peripheral Drivers */
|
/* On-chip Peripheral Drivers */
|
||||||
|
|
||||||
#define BSP_USING_GPIO
|
#define BSP_USING_GPIO
|
||||||
#define BSP_USING_UART
|
#define BSP_USING_UART
|
||||||
#define BSP_USING_UART0
|
#define BSP_USING_UART0
|
||||||
/* end of On-chip Peripheral Drivers */
|
|
||||||
|
|
||||||
/* Board extended module Drivers */
|
/* Board extended module Drivers */
|
||||||
|
|
||||||
/* end of Hardware Drivers Config */
|
|
||||||
#define SOC_GD32VF103
|
#define SOC_GD32VF103
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -119,7 +119,7 @@ void rtthread_startup(void)
|
|||||||
#ifdef RT_USING_FINSH
|
#ifdef RT_USING_FINSH
|
||||||
/* init finsh */
|
/* init finsh */
|
||||||
finsh_system_init();
|
finsh_system_init();
|
||||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
#if !defined(RT_USING_POSIX) && defined(RT_USING_DEVICE)
|
||||||
finsh_set_device("uart1");
|
finsh_set_device("uart1");
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib)
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# RT-Thread Configuration
|
||||||
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Kernel
|
# RT-Thread Kernel
|
||||||
#
|
#
|
||||||
CONFIG_RT_NAME_MAX=8
|
CONFIG_RT_NAME_MAX=8
|
||||||
|
# CONFIG_RT_USING_BIG_ENDIAN is not set
|
||||||
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
|
||||||
# CONFIG_RT_USING_SMP is not set
|
# CONFIG_RT_USING_SMP is not set
|
||||||
CONFIG_RT_ALIGN_SIZE=4
|
CONFIG_RT_ALIGN_SIZE=4
|
||||||
@ -23,8 +27,7 @@ CONFIG_IDLE_THREAD_STACK_SIZE=256
|
|||||||
#
|
#
|
||||||
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
|
||||||
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
|
||||||
# end of kservice optimization
|
# CONFIG_RT_USING_ASM_MEMCPY is not set
|
||||||
|
|
||||||
# CONFIG_RT_DEBUG is not set
|
# CONFIG_RT_DEBUG is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -36,7 +39,6 @@ CONFIG_RT_USING_EVENT=y
|
|||||||
CONFIG_RT_USING_MAILBOX=y
|
CONFIG_RT_USING_MAILBOX=y
|
||||||
CONFIG_RT_USING_MESSAGEQUEUE=y
|
CONFIG_RT_USING_MESSAGEQUEUE=y
|
||||||
# CONFIG_RT_USING_SIGNALS is not set
|
# CONFIG_RT_USING_SIGNALS is not set
|
||||||
# end of Inter-Thread communication
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Memory Management
|
# Memory Management
|
||||||
@ -49,7 +51,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||||||
# CONFIG_RT_USING_USERHEAP is not set
|
# CONFIG_RT_USING_USERHEAP is not set
|
||||||
# CONFIG_RT_USING_MEMTRACE is not set
|
# CONFIG_RT_USING_MEMTRACE is not set
|
||||||
CONFIG_RT_USING_HEAP=y
|
CONFIG_RT_USING_HEAP=y
|
||||||
# end of Memory Management
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kernel Device Object
|
# Kernel Device Object
|
||||||
@ -61,14 +62,12 @@ CONFIG_RT_USING_CONSOLE=y
|
|||||||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
|
||||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||||
# end of Kernel Device Object
|
|
||||||
|
|
||||||
CONFIG_RT_VER_NUM=0x40004
|
CONFIG_RT_VER_NUM=0x40004
|
||||||
# end of RT-Thread Kernel
|
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
# CONFIG_RT_USING_CPU_FFS is not set
|
||||||
CONFIG_ARCH_ARM_CORTEX_M=y
|
CONFIG_ARCH_ARM_CORTEX_M=y
|
||||||
CONFIG_ARCH_ARM_CORTEX_M0=y
|
CONFIG_ARCH_ARM_CORTEX_M0=y
|
||||||
|
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Components
|
# RT-Thread Components
|
||||||
@ -82,7 +81,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||||||
# C++ features
|
# C++ features
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||||
# end of C++ features
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Command shell
|
# Command shell
|
||||||
@ -102,13 +100,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||||||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||||
# CONFIG_FINSH_USING_AUTH is not set
|
# CONFIG_FINSH_USING_AUTH is not set
|
||||||
CONFIG_FINSH_ARG_MAX=10
|
CONFIG_FINSH_ARG_MAX=10
|
||||||
# end of Command shell
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device virtual file system
|
# Device virtual file system
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_DFS is not set
|
# CONFIG_RT_USING_DFS is not set
|
||||||
# end of Device virtual file system
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Device Drivers
|
# Device Drivers
|
||||||
@ -148,20 +144,17 @@ CONFIG_RT_USING_PIN=y
|
|||||||
#
|
#
|
||||||
# Using USB
|
# Using USB
|
||||||
#
|
#
|
||||||
|
# CONFIG_RT_USING_USB is not set
|
||||||
# CONFIG_RT_USING_USB_HOST is not set
|
# CONFIG_RT_USING_USB_HOST is not set
|
||||||
# CONFIG_RT_USING_USB_DEVICE is not set
|
# CONFIG_RT_USING_USB_DEVICE is not set
|
||||||
# end of Using USB
|
|
||||||
# end of Device Drivers
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# POSIX layer and C standard library
|
# POSIX layer and C standard library
|
||||||
#
|
#
|
||||||
CONFIG_RT_USING_LIBC=y
|
# CONFIG_RT_USING_LIBC is not set
|
||||||
# CONFIG_RT_USING_PTHREADS is not set
|
# CONFIG_RT_USING_PTHREADS is not set
|
||||||
CONFIG_RT_LIBC_USING_TIME=y
|
CONFIG_RT_LIBC_USING_TIME=y
|
||||||
# CONFIG_RT_USING_MODULE is not set
|
|
||||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||||
# end of POSIX layer and C standard library
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network
|
# Network
|
||||||
@ -171,32 +164,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Socket abstraction layer
|
# Socket abstraction layer
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_SAL is not set
|
# CONFIG_RT_USING_SAL is not set
|
||||||
# end of Socket abstraction layer
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Network interface device
|
# Network interface device
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_NETDEV is not set
|
# CONFIG_RT_USING_NETDEV is not set
|
||||||
# end of Network interface device
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# light weight TCP/IP stack
|
# light weight TCP/IP stack
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_LWIP is not set
|
# CONFIG_RT_USING_LWIP is not set
|
||||||
# end of light weight TCP/IP stack
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AT commands
|
# AT commands
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_AT is not set
|
# CONFIG_RT_USING_AT is not set
|
||||||
# end of AT commands
|
|
||||||
# end of Network
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# VBUS(Virtual Software BUS)
|
# VBUS(Virtual Software BUS)
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
# end of VBUS(Virtual Software BUS)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Utilities
|
# Utilities
|
||||||
@ -206,16 +193,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_RT_USING_UTEST is not set
|
# CONFIG_RT_USING_UTEST is not set
|
||||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# end of Utilities
|
|
||||||
|
|
||||||
# CONFIG_RT_USING_LWP is not set
|
# CONFIG_RT_USING_LWP is not set
|
||||||
# end of RT-Thread Components
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
# CONFIG_RT_USING_UTESTCASES is not set
|
# CONFIG_RT_USING_UTESTCASES is not set
|
||||||
# end of RT-Thread Utestcases
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread online packages
|
# RT-Thread online packages
|
||||||
@ -250,17 +233,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# Marvell WiFi
|
# Marvell WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||||
# end of Marvell WiFi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Wiced WiFi
|
# Wiced WiFi
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||||
# end of Wiced WiFi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_RW007 is not set
|
# CONFIG_PKG_USING_RW007 is not set
|
||||||
# end of Wi-Fi
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_COAP is not set
|
# CONFIG_PKG_USING_COAP is not set
|
||||||
# CONFIG_PKG_USING_NOPOLL is not set
|
# CONFIG_PKG_USING_NOPOLL is not set
|
||||||
# CONFIG_PKG_USING_NETUTILS is not set
|
# CONFIG_PKG_USING_NETUTILS is not set
|
||||||
@ -282,8 +260,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
# CONFIG_PKG_USING_JIOT-C-SDK is not set
|
||||||
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
|
||||||
# CONFIG_PKG_USING_JOYLINK is not set
|
# CONFIG_PKG_USING_JOYLINK is not set
|
||||||
# end of IoT Cloud
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_NIMBLE is not set
|
# CONFIG_PKG_USING_NIMBLE is not set
|
||||||
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
|
||||||
# CONFIG_PKG_USING_IPMSG is not set
|
# CONFIG_PKG_USING_IPMSG is not set
|
||||||
@ -317,7 +293,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
|
||||||
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
|
||||||
# CONFIG_PKG_USING_HM is not set
|
# CONFIG_PKG_USING_HM is not set
|
||||||
# end of IoT - internet of things
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@ -327,7 +302,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||||
# CONFIG_PKG_USING_TFM is not set
|
# CONFIG_PKG_USING_TFM is not set
|
||||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||||
# end of security packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# language packages
|
# language packages
|
||||||
@ -336,22 +310,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||||
# end of language packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# multimedia packages
|
# multimedia packages
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_OPENMV is not set
|
|
||||||
# CONFIG_PKG_USING_MUPDF is not set
|
|
||||||
# CONFIG_PKG_USING_STEMWIN is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# lvgl: powerful and easy-to-use embedded GUI library
|
# LVGL: powerful and easy-to-use embedded GUI library
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
||||||
# CONFIG_PKG_USING_LVGL is not set
|
# CONFIG_PKG_USING_LVGL is not set
|
||||||
# end of lvgl: powerful and easy-to-use embedded GUI library
|
# CONFIG_PKG_USING_OPENMV is not set
|
||||||
|
# CONFIG_PKG_USING_MUPDF is not set
|
||||||
|
# CONFIG_PKG_USING_STEMWIN is not set
|
||||||
# CONFIG_PKG_USING_WAVPLAYER is not set
|
# CONFIG_PKG_USING_WAVPLAYER is not set
|
||||||
# CONFIG_PKG_USING_TJPGD is not set
|
# CONFIG_PKG_USING_TJPGD is not set
|
||||||
# CONFIG_PKG_USING_PDFGEN is not set
|
# CONFIG_PKG_USING_PDFGEN is not set
|
||||||
@ -368,8 +339,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
|
||||||
# CONFIG_PKG_USING_U8G2 is not set
|
# CONFIG_PKG_USING_U8G2 is not set
|
||||||
# end of u8g2: a monochrome graphic library
|
|
||||||
# end of multimedia packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@ -412,7 +381,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||||
# end of tools packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# system packages
|
# system packages
|
||||||
@ -425,7 +393,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
|
||||||
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
# CONFIG_PKG_USING_QFPLIB_M3 is not set
|
||||||
# end of acceleration: Assembly language or algorithmic acceleration packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Micrium: Micrium software products porting for RT-Thread
|
# Micrium: Micrium software products porting for RT-Thread
|
||||||
@ -436,8 +403,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_UC_CLK is not set
|
# CONFIG_PKG_USING_UC_CLK is not set
|
||||||
# CONFIG_PKG_USING_UC_COMMON is not set
|
# CONFIG_PKG_USING_UC_COMMON is not set
|
||||||
# CONFIG_PKG_USING_UC_MODBUS is not set
|
# CONFIG_PKG_USING_UC_MODBUS is not set
|
||||||
# end of Micrium: Micrium software products porting for RT-Thread
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_CAIRO is not set
|
# CONFIG_PKG_USING_CAIRO is not set
|
||||||
# CONFIG_PKG_USING_PIXMAN is not set
|
# CONFIG_PKG_USING_PIXMAN is not set
|
||||||
@ -471,7 +436,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_WCWIDTH is not set
|
# CONFIG_PKG_USING_WCWIDTH is not set
|
||||||
# CONFIG_PKG_USING_MCUBOOT is not set
|
# CONFIG_PKG_USING_MCUBOOT is not set
|
||||||
# CONFIG_PKG_USING_TINYUSB is not set
|
# CONFIG_PKG_USING_TINYUSB is not set
|
||||||
# end of system packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
@ -547,7 +511,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# end of peripheral libraries and drivers
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@ -561,7 +525,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_ULAPACK is not set
|
# CONFIG_PKG_USING_ULAPACK is not set
|
||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
# end of AI packages
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
@ -574,7 +537,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
|
||||||
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
|
||||||
# end of samples: kernel and components samples
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# entertainment: terminal games and other interesting software packages
|
# entertainment: terminal games and other interesting software packages
|
||||||
@ -588,8 +550,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_SNAKE is not set
|
# CONFIG_PKG_USING_SNAKE is not set
|
||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# end of entertainment: terminal games and other interesting software packages
|
|
||||||
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@ -619,7 +579,4 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# end of miscellaneous packages
|
|
||||||
# end of RT-Thread online packages
|
|
||||||
|
|
||||||
CONFIG_SOC_LPC1114=y
|
CONFIG_SOC_LPC1114=y
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#ifndef RT_CONFIG_H__
|
#ifndef RT_CONFIG_H__
|
||||||
#define RT_CONFIG_H__
|
#define RT_CONFIG_H__
|
||||||
|
|
||||||
/* Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib) */
|
/* Automatically generated file; DO NOT EDIT. */
|
||||||
|
/* RT-Thread Configuration */
|
||||||
|
|
||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
||||||
@ -14,7 +15,6 @@
|
|||||||
|
|
||||||
/* kservice optimization */
|
/* kservice optimization */
|
||||||
|
|
||||||
/* end of kservice optimization */
|
|
||||||
|
|
||||||
/* Inter-Thread communication */
|
/* Inter-Thread communication */
|
||||||
|
|
||||||
@ -23,14 +23,12 @@
|
|||||||
#define RT_USING_EVENT
|
#define RT_USING_EVENT
|
||||||
#define RT_USING_MAILBOX
|
#define RT_USING_MAILBOX
|
||||||
#define RT_USING_MESSAGEQUEUE
|
#define RT_USING_MESSAGEQUEUE
|
||||||
/* end of Inter-Thread communication */
|
|
||||||
|
|
||||||
/* Memory Management */
|
/* Memory Management */
|
||||||
|
|
||||||
#define RT_USING_MEMPOOL
|
#define RT_USING_MEMPOOL
|
||||||
#define RT_USING_SMALL_MEM
|
#define RT_USING_SMALL_MEM
|
||||||
#define RT_USING_HEAP
|
#define RT_USING_HEAP
|
||||||
/* end of Memory Management */
|
|
||||||
|
|
||||||
/* Kernel Device Object */
|
/* Kernel Device Object */
|
||||||
|
|
||||||
@ -38,9 +36,7 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 128
|
#define RT_CONSOLEBUF_SIZE 128
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart"
|
#define RT_CONSOLE_DEVICE_NAME "uart"
|
||||||
/* end of Kernel Device Object */
|
|
||||||
#define RT_VER_NUM 0x40004
|
#define RT_VER_NUM 0x40004
|
||||||
/* end of RT-Thread Kernel */
|
|
||||||
#define ARCH_ARM
|
#define ARCH_ARM
|
||||||
#define ARCH_ARM_CORTEX_M
|
#define ARCH_ARM_CORTEX_M
|
||||||
#define ARCH_ARM_CORTEX_M0
|
#define ARCH_ARM_CORTEX_M0
|
||||||
@ -54,7 +50,6 @@
|
|||||||
|
|
||||||
/* C++ features */
|
/* C++ features */
|
||||||
|
|
||||||
/* end of C++ features */
|
|
||||||
|
|
||||||
/* Command shell */
|
/* Command shell */
|
||||||
|
|
||||||
@ -71,11 +66,9 @@
|
|||||||
#define MSH_USING_BUILT_IN_COMMANDS
|
#define MSH_USING_BUILT_IN_COMMANDS
|
||||||
#define FINSH_USING_DESCRIPTION
|
#define FINSH_USING_DESCRIPTION
|
||||||
#define FINSH_ARG_MAX 10
|
#define FINSH_ARG_MAX 10
|
||||||
/* end of Command shell */
|
|
||||||
|
|
||||||
/* Device virtual file system */
|
/* Device virtual file system */
|
||||||
|
|
||||||
/* end of Device virtual file system */
|
|
||||||
|
|
||||||
/* Device Drivers */
|
/* Device Drivers */
|
||||||
|
|
||||||
@ -88,47 +81,34 @@
|
|||||||
|
|
||||||
/* Using USB */
|
/* Using USB */
|
||||||
|
|
||||||
/* end of Using USB */
|
|
||||||
/* end of Device Drivers */
|
|
||||||
|
|
||||||
/* POSIX layer and C standard library */
|
/* POSIX layer and C standard library */
|
||||||
|
|
||||||
#define RT_USING_LIBC
|
|
||||||
#define RT_LIBC_USING_TIME
|
#define RT_LIBC_USING_TIME
|
||||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||||
/* end of POSIX layer and C standard library */
|
|
||||||
|
|
||||||
/* Network */
|
/* Network */
|
||||||
|
|
||||||
/* Socket abstraction layer */
|
/* Socket abstraction layer */
|
||||||
|
|
||||||
/* end of Socket abstraction layer */
|
|
||||||
|
|
||||||
/* Network interface device */
|
/* Network interface device */
|
||||||
|
|
||||||
/* end of Network interface device */
|
|
||||||
|
|
||||||
/* light weight TCP/IP stack */
|
/* light weight TCP/IP stack */
|
||||||
|
|
||||||
/* end of light weight TCP/IP stack */
|
|
||||||
|
|
||||||
/* AT commands */
|
/* AT commands */
|
||||||
|
|
||||||
/* end of AT commands */
|
|
||||||
/* end of Network */
|
|
||||||
|
|
||||||
/* VBUS(Virtual Software BUS) */
|
/* VBUS(Virtual Software BUS) */
|
||||||
|
|
||||||
/* end of VBUS(Virtual Software BUS) */
|
|
||||||
|
|
||||||
/* Utilities */
|
/* Utilities */
|
||||||
|
|
||||||
/* end of Utilities */
|
|
||||||
/* end of RT-Thread Components */
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
/* end of RT-Thread Utestcases */
|
|
||||||
|
|
||||||
/* RT-Thread online packages */
|
/* RT-Thread online packages */
|
||||||
|
|
||||||
@ -139,72 +119,51 @@
|
|||||||
|
|
||||||
/* Marvell WiFi */
|
/* Marvell WiFi */
|
||||||
|
|
||||||
/* end of Marvell WiFi */
|
|
||||||
|
|
||||||
/* Wiced WiFi */
|
/* Wiced WiFi */
|
||||||
|
|
||||||
/* end of Wiced WiFi */
|
|
||||||
/* end of Wi-Fi */
|
|
||||||
|
|
||||||
/* IoT Cloud */
|
/* IoT Cloud */
|
||||||
|
|
||||||
/* end of IoT Cloud */
|
|
||||||
/* end of IoT - internet of things */
|
|
||||||
|
|
||||||
/* security packages */
|
/* security packages */
|
||||||
|
|
||||||
/* end of security packages */
|
|
||||||
|
|
||||||
/* language packages */
|
/* language packages */
|
||||||
|
|
||||||
/* end of language packages */
|
|
||||||
|
|
||||||
/* multimedia packages */
|
/* multimedia packages */
|
||||||
|
|
||||||
|
/* LVGL: powerful and easy-to-use embedded GUI library */
|
||||||
|
|
||||||
/* 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 */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
/* end of u8g2: a monochrome graphic library */
|
|
||||||
/* end of multimedia packages */
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
/* end of tools packages */
|
|
||||||
|
|
||||||
/* system packages */
|
/* system packages */
|
||||||
|
|
||||||
/* acceleration: Assembly language or algorithmic acceleration packages */
|
/* acceleration: Assembly language or algorithmic acceleration packages */
|
||||||
|
|
||||||
/* end of acceleration: Assembly language or algorithmic acceleration packages */
|
|
||||||
|
|
||||||
/* Micrium: Micrium software products porting for RT-Thread */
|
/* 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 */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
/* end of peripheral libraries and drivers */
|
|
||||||
|
|
||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
/* end of AI packages */
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* samples: kernel and components samples */
|
/* samples: kernel and components samples */
|
||||||
|
|
||||||
/* end of samples: kernel and components samples */
|
|
||||||
|
|
||||||
/* entertainment: terminal games and other interesting software packages */
|
/* entertainment: terminal games and other interesting software packages */
|
||||||
|
|
||||||
/* end of entertainment: terminal games and other interesting software packages */
|
|
||||||
/* end of miscellaneous packages */
|
|
||||||
/* end of RT-Thread online packages */
|
|
||||||
#define SOC_LPC1114
|
#define SOC_LPC1114
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -56,5 +56,8 @@ objs.extend(SConscript(os.path.join(libraries_path_prefix, stm32_library, 'SCons
|
|||||||
# include drivers
|
# include drivers
|
||||||
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
|
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
|
||||||
|
|
||||||
|
# include ports
|
||||||
|
objs.extend(SConscript(os.path.join(os.getcwd(), 'board', 'ports', 'SConscript')))
|
||||||
|
|
||||||
# make a building
|
# make a building
|
||||||
DoBuilding(TARGET, objs)
|
DoBuilding(TARGET, objs)
|
||||||
|
@ -8,6 +8,14 @@ config SOC_STM32F469NI
|
|||||||
default y
|
default y
|
||||||
|
|
||||||
menu "Onboard Peripheral Drivers"
|
menu "Onboard Peripheral Drivers"
|
||||||
|
|
||||||
|
config BSP_USING_LVGL
|
||||||
|
bool "Enable LVGL"
|
||||||
|
select BSP_USING_LCD_OTM8009A
|
||||||
|
select BSP_USING_TOUCH
|
||||||
|
select PKG_USING_LVGL
|
||||||
|
default n
|
||||||
|
|
||||||
config BSP_USING_SDRAM
|
config BSP_USING_SDRAM
|
||||||
bool "Enable SDRAM"
|
bool "Enable SDRAM"
|
||||||
select BSP_USING_FMC
|
select BSP_USING_FMC
|
||||||
@ -23,7 +31,7 @@ menu "Onboard Peripheral Drivers"
|
|||||||
select BSP_USING_LTDC
|
select BSP_USING_LTDC
|
||||||
select BSP_USING_LCD_MIPI
|
select BSP_USING_LCD_MIPI
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config BSP_USING_QSPI_FLASH
|
config BSP_USING_QSPI_FLASH
|
||||||
bool "Enable QSPI FLASH (N25Q128A qspi1)"
|
bool "Enable QSPI FLASH (N25Q128A qspi1)"
|
||||||
select BSP_USING_QSPI
|
select BSP_USING_QSPI
|
||||||
|
@ -20,10 +20,7 @@ if GetDepend(['PKG_USING_FAL']):
|
|||||||
|
|
||||||
if GetDepend(['BSP_USING_LCD_OTM8009A']):
|
if GetDepend(['BSP_USING_LCD_OTM8009A']):
|
||||||
src += ['ports/drv_otm8009a.c']
|
src += ['ports/drv_otm8009a.c']
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_TOUCH']):
|
|
||||||
src += Glob('ports/touch/*.c')
|
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_SDCARD']):
|
if GetDepend(['BSP_USING_SDCARD']):
|
||||||
src += ['ports/drv_sdcard.c']
|
src += ['ports/drv_sdcard.c']
|
||||||
|
|
||||||
|
12
bsp/stm32/stm32f469-st-disco/board/ports/SConscript
Normal file
12
bsp/stm32/stm32f469-st-disco/board/ports/SConscript
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
objs = []
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
for item in list:
|
||||||
|
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
|
||||||
|
objs = objs + SConscript(os.path.join(item, 'SConscript'))
|
||||||
|
|
||||||
|
Return('objs')
|
9
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/SConscript
Normal file
9
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/SConscript
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
from building import *
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
|
||||||
|
src = Glob('*.c')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
group = DefineGroup('LVGL-port', src, depend = ['BSP_USING_LVGL'], CPPPATH = CPPPATH)
|
||||||
|
Return('group')
|
17
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_conf.h
Normal file
17
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_conf.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-18 Meco Man First version
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LV_CONF_H
|
||||||
|
#define LV_CONF_H
|
||||||
|
|
||||||
|
#define LV_USE_PERF_MONITOR 1
|
||||||
|
#define LV_COLOR_DEPTH 32
|
||||||
|
|
||||||
|
#endif
|
100
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_demo.c
Normal file
100
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_demo.c
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-17 Meco Man First version
|
||||||
|
*/
|
||||||
|
#include <rtthread.h>
|
||||||
|
#include <lvgl.h>
|
||||||
|
#define DBG_TAG "LVGL"
|
||||||
|
#define DBG_LVL DBG_INFO
|
||||||
|
#include <rtdbg.h>
|
||||||
|
#include <lcd_port.h>
|
||||||
|
#include <lv_port_indev.h>
|
||||||
|
|
||||||
|
#ifndef LV_THREAD_STACK_SIZE
|
||||||
|
#define LV_THREAD_STACK_SIZE 4096
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LV_THREAD_PRIO
|
||||||
|
#define LV_THREAD_PRIO (RT_THREAD_PRIORITY_MAX*2/3)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void event_handler(lv_event_t * e)
|
||||||
|
{
|
||||||
|
lv_event_code_t code = lv_event_get_code(e);
|
||||||
|
lv_obj_t * obj = lv_event_get_target(e);
|
||||||
|
|
||||||
|
if(code == LV_EVENT_VALUE_CHANGED) {
|
||||||
|
lv_calendar_date_t date;
|
||||||
|
if(lv_calendar_get_pressed_date(obj, &date)) {
|
||||||
|
LV_LOG_USER("Clicked date: %02d.%02d.%d", date.day, date.month, date.year);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void lv_example_calendar_1(void)
|
||||||
|
{
|
||||||
|
lv_obj_t * calendar = lv_calendar_create(lv_scr_act());
|
||||||
|
lv_obj_set_size(calendar, LCD_WIDTH, LCD_HEIGHT);
|
||||||
|
lv_obj_align(calendar, LV_ALIGN_CENTER, 0, 60);
|
||||||
|
lv_obj_add_event_cb(calendar, event_handler, LV_EVENT_ALL, NULL);
|
||||||
|
|
||||||
|
lv_calendar_set_today_date(calendar, 2021, 02, 23);
|
||||||
|
lv_calendar_set_showed_date(calendar, 2021, 02);
|
||||||
|
|
||||||
|
/*Highlight a few days*/
|
||||||
|
static lv_calendar_date_t highlighted_days[3]; /*Only its pointer will be saved so should be static*/
|
||||||
|
highlighted_days[0].year = 2021;
|
||||||
|
highlighted_days[0].month = 02;
|
||||||
|
highlighted_days[0].day = 6;
|
||||||
|
|
||||||
|
highlighted_days[1].year = 2021;
|
||||||
|
highlighted_days[1].month = 02;
|
||||||
|
highlighted_days[1].day = 11;
|
||||||
|
|
||||||
|
highlighted_days[2].year = 2022;
|
||||||
|
highlighted_days[2].month = 02;
|
||||||
|
highlighted_days[2].day = 22;
|
||||||
|
|
||||||
|
lv_calendar_set_highlighted_dates(calendar, highlighted_days, 3);
|
||||||
|
|
||||||
|
#if LV_USE_CALENDAR_HEADER_DROPDOWN
|
||||||
|
lv_calendar_header_dropdown_create(lv_scr_act());
|
||||||
|
#elif LV_USE_CALENDAR_HEADER_ARROW
|
||||||
|
lv_calendar_header_arrow_create(lv_scr_act(), calendar, 25);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void lvgl_thread(void *parameter)
|
||||||
|
{
|
||||||
|
/*assign buttons to coordinates*/
|
||||||
|
const lv_point_t points_array[] = {{200,35},{0,0},{70,35},{0,0}};
|
||||||
|
lv_indev_set_button_points(button_indev, points_array);
|
||||||
|
|
||||||
|
lv_example_calendar_1();
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
lv_task_handler();
|
||||||
|
rt_thread_mdelay(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static int lvgl_demo_init(void)
|
||||||
|
{
|
||||||
|
rt_thread_t tid;
|
||||||
|
|
||||||
|
tid = rt_thread_create("LVGL", lvgl_thread, RT_NULL, LV_THREAD_STACK_SIZE, LV_THREAD_PRIO, 0);
|
||||||
|
if(tid == RT_NULL)
|
||||||
|
{
|
||||||
|
LOG_E("Fail to create 'LVGL' thread");
|
||||||
|
}
|
||||||
|
rt_thread_startup(tid);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
INIT_APP_EXPORT(lvgl_demo_init);
|
214
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_port_disp.c
Normal file
214
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_port_disp.c
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-18 Meco Man The first version
|
||||||
|
*/
|
||||||
|
#include <lvgl.h>
|
||||||
|
#include <lcd_port.h>
|
||||||
|
|
||||||
|
/*A static or global variable to store the buffers*/
|
||||||
|
static lv_disp_draw_buf_t disp_buf;
|
||||||
|
|
||||||
|
rt_device_t lcd_device = 0;
|
||||||
|
static struct rt_device_graphic_info info;
|
||||||
|
|
||||||
|
static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
uint8_t blue;
|
||||||
|
uint8_t green;
|
||||||
|
uint8_t red;
|
||||||
|
} lv_color24_t;
|
||||||
|
|
||||||
|
static void color_to16_maybe(lv_color16_t *dst, lv_color_t *src)
|
||||||
|
{
|
||||||
|
#if (LV_COLOR_DEPTH == 16)
|
||||||
|
dst->full = src->full;
|
||||||
|
#else
|
||||||
|
dst->ch.blue = src->ch.blue;
|
||||||
|
dst->ch.green = src->ch.green;
|
||||||
|
dst->ch.red = src->ch.red;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void color_to24(lv_color24_t *dst, lv_color_t *src)
|
||||||
|
{
|
||||||
|
dst->blue = src->ch.blue;
|
||||||
|
dst->green = src->ch.green;
|
||||||
|
dst->red = src->ch.red;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Flush the content of the internal buffer the specific area on the display
|
||||||
|
*You can use DMA or any hardware acceleration to do this operation in the background but
|
||||||
|
*'lv_disp_flush_ready()' has to be called when finished.*/
|
||||||
|
static void lcd_fb_flush(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p)
|
||||||
|
{
|
||||||
|
int x1, x2, y1, y2;
|
||||||
|
|
||||||
|
x1 = area->x1;
|
||||||
|
x2 = area->x2;
|
||||||
|
y1 = area->y1;
|
||||||
|
y2 = area->y2;
|
||||||
|
|
||||||
|
/*Return if the area is out the screen*/
|
||||||
|
if (x2 < 0)
|
||||||
|
return;
|
||||||
|
if (y2 < 0)
|
||||||
|
return;
|
||||||
|
if (x1 > info.width - 1)
|
||||||
|
return;
|
||||||
|
if (y1 > info.height - 1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/*Truncate the area to the screen*/
|
||||||
|
int32_t act_x1 = x1 < 0 ? 0 : x1;
|
||||||
|
int32_t act_y1 = y1 < 0 ? 0 : y1;
|
||||||
|
int32_t act_x2 = x2 > info.width - 1 ? info.width - 1 : x2;
|
||||||
|
int32_t act_y2 = y2 > info.height - 1 ? info.height - 1 : y2;
|
||||||
|
|
||||||
|
uint32_t x;
|
||||||
|
uint32_t y;
|
||||||
|
long int location = 0;
|
||||||
|
|
||||||
|
/* 8 bit per pixel */
|
||||||
|
if (info.bits_per_pixel == 8)
|
||||||
|
{
|
||||||
|
uint8_t *fbp8 = (uint8_t *)info.framebuffer;
|
||||||
|
//TODO color convert maybe
|
||||||
|
for (y = act_y1; y <= act_y2; y++)
|
||||||
|
{
|
||||||
|
for (x = act_x1; x <= act_x2; x++)
|
||||||
|
{
|
||||||
|
location = (x) + (y)*info.width;
|
||||||
|
fbp8[location] = color_p->full;
|
||||||
|
color_p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_p += x2 - act_x2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 16 bit per pixel */
|
||||||
|
else if (info.bits_per_pixel == 16)
|
||||||
|
{
|
||||||
|
lv_color16_t *fbp16 = (lv_color16_t *)info.framebuffer;
|
||||||
|
|
||||||
|
for (y = act_y1; y <= act_y2; y++)
|
||||||
|
{
|
||||||
|
for (x = act_x1; x <= act_x2; x++)
|
||||||
|
{
|
||||||
|
location = (x) + (y)*info.width;
|
||||||
|
color_to16_maybe(&fbp16[location], color_p);
|
||||||
|
color_p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_p += x2 - act_x2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 24 bit per pixel */
|
||||||
|
else if (info.bits_per_pixel == 24)
|
||||||
|
{
|
||||||
|
lv_color24_t *fbp24 = (lv_color24_t *)info.framebuffer;
|
||||||
|
|
||||||
|
for (y = act_y1; y <= act_y2; y++)
|
||||||
|
{
|
||||||
|
for (x = act_x1; x <= act_x2; x++)
|
||||||
|
{
|
||||||
|
location = (x) + (y)*info.width;
|
||||||
|
color_to24(&fbp24[location], color_p);
|
||||||
|
color_p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_p += x2 - act_x2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 32 bit per pixel */
|
||||||
|
else if (info.bits_per_pixel == 32)
|
||||||
|
{
|
||||||
|
uint32_t *fbp32 = (uint32_t *)info.framebuffer;
|
||||||
|
//TODO
|
||||||
|
for (y = act_y1; y <= act_y2; y++)
|
||||||
|
{
|
||||||
|
for (x = act_x1; x <= act_x2; x++)
|
||||||
|
{
|
||||||
|
location = (x) + (y)*info.width;
|
||||||
|
fbp32[location] = color_p->full;
|
||||||
|
color_p++;
|
||||||
|
}
|
||||||
|
|
||||||
|
color_p += x2 - act_x2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct rt_device_rect_info rect_info;
|
||||||
|
|
||||||
|
rect_info.x = x1;
|
||||||
|
rect_info.y = y1;
|
||||||
|
rect_info.width = x2 - x1 + 1;
|
||||||
|
rect_info.height = y2 - y1 + 1;
|
||||||
|
rt_device_control(lcd_device, RTGRAPHIC_CTRL_RECT_UPDATE, &rect_info);
|
||||||
|
|
||||||
|
lv_disp_flush_ready(disp_drv);
|
||||||
|
}
|
||||||
|
|
||||||
|
void lv_port_disp_init(void)
|
||||||
|
{
|
||||||
|
rt_err_t result;
|
||||||
|
lv_color_t *fbuf;
|
||||||
|
|
||||||
|
lcd_device = rt_device_find("lcd");
|
||||||
|
if (lcd_device == 0)
|
||||||
|
{
|
||||||
|
rt_kprintf("error!\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
result = rt_device_open(lcd_device, 0);
|
||||||
|
if (result != RT_EOK)
|
||||||
|
{
|
||||||
|
rt_kprintf("error!\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
/* get framebuffer address */
|
||||||
|
result = rt_device_control(lcd_device, RTGRAPHIC_CTRL_GET_INFO, &info);
|
||||||
|
if (result != RT_EOK)
|
||||||
|
{
|
||||||
|
rt_kprintf("error!\n");
|
||||||
|
/* get device information failed */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RT_ASSERT(info.bits_per_pixel == 8 || info.bits_per_pixel == 16 ||
|
||||||
|
info.bits_per_pixel == 24 || info.bits_per_pixel == 32);
|
||||||
|
|
||||||
|
fbuf = rt_malloc(info.width * info.height / 10);
|
||||||
|
if (!fbuf)
|
||||||
|
{
|
||||||
|
rt_kprintf("Error: alloc disp buf fail\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Initialize `disp_buf` with the buffer(s). With only one buffer use NULL instead buf_2 */
|
||||||
|
lv_disp_draw_buf_init(&disp_buf, fbuf, RT_NULL, info.width * 10);
|
||||||
|
|
||||||
|
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
|
||||||
|
|
||||||
|
/*Set the resolution of the display*/
|
||||||
|
disp_drv.hor_res = info.width;
|
||||||
|
disp_drv.ver_res = info.height;
|
||||||
|
|
||||||
|
/*Set a display buffer*/
|
||||||
|
disp_drv.draw_buf = &disp_buf;
|
||||||
|
|
||||||
|
/*Used to copy the buffer's content to the display*/
|
||||||
|
disp_drv.flush_cb = lcd_fb_flush;
|
||||||
|
|
||||||
|
/*Finally register the driver*/
|
||||||
|
lv_disp_drv_register(&disp_drv);
|
||||||
|
}
|
23
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_port_disp.h
Normal file
23
bsp/stm32/stm32f469-st-disco/board/ports/lvgl/lv_port_disp.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-18 Meco Man The first version
|
||||||
|
*/
|
||||||
|
#ifndef LV_PORT_DISP_H
|
||||||
|
#define LV_PORT_DISP_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void lv_port_disp_init(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /*extern "C"*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-18 Meco Man The first version
|
||||||
|
*/
|
||||||
|
#include <lvgl.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <rtdevice.h>
|
||||||
|
|
||||||
|
#include <lcd_port.h>
|
||||||
|
|
||||||
|
static lv_indev_state_t last_state = LV_INDEV_STATE_REL;
|
||||||
|
static rt_int16_t last_x = 0;
|
||||||
|
static rt_int16_t last_y = 0;
|
||||||
|
|
||||||
|
static void input_read(lv_indev_drv_t *indev_drv, lv_indev_data_t *data)
|
||||||
|
{
|
||||||
|
data->point.x = last_x;
|
||||||
|
data->point.y = last_y;
|
||||||
|
data->state = last_state;
|
||||||
|
}
|
||||||
|
|
||||||
|
void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state)
|
||||||
|
{
|
||||||
|
last_state = state;
|
||||||
|
last_x = x;
|
||||||
|
last_y = LCD_HEIGHT - y;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_indev_t * button_indev;
|
||||||
|
|
||||||
|
void lv_port_indev_init(void)
|
||||||
|
{
|
||||||
|
static lv_indev_drv_t indev_drv;
|
||||||
|
|
||||||
|
lv_indev_drv_init(&indev_drv); /*Basic initialization*/
|
||||||
|
indev_drv.type = LV_INDEV_TYPE_POINTER;
|
||||||
|
indev_drv.read_cb = input_read;
|
||||||
|
|
||||||
|
/*Register the driver in LVGL and save the created input device object*/
|
||||||
|
button_indev = lv_indev_drv_register(&indev_drv);
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-10-18 Meco Man The first version
|
||||||
|
*/
|
||||||
|
#ifndef LV_PORT_INDEV_H
|
||||||
|
#define LV_PORT_INDEV_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <lv_hal_indev.h>
|
||||||
|
|
||||||
|
extern lv_indev_t * button_indev;
|
||||||
|
|
||||||
|
void lv_port_indev_init(void);
|
||||||
|
void lv_port_indev_input(rt_int16_t x, rt_int16_t y, lv_indev_state_t state);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /*extern "C"*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -16,6 +16,10 @@
|
|||||||
#include <rtgui/rtgui_server.h>
|
#include <rtgui/rtgui_server.h>
|
||||||
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
||||||
#include <littlevgl2rtt.h>
|
#include <littlevgl2rtt.h>
|
||||||
|
#elif defined(PKG_USING_LVGL)
|
||||||
|
#include <lvgl.h>
|
||||||
|
#include <lv_port_indev.h>
|
||||||
|
static rt_bool_t touch_down = RT_FALSE;
|
||||||
#endif
|
#endif
|
||||||
#define BSP_TOUCH_SAMPLE_HZ (50)
|
#define BSP_TOUCH_SAMPLE_HZ (50)
|
||||||
|
|
||||||
@ -50,6 +54,9 @@ static void post_down_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts)
|
|||||||
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
||||||
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
||||||
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_DOWN);
|
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_DOWN);
|
||||||
|
#elif defined(PKG_USING_LVGL)
|
||||||
|
touch_down = RT_TRUE;
|
||||||
|
lv_port_indev_input(x, y, (touch_down == RT_TRUE) ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +77,8 @@ static void post_motion_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts)
|
|||||||
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
||||||
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
||||||
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE);
|
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE);
|
||||||
|
#elif defined(PKG_USING_LVGL)
|
||||||
|
lv_port_indev_input(x, y, (touch_down == RT_TRUE) ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,6 +99,9 @@ static void post_up_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts)
|
|||||||
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
rtgui_server_post_event(&emouse.parent, sizeof(emouse));
|
||||||
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
#elif defined(PKG_USING_LITTLEVGL2RTT)
|
||||||
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE);
|
littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE);
|
||||||
|
#elif defined(PKG_USING_LVGL)
|
||||||
|
touch_down = RT_FALSE;
|
||||||
|
lv_port_indev_input(x, y, (touch_down == RT_TRUE) ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
#include <rthw.h>
|
#include <rthw.h>
|
||||||
#include <rtdevice.h>
|
#include <rtdevice.h>
|
||||||
#include "drv_touch.h"
|
#include "drv_touch.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#ifdef BSP_USING_TOUCH
|
#ifdef BSP_USING_TOUCH
|
||||||
|
10
components/dfs/filesystems/elmfat/.ignore_format.yml
Normal file
10
components/dfs/filesystems/elmfat/.ignore_format.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# files format check exclude path, please follow the instructions below to modify;
|
||||||
|
# If you need to exclude an entire folder, add the folder path in dir_path;
|
||||||
|
# If you need to exclude a file, add the path to the file in file_path.
|
||||||
|
|
||||||
|
file_path:
|
||||||
|
- diskio.h
|
||||||
|
- ff.c
|
||||||
|
- ff.h
|
||||||
|
- ffconf.h
|
||||||
|
- ffunicode.c
|
@ -338,3 +338,22 @@ R0.14 (October 14, 2019)
|
|||||||
Fixed f_readdir() function returns file names with wrong case conversion. (appeared at R0.12)
|
Fixed f_readdir() function returns file names with wrong case conversion. (appeared at R0.12)
|
||||||
Fixed f_mkfs() function can fail to create exFAT volume in the second partition. (appeared at R0.12)
|
Fixed f_mkfs() function can fail to create exFAT volume in the second partition. (appeared at R0.12)
|
||||||
|
|
||||||
|
|
||||||
|
R0.14a (December 5, 2020)
|
||||||
|
Limited number of recursive calls in f_findnext().
|
||||||
|
Fixed old floppy disks formatted with MS-DOS 2.x and 3.x cannot be mounted.
|
||||||
|
Fixed some compiler warnings.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
R0.14b (April 17, 2021)
|
||||||
|
Made FatFs uses standard library <string.h> for copy, compare and search instead of built-in string functions.
|
||||||
|
Added support for long long integer and floating point to f_printf(). (FF_STRF_LLI and FF_STRF_FP)
|
||||||
|
Made path name parser ignore the terminating separator to allow "dir/".
|
||||||
|
Improved the compatibility in Unix style path name feature.
|
||||||
|
Fixed the file gets dead-locked when f_open() failed with some conditions. (appeared at R0.12a)
|
||||||
|
Fixed f_mkfs() can create wrong exFAT volume due to a timing dependent error. (appeared at R0.12)
|
||||||
|
Fixed code page 855 cannot be set by f_setcp().
|
||||||
|
Fixed some compiler warnings.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FatFs Module Source Files R0.14
|
FatFs Module Source Files R0.14b
|
||||||
|
|
||||||
|
|
||||||
FILES
|
FILES
|
||||||
|
@ -10,15 +10,15 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Status of Disk Functions */
|
/* Status of Disk Functions */
|
||||||
typedef BYTE DSTATUS;
|
typedef BYTE DSTATUS;
|
||||||
|
|
||||||
/* Results of Disk Functions */
|
/* Results of Disk Functions */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RES_OK = 0, /* 0: Successful */
|
RES_OK = 0, /* 0: Successful */
|
||||||
RES_ERROR, /* 1: R/W Error */
|
RES_ERROR, /* 1: R/W Error */
|
||||||
RES_WRPRT, /* 2: Write Protected */
|
RES_WRPRT, /* 2: Write Protected */
|
||||||
RES_NOTRDY, /* 3: Not Ready */
|
RES_NOTRDY, /* 3: Not Ready */
|
||||||
RES_PARERR /* 4: Invalid Parameter */
|
RES_PARERR /* 4: Invalid Parameter */
|
||||||
} DRESULT;
|
} DRESULT;
|
||||||
|
|
||||||
|
|
||||||
@ -35,40 +35,40 @@ DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
|
|||||||
|
|
||||||
/* Disk Status Bits (DSTATUS) */
|
/* Disk Status Bits (DSTATUS) */
|
||||||
|
|
||||||
#define STA_NOINIT 0x01 /* Drive not initialized */
|
#define STA_NOINIT 0x01 /* Drive not initialized */
|
||||||
#define STA_NODISK 0x02 /* No medium in the drive */
|
#define STA_NODISK 0x02 /* No medium in the drive */
|
||||||
#define STA_PROTECT 0x04 /* Write protected */
|
#define STA_PROTECT 0x04 /* Write protected */
|
||||||
|
|
||||||
|
|
||||||
/* Command code for disk_ioctrl fucntion */
|
/* Command code for disk_ioctrl fucntion */
|
||||||
|
|
||||||
/* Generic command (Used by FatFs) */
|
/* Generic command (Used by FatFs) */
|
||||||
#define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */
|
#define CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */
|
||||||
#define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */
|
#define GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */
|
||||||
#define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */
|
#define GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */
|
||||||
#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */
|
#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */
|
||||||
#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */
|
#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */
|
||||||
|
|
||||||
/* Generic command (Not used by FatFs) */
|
/* Generic command (Not used by FatFs) */
|
||||||
#define CTRL_POWER 5 /* Get/Set power status */
|
#define CTRL_POWER 5 /* Get/Set power status */
|
||||||
#define CTRL_LOCK 6 /* Lock/Unlock media removal */
|
#define CTRL_LOCK 6 /* Lock/Unlock media removal */
|
||||||
#define CTRL_EJECT 7 /* Eject media */
|
#define CTRL_EJECT 7 /* Eject media */
|
||||||
#define CTRL_FORMAT 8 /* Create physical format on the media */
|
#define CTRL_FORMAT 8 /* Create physical format on the media */
|
||||||
|
|
||||||
/* MMC/SDC specific ioctl command */
|
/* MMC/SDC specific ioctl command */
|
||||||
#define MMC_GET_TYPE 10 /* Get card type */
|
#define MMC_GET_TYPE 10 /* Get card type */
|
||||||
#define MMC_GET_CSD 11 /* Get CSD */
|
#define MMC_GET_CSD 11 /* Get CSD */
|
||||||
#define MMC_GET_CID 12 /* Get CID */
|
#define MMC_GET_CID 12 /* Get CID */
|
||||||
#define MMC_GET_OCR 13 /* Get OCR */
|
#define MMC_GET_OCR 13 /* Get OCR */
|
||||||
#define MMC_GET_SDSTAT 14 /* Get SD status */
|
#define MMC_GET_SDSTAT 14 /* Get SD status */
|
||||||
#define ISDIO_READ 55 /* Read data form SD iSDIO register */
|
#define ISDIO_READ 55 /* Read data form SD iSDIO register */
|
||||||
#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */
|
#define ISDIO_WRITE 56 /* Write data to SD iSDIO register */
|
||||||
#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */
|
#define ISDIO_MRITE 57 /* Masked write data to SD iSDIO register */
|
||||||
|
|
||||||
/* ATA/CF specific ioctl command */
|
/* ATA/CF specific ioctl command */
|
||||||
#define ATA_GET_REV 20 /* Get F/W revision */
|
#define ATA_GET_REV 20 /* Get F/W revision */
|
||||||
#define ATA_GET_MODEL 21 /* Get model name */
|
#define ATA_GET_MODEL 21 /* Get model name */
|
||||||
#define ATA_GET_SN 22 /* Get serial number */
|
#define ATA_GET_SN 22 /* Get serial number */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
|||||||
/*----------------------------------------------------------------------------/
|
/*----------------------------------------------------------------------------/
|
||||||
/ FatFs - Generic FAT Filesystem module R0.14 /
|
/ FatFs - Generic FAT Filesystem module R0.14b /
|
||||||
/-----------------------------------------------------------------------------/
|
/-----------------------------------------------------------------------------/
|
||||||
/
|
/
|
||||||
/ Copyright (C) 2019, ChaN, all right reserved.
|
/ Copyright (C) 2021, ChaN, all right reserved.
|
||||||
/
|
/
|
||||||
/ FatFs module is an open source software. Redistribution and use of FatFs in
|
/ FatFs module is an open source software. Redistribution and use of FatFs in
|
||||||
/ source and binary forms, with or without modification, are permitted provided
|
/ source and binary forms, with or without modification, are permitted provided
|
||||||
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#ifndef FF_DEFINED
|
#ifndef FF_DEFINED
|
||||||
#define FF_DEFINED 86606 /* Revision ID */
|
#define FF_DEFINED 86631 /* Revision ID */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -36,10 +36,14 @@ extern "C" {
|
|||||||
|
|
||||||
/* Integer types used for FatFs API */
|
/* Integer types used for FatFs API */
|
||||||
|
|
||||||
#if defined(_WIN32) /* Main development platform */
|
#if defined(_WIN32) /* Windows VC++ (for development only) */
|
||||||
#define FF_INTDEF 2
|
#define FF_INTDEF 2
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
typedef unsigned __int64 QWORD;
|
typedef unsigned __int64 QWORD;
|
||||||
|
#include <float.h>
|
||||||
|
#define isnan(v) _isnan(v)
|
||||||
|
#define isinf(v) (!_finite(v))
|
||||||
|
|
||||||
#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) /* C99 or later */
|
#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) /* C99 or later */
|
||||||
#define FF_INTDEF 2
|
#define FF_INTDEF 2
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@ -49,6 +53,7 @@ typedef uint16_t WORD; /* 16-bit unsigned integer */
|
|||||||
typedef uint32_t DWORD; /* 32-bit unsigned integer */
|
typedef uint32_t DWORD; /* 32-bit unsigned integer */
|
||||||
typedef uint64_t QWORD; /* 64-bit unsigned integer */
|
typedef uint64_t QWORD; /* 64-bit unsigned integer */
|
||||||
typedef WORD WCHAR; /* UTF-16 character type */
|
typedef WORD WCHAR; /* UTF-16 character type */
|
||||||
|
|
||||||
#else /* Earlier than C99 */
|
#else /* Earlier than C99 */
|
||||||
#define FF_INTDEF 1
|
#define FF_INTDEF 1
|
||||||
typedef unsigned int UINT; /* int must be 16-bit or 32-bit */
|
typedef unsigned int UINT; /* int must be 16-bit or 32-bit */
|
||||||
@ -59,28 +64,29 @@ typedef WORD WCHAR; /* UTF-16 character type */
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Definitions of volume management */
|
/* Type of file size and LBA variables */
|
||||||
|
|
||||||
#if FF_MULTI_PARTITION /* Multiple partition configuration */
|
#if FF_FS_EXFAT
|
||||||
typedef struct {
|
#if FF_INTDEF != 2
|
||||||
BYTE pd; /* Physical drive number */
|
#error exFAT feature wants C99 or later
|
||||||
BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */
|
|
||||||
} PARTITION;
|
|
||||||
extern PARTITION VolToPart[]; /* Volume - Partition mapping table */
|
|
||||||
#endif
|
#endif
|
||||||
|
typedef QWORD FSIZE_t;
|
||||||
#if FF_STR_VOLUME_ID
|
#if FF_LBA64
|
||||||
#ifndef FF_VOLUME_STRS
|
typedef QWORD LBA_t;
|
||||||
extern const char* VolumeStr[FF_VOLUMES]; /* User defied volume ID */
|
#else
|
||||||
|
typedef DWORD LBA_t;
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
#if FF_LBA64
|
||||||
|
#error exFAT needs to be enabled when enable 64-bit LBA
|
||||||
|
#endif
|
||||||
|
typedef DWORD FSIZE_t;
|
||||||
|
typedef DWORD LBA_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Type of path name strings on FatFs API */
|
/* Type of path name strings on FatFs API (TCHAR) */
|
||||||
|
|
||||||
#ifndef _INC_TCHAR
|
|
||||||
#define _INC_TCHAR
|
|
||||||
|
|
||||||
#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */
|
#if FF_USE_LFN && FF_LFN_UNICODE == 1 /* Unicode in UTF-16 encoding */
|
||||||
typedef WCHAR TCHAR;
|
typedef WCHAR TCHAR;
|
||||||
@ -102,28 +108,22 @@ typedef char TCHAR;
|
|||||||
#define _TEXT(x) x
|
#define _TEXT(x) x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Definitions of volume management */
|
||||||
|
|
||||||
/* Type of file size and LBA variables */
|
#if FF_MULTI_PARTITION /* Multiple partition configuration */
|
||||||
|
typedef struct {
|
||||||
|
BYTE pd; /* Physical drive number */
|
||||||
|
BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */
|
||||||
|
} PARTITION;
|
||||||
|
extern PARTITION VolToPart[]; /* Volume - Partition mapping table */
|
||||||
|
#endif
|
||||||
|
|
||||||
#if FF_FS_EXFAT
|
#if FF_STR_VOLUME_ID
|
||||||
#if FF_INTDEF != 2
|
#ifndef FF_VOLUME_STRS
|
||||||
#error exFAT feature wants C99 or later
|
extern const char* VolumeStr[FF_VOLUMES]; /* User defied volume ID */
|
||||||
#endif
|
#endif
|
||||||
typedef QWORD FSIZE_t;
|
|
||||||
#if FF_LBA64
|
|
||||||
typedef QWORD LBA_t;
|
|
||||||
#else
|
|
||||||
typedef DWORD LBA_t;
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#if FF_LBA64
|
|
||||||
#error exFAT needs to be enabled when enable 64-bit LBA
|
|
||||||
#endif
|
|
||||||
typedef DWORD FSIZE_t;
|
|
||||||
typedef DWORD LBA_t;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -347,10 +347,6 @@ TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the fil
|
|||||||
#define f_rmdir(path) f_unlink(path)
|
#define f_rmdir(path) f_unlink(path)
|
||||||
#define f_unmount(path) f_mount(0, path, 0)
|
#define f_unmount(path) f_mount(0, path, 0)
|
||||||
|
|
||||||
#ifndef EOF
|
|
||||||
#define EOF (-1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
/ FatFs Functional Configurations
|
/ FatFs Functional Configurations
|
||||||
/---------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#define FFCONF_DEF 86606 /* Revision ID */
|
#define FFCONF_DEF 86631 /* Revision ID */
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Function Configurations
|
/ Function Configurations
|
||||||
@ -25,14 +25,6 @@
|
|||||||
/ 3: f_lseek() function is removed in addition to 2. */
|
/ 3: f_lseek() function is removed in addition to 2. */
|
||||||
|
|
||||||
|
|
||||||
#define FF_USE_STRFUNC 0
|
|
||||||
/* This option switches string functions, f_gets(), f_putc(), f_puts() and f_printf().
|
|
||||||
/
|
|
||||||
/ 0: Disable string functions.
|
|
||||||
/ 1: Enable without LF-CRLF conversion.
|
|
||||||
/ 2: Enable with LF-CRLF conversion. */
|
|
||||||
|
|
||||||
|
|
||||||
#define FF_USE_FIND 0
|
#define FF_USE_FIND 0
|
||||||
/* This option switches filtered directory read functions, f_findfirst() and
|
/* This option switches filtered directory read functions, f_findfirst() and
|
||||||
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
/ f_findnext(). (0:Disable, 1:Enable 2:Enable with matching altname[] too) */
|
||||||
@ -64,6 +56,30 @@
|
|||||||
/* This option switches f_forward() function. (0:Disable or 1:Enable) */
|
/* This option switches f_forward() function. (0:Disable or 1:Enable) */
|
||||||
|
|
||||||
|
|
||||||
|
#define FF_USE_STRFUNC 0
|
||||||
|
#define FF_PRINT_LLI 0
|
||||||
|
#define FF_PRINT_FLOAT 0
|
||||||
|
#define FF_STRF_ENCODE 3
|
||||||
|
/* FF_USE_STRFUNC switches string functions, f_gets(), f_putc(), f_puts() and
|
||||||
|
/ f_printf().
|
||||||
|
/
|
||||||
|
/ 0: Disable. FF_PRINT_LLI, FF_PRINT_FLOAT and FF_STRF_ENCODE have no effect.
|
||||||
|
/ 1: Enable without LF-CRLF conversion.
|
||||||
|
/ 2: Enable with LF-CRLF conversion.
|
||||||
|
/
|
||||||
|
/ FF_PRINT_LLI = 1 makes f_printf() support long long argument and FF_PRINT_FLOAT = 1/2
|
||||||
|
makes f_printf() support floating point argument. These features want C99 or later.
|
||||||
|
/ When FF_LFN_UNICODE >= 1 with LFN enabled, string functions convert the character
|
||||||
|
/ encoding in it. FF_STRF_ENCODE selects assumption of character encoding ON THE FILE
|
||||||
|
/ to be read/written via those functions.
|
||||||
|
/
|
||||||
|
/ 0: ANSI/OEM in current CP
|
||||||
|
/ 1: Unicode in UTF-16LE
|
||||||
|
/ 2: Unicode in UTF-16BE
|
||||||
|
/ 3: Unicode in UTF-8
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------/
|
/*---------------------------------------------------------------------------/
|
||||||
/ Locale and Namespace Configurations
|
/ Locale and Namespace Configurations
|
||||||
/---------------------------------------------------------------------------*/
|
/---------------------------------------------------------------------------*/
|
||||||
@ -105,8 +121,8 @@
|
|||||||
#define FF_USE_LFN RT_DFS_ELM_USE_LFN
|
#define FF_USE_LFN RT_DFS_ELM_USE_LFN
|
||||||
#define FF_MAX_LFN RT_DFS_ELM_MAX_LFN
|
#define FF_MAX_LFN RT_DFS_ELM_MAX_LFN
|
||||||
#else
|
#else
|
||||||
#define FF_USE_LFN 0 /* 0 to 3 */
|
#define FF_USE_LFN 0 /* 0 to 3 */
|
||||||
#define FF_MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
#define FF_MAX_LFN 255 /* Maximum LFN length to handle (12 to 255) */
|
||||||
#endif
|
#endif
|
||||||
/* The FF_USE_LFN switches the support for LFN (long file name).
|
/* The FF_USE_LFN switches the support for LFN (long file name).
|
||||||
/
|
/
|
||||||
@ -140,6 +156,16 @@
|
|||||||
#else
|
#else
|
||||||
#define FF_LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
#define FF_LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */
|
||||||
#endif
|
#endif
|
||||||
|
/* This option switches the character encoding on the API when LFN is enabled.
|
||||||
|
/
|
||||||
|
/ 0: ANSI/OEM in current CP (TCHAR = char)
|
||||||
|
/ 1: Unicode in UTF-16 (TCHAR = WCHAR)
|
||||||
|
/ 2: Unicode in UTF-8 (TCHAR = char)
|
||||||
|
/ 3: Unicode in UTF-32 (TCHAR = DWORD)
|
||||||
|
/
|
||||||
|
/ Also behavior of string I/O functions will be affected by this option.
|
||||||
|
/ When LFN is not enabled, this option has no effect. */
|
||||||
|
|
||||||
|
|
||||||
#define FF_LFN_BUF 255
|
#define FF_LFN_BUF 255
|
||||||
#define FF_SFN_BUF 12
|
#define FF_SFN_BUF 12
|
||||||
@ -149,19 +175,6 @@
|
|||||||
/ on character encoding. When LFN is not enabled, these options have no effect. */
|
/ on character encoding. When LFN is not enabled, these options have no effect. */
|
||||||
|
|
||||||
|
|
||||||
#define FF_STRF_ENCODE 3
|
|
||||||
/* When FF_LFN_UNICODE >= 1 with LFN enabled, string I/O functions, f_gets(),
|
|
||||||
/ f_putc(), f_puts and f_printf() convert the character encoding in it.
|
|
||||||
/ This option selects assumption of character encoding ON THE FILE to be
|
|
||||||
/ read/written via those functions.
|
|
||||||
/
|
|
||||||
/ 0: ANSI/OEM in current CP
|
|
||||||
/ 1: Unicode in UTF-16LE
|
|
||||||
/ 2: Unicode in UTF-16BE
|
|
||||||
/ 3: Unicode in UTF-8
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#define FF_FS_RPATH 0
|
#define FF_FS_RPATH 0
|
||||||
/* This option configures support for relative path.
|
/* This option configures support for relative path.
|
||||||
/
|
/
|
||||||
@ -206,7 +219,7 @@
|
|||||||
/ funciton will be available. */
|
/ funciton will be available. */
|
||||||
|
|
||||||
|
|
||||||
#define FF_MIN_SS 512
|
#define FF_MIN_SS 512
|
||||||
#ifdef RT_DFS_ELM_MAX_SECTOR_SIZE
|
#ifdef RT_DFS_ELM_MAX_SECTOR_SIZE
|
||||||
#define FF_MAX_SS RT_DFS_ELM_MAX_SECTOR_SIZE
|
#define FF_MAX_SS RT_DFS_ELM_MAX_SECTOR_SIZE
|
||||||
#else
|
#else
|
||||||
@ -214,7 +227,7 @@
|
|||||||
#endif
|
#endif
|
||||||
/* This set of options configures the range of sector size to be supported. (512,
|
/* This set of options configures the range of sector size to be supported. (512,
|
||||||
/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and
|
/ 1024, 2048 or 4096) Always set both 512 for most systems, generic memory card and
|
||||||
/ harddisk. But a larger value may be required for on-board flash memory and some
|
/ harddisk, but a larger value may be required for on-board flash memory and some
|
||||||
/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured
|
/ type of optical media. When FF_MAX_SS is larger than FF_MIN_SS, FatFs is configured
|
||||||
/ for variable sector size mode and disk_ioctl() function needs to implement
|
/ for variable sector size mode and disk_ioctl() function needs to implement
|
||||||
/ GET_SECTOR_SIZE command. */
|
/ GET_SECTOR_SIZE command. */
|
||||||
@ -225,8 +238,8 @@
|
|||||||
/ To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */
|
/ To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */
|
||||||
|
|
||||||
|
|
||||||
#define FF_MIN_GPT 0x100000000
|
#define FF_MIN_GPT 0x10000000
|
||||||
/* Minimum number of sectors to switch GPT format to create partition in f_mkfs and
|
/* Minimum number of sectors to switch GPT as partitioning format in f_mkfs and
|
||||||
/ f_fdisk function. 0x100000000 max. This option has no effect when FF_LBA64 == 0. */
|
/ f_fdisk function. 0x100000000 max. This option has no effect when FF_LBA64 == 0. */
|
||||||
|
|
||||||
|
|
||||||
@ -260,7 +273,7 @@
|
|||||||
#define FF_FS_NORTC 0
|
#define FF_FS_NORTC 0
|
||||||
#define FF_NORTC_MON 1
|
#define FF_NORTC_MON 1
|
||||||
#define FF_NORTC_MDAY 1
|
#define FF_NORTC_MDAY 1
|
||||||
#define FF_NORTC_YEAR 2019
|
#define FF_NORTC_YEAR 2020
|
||||||
/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have
|
/* The option FF_FS_NORTC switches timestamp functiton. If the system does not have
|
||||||
/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable
|
/ any RTC function or valid timestamp is not needed, set FF_FS_NORTC = 1 to disable
|
||||||
/ the timestamp function. Every object modified by FatFs will have a fixed timestamp
|
/ the timestamp function. Every object modified by FatFs will have a fixed timestamp
|
||||||
@ -294,6 +307,7 @@
|
|||||||
/ can be opened simultaneously under file lock control. Note that the file
|
/ can be opened simultaneously under file lock control. Note that the file
|
||||||
/ lock control is independent of re-entrancy. */
|
/ lock control is independent of re-entrancy. */
|
||||||
|
|
||||||
|
|
||||||
/* #include <somertos.h> // O/S definitions */
|
/* #include <somertos.h> // O/S definitions */
|
||||||
#include <rtdef.h>
|
#include <rtdef.h>
|
||||||
#ifdef RT_DFS_ELM_REENTRANT
|
#ifdef RT_DFS_ELM_REENTRANT
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Change Logs:
|
|
||||||
* Date Author Notes
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DFS_POLL_H__
|
|
||||||
#define DFS_POLL_H__
|
|
||||||
|
|
||||||
#include <poll.h>
|
|
||||||
|
|
||||||
#endif /* DFS_POLL_H__ */
|
|
@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2006-2021, RT-Thread Development Team
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Change Logs:
|
|
||||||
* Date Author Notes
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef DFS_SELECT_H__
|
|
||||||
#define DFS_SELECT_H__
|
|
||||||
|
|
||||||
#include <sys/select.h>
|
|
||||||
|
|
||||||
#endif
|
|
@ -18,9 +18,9 @@
|
|||||||
#include <lwp.h>
|
#include <lwp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RT_USING_LIBC
|
#ifdef RT_USING_POSIX
|
||||||
#include <libc.h>
|
#include <libc.h>
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
/* Global variables */
|
/* Global variables */
|
||||||
const struct dfs_filesystem_ops *filesystem_operation_table[DFS_FILESYSTEM_TYPES_MAX];
|
const struct dfs_filesystem_ops *filesystem_operation_table[DFS_FILESYSTEM_TYPES_MAX];
|
||||||
@ -216,10 +216,10 @@ struct dfs_fd *fd_get(int fd)
|
|||||||
struct dfs_fd *d;
|
struct dfs_fd *d;
|
||||||
struct dfs_fdtable *fdt;
|
struct dfs_fdtable *fdt;
|
||||||
|
|
||||||
#ifdef RT_USING_LIBC
|
#ifdef RT_USING_POSIX
|
||||||
if ((0 <= fd) && (fd <= 2))
|
if ((0 <= fd) && (fd <= 2))
|
||||||
fd = libc_stdio_get_console();
|
fd = libc_stdio_get_console();
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
fdt = dfs_fdtable_get();
|
fdt = dfs_fdtable_get();
|
||||||
fd = fd - DFS_FD_OFFSET;
|
fd = fd - DFS_FD_OFFSET;
|
||||||
|
@ -61,7 +61,7 @@ rt_err_t rt_workqueue_submit_work(struct rt_workqueue *queue, struct rt_work *wo
|
|||||||
rt_err_t rt_workqueue_cancel_work(struct rt_workqueue *queue, struct rt_work *work);
|
rt_err_t rt_workqueue_cancel_work(struct rt_workqueue *queue, struct rt_work *work);
|
||||||
rt_err_t rt_workqueue_cancel_work_sync(struct rt_workqueue *queue, struct rt_work *work);
|
rt_err_t rt_workqueue_cancel_work_sync(struct rt_workqueue *queue, struct rt_work *work);
|
||||||
rt_err_t rt_workqueue_cancel_all_work(struct rt_workqueue *queue);
|
rt_err_t rt_workqueue_cancel_all_work(struct rt_workqueue *queue);
|
||||||
rt_err_t rt_workqueue_critical_work(struct rt_workqueue *queue, struct rt_work *work);
|
rt_err_t rt_workqueue_urgent_work(struct rt_workqueue *queue, struct rt_work *work);
|
||||||
|
|
||||||
#ifdef RT_USING_SYSTEM_WORKQUEUE
|
#ifdef RT_USING_SYSTEM_WORKQUEUE
|
||||||
rt_err_t rt_work_submit(struct rt_work *work, rt_tick_t time);
|
rt_err_t rt_work_submit(struct rt_work *work, rt_tick_t time);
|
||||||
|
@ -309,7 +309,7 @@ rt_err_t rt_workqueue_submit_work(struct rt_workqueue *queue, struct rt_work *wo
|
|||||||
*
|
*
|
||||||
* @return RT_EOK Success.
|
* @return RT_EOK Success.
|
||||||
*/
|
*/
|
||||||
rt_err_t rt_workqueue_critical_work(struct rt_workqueue *queue, struct rt_work *work)
|
rt_err_t rt_workqueue_urgent_work(struct rt_workqueue *queue, struct rt_work *work)
|
||||||
{
|
{
|
||||||
rt_base_t level;
|
rt_base_t level;
|
||||||
RT_ASSERT(queue != RT_NULL);
|
RT_ASSERT(queue != RT_NULL);
|
||||||
|
@ -145,10 +145,17 @@ void finsh_set_prompt_mode(rt_uint32_t prompt_mode)
|
|||||||
int finsh_getchar(void)
|
int finsh_getchar(void)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DEVICE
|
#ifdef RT_USING_DEVICE
|
||||||
#ifdef RT_USING_LIBC
|
|
||||||
return getchar();
|
|
||||||
#else
|
|
||||||
char ch = 0;
|
char ch = 0;
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
|
if(read(STDIN_FILENO, &ch, 1) > 0)
|
||||||
|
{
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return -1; /* EOF */
|
||||||
|
}
|
||||||
|
#else
|
||||||
rt_device_t device;
|
rt_device_t device;
|
||||||
|
|
||||||
RT_ASSERT(shell != RT_NULL);
|
RT_ASSERT(shell != RT_NULL);
|
||||||
@ -163,14 +170,14 @@ int finsh_getchar(void)
|
|||||||
rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER);
|
rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER);
|
||||||
|
|
||||||
return ch;
|
return ch;
|
||||||
#endif /* RT_USING_LIBC */
|
#endif /* RT_USING_POSIX */
|
||||||
#else
|
#else
|
||||||
extern char rt_hw_console_getchar(void);
|
extern char rt_hw_console_getchar(void);
|
||||||
return rt_hw_console_getchar();
|
return rt_hw_console_getchar();
|
||||||
#endif /* RT_USING_DEVICE */
|
#endif /* RT_USING_DEVICE */
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
#if !defined(RT_USING_POSIX) && defined(RT_USING_DEVICE)
|
||||||
static rt_err_t finsh_rx_ind(rt_device_t dev, rt_size_t size)
|
static rt_err_t finsh_rx_ind(rt_device_t dev, rt_size_t size)
|
||||||
{
|
{
|
||||||
RT_ASSERT(shell != RT_NULL);
|
RT_ASSERT(shell != RT_NULL);
|
||||||
@ -436,7 +443,7 @@ void finsh_thread_entry(void *parameter)
|
|||||||
shell->echo_mode = 0;
|
shell->echo_mode = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
#if !defined(RT_USING_POSIX) && defined(RT_USING_DEVICE)
|
||||||
/* set console device as shell device */
|
/* set console device as shell device */
|
||||||
if (shell->device == RT_NULL)
|
if (shell->device == RT_NULL)
|
||||||
{
|
{
|
||||||
|
@ -78,7 +78,7 @@ struct finsh_shell
|
|||||||
rt_uint16_t line_position;
|
rt_uint16_t line_position;
|
||||||
rt_uint16_t line_curpos;
|
rt_uint16_t line_curpos;
|
||||||
|
|
||||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
#if !defined(RT_USING_POSIX) && defined(RT_USING_DEVICE)
|
||||||
rt_device_t device;
|
rt_device_t device;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2,18 +2,49 @@ menu "POSIX layer and C standard library"
|
|||||||
|
|
||||||
config RT_USING_LIBC
|
config RT_USING_LIBC
|
||||||
bool "Enable libc APIs from toolchain"
|
bool "Enable libc APIs from toolchain"
|
||||||
select RT_USING_DFS
|
|
||||||
select RT_USING_POSIX
|
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
if RT_USING_LIBC
|
||||||
|
config RT_LIBC_USING_TIME
|
||||||
|
default y
|
||||||
|
|
||||||
|
config RT_LIBC_USING_FILEIO
|
||||||
|
bool "Enable libc with file operation, eg.fopen/fwrite/fread/getchar"
|
||||||
|
select RT_USING_DFS
|
||||||
|
select RT_USING_POSIX
|
||||||
|
default n
|
||||||
|
|
||||||
|
config RT_USING_MODULE
|
||||||
|
bool "Enable dynamic module with dlopen/dlsym/dlclose feature"
|
||||||
|
default n
|
||||||
|
|
||||||
|
if RT_USING_MODULE
|
||||||
|
config RT_USING_CUSTOM_DLMODULE
|
||||||
|
bool "Enable load dynamic module by custom"
|
||||||
|
default n
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if RT_USING_LIBC != y
|
||||||
|
config RT_LIBC_USING_TIME
|
||||||
|
bool "Enable time functions without compiler's libc"
|
||||||
|
default y
|
||||||
|
endif
|
||||||
|
|
||||||
|
config RT_LIBC_DEFAULT_TIMEZONE
|
||||||
|
depends on (RT_LIBC_USING_TIME || RT_USING_LIBC)
|
||||||
|
int "Set the default time zone (UTC+)"
|
||||||
|
range -12 12
|
||||||
|
default 8
|
||||||
|
|
||||||
config RT_USING_PTHREADS
|
config RT_USING_PTHREADS
|
||||||
bool "Enable pthreads APIs"
|
bool "Enable pthreads APIs"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
if RT_USING_PTHREADS
|
if RT_USING_PTHREADS
|
||||||
config PTHREAD_NUM_MAX
|
config PTHREAD_NUM_MAX
|
||||||
int "Maximum number of pthreads"
|
int "Maximum number of pthreads"
|
||||||
default 8
|
default 8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if RT_USING_DFS
|
if RT_USING_DFS
|
||||||
@ -42,32 +73,4 @@ if RT_USING_DFS
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if RT_USING_LIBC
|
|
||||||
config RT_LIBC_USING_TIME
|
|
||||||
default y
|
|
||||||
|
|
||||||
config RT_USING_MODULE
|
|
||||||
bool "Enable dynamic module with dlopen/dlsym/dlclose feature"
|
|
||||||
default n
|
|
||||||
|
|
||||||
if RT_USING_MODULE
|
|
||||||
config RT_USING_CUSTOM_DLMODULE
|
|
||||||
bool "Enable load dynamic module by custom"
|
|
||||||
default n
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
if RT_USING_LIBC != y
|
|
||||||
config RT_LIBC_USING_TIME
|
|
||||||
bool "Enable time functions without compiler's libc"
|
|
||||||
default y
|
|
||||||
endif
|
|
||||||
|
|
||||||
config RT_LIBC_DEFAULT_TIMEZONE
|
|
||||||
depends on (RT_LIBC_USING_TIME || RT_USING_LIBC)
|
|
||||||
int "Set the default time zone (UTC+)"
|
|
||||||
range -12 12
|
|
||||||
default 8
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -8,9 +8,6 @@ group = []
|
|||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
CPPDEFINES = ['RT_USING_ARM_LIBC']
|
CPPDEFINES = ['RT_USING_ARM_LIBC']
|
||||||
|
|
||||||
if GetDepend('RT_USING_DFS') == False:
|
|
||||||
SrcRemove(src, ['stdio.c'])
|
|
||||||
|
|
||||||
if GetDepend('RT_USING_MODULE') == False:
|
if GetDepend('RT_USING_MODULE') == False:
|
||||||
SrcRemove(src, ['libc_syms.c'])
|
SrcRemove(src, ['libc_syms.c'])
|
||||||
|
|
||||||
|
@ -7,29 +7,24 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017/10/15 bernard the first version
|
* 2017/10/15 bernard the first version
|
||||||
*/
|
*/
|
||||||
#include <fcntl.h>
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#ifdef RT_USING_PTHREADS
|
#ifdef RT_USING_PTHREADS
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int libc_system_init(void)
|
int libc_system_init(void)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS)
|
#ifdef RT_USING_POSIX
|
||||||
rt_device_t dev_console;
|
rt_device_t dev_console;
|
||||||
|
|
||||||
dev_console = rt_console_get_device();
|
dev_console = rt_console_get_device();
|
||||||
if (dev_console)
|
if (dev_console)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_POSIX)
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
||||||
#else
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_WRONLY);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
|
#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
|
||||||
pthread_system_init();
|
pthread_system_init();
|
||||||
|
@ -10,13 +10,17 @@
|
|||||||
#ifndef __RTT_LIBC_H__
|
#ifndef __RTT_LIBC_H__
|
||||||
#define __RTT_LIBC_H__
|
#define __RTT_LIBC_H__
|
||||||
|
|
||||||
|
#include <rtconfig.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int libc_system_init(void);
|
int libc_system_init(void);
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
int libc_stdio_get_console(void);
|
int libc_stdio_get_console(void);
|
||||||
int libc_stdio_set_console(const char* device_name, int mode);
|
int libc_stdio_set_console(const char* device_name, int mode);
|
||||||
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -7,16 +7,17 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017/10/15 bernard implement stdio for armcc.
|
* 2017/10/15 bernard implement stdio for armcc.
|
||||||
*/
|
*/
|
||||||
|
#include <rtthread.h>
|
||||||
|
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <rtthread.h>
|
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
#include <fcntl.h>
|
||||||
#include <dfs_posix.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#define STDIO_DEVICE_NAME_MAX 32
|
#define STDIO_DEVICE_NAME_MAX 32
|
||||||
|
|
||||||
@ -48,4 +49,4 @@ int libc_stdio_get_console(void)
|
|||||||
return std_fd;
|
return std_fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
@ -14,16 +14,15 @@
|
|||||||
* 2020-02-13 Meco Man re-implement exit() and abort()
|
* 2020-02-13 Meco Man re-implement exit() and abort()
|
||||||
* 2020-02-14 Meco Man implement _sys_tmpnam()
|
* 2020-02-14 Meco Man implement _sys_tmpnam()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <rt_sys.h>
|
#include <rt_sys.h>
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#ifdef RT_USING_DFS
|
#include <fcntl.h>
|
||||||
#include <dfs_posix.h>
|
#include <unistd.h>
|
||||||
#endif
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#define DBG_TAG "armlibc.syscalls"
|
#define DBG_TAG "armlibc.syscalls"
|
||||||
#define DBG_LVL DBG_INFO
|
#define DBG_LVL DBG_INFO
|
||||||
@ -55,7 +54,7 @@ const char __stderr_name[] = "STDERR";
|
|||||||
*/
|
*/
|
||||||
FILEHANDLE _sys_open(const char *name, int openmode)
|
FILEHANDLE _sys_open(const char *name, int openmode)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
int fd;
|
int fd;
|
||||||
int mode = O_RDONLY;
|
int mode = O_RDONLY;
|
||||||
#endif
|
#endif
|
||||||
@ -68,8 +67,8 @@ FILEHANDLE _sys_open(const char *name, int openmode)
|
|||||||
if (strcmp(name, __stderr_name) == 0)
|
if (strcmp(name, __stderr_name) == 0)
|
||||||
return (STDERR);
|
return (STDERR);
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
#ifndef RT_LIBC_USING_FILEIO
|
||||||
return -1;
|
return 0; /* error */
|
||||||
#else
|
#else
|
||||||
/* Correct openmode from fopen to open */
|
/* Correct openmode from fopen to open */
|
||||||
if (openmode & OPEN_PLUS)
|
if (openmode & OPEN_PLUS)
|
||||||
@ -99,21 +98,22 @@ FILEHANDLE _sys_open(const char *name, int openmode)
|
|||||||
|
|
||||||
fd = open(name, mode, 0);
|
fd = open(name, mode, 0);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
return -1;
|
return 0; /* error */
|
||||||
else
|
else
|
||||||
return fd;
|
return fd;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
int _sys_close(FILEHANDLE fh)
|
int _sys_close(FILEHANDLE fh)
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return 0;
|
if (fh <= STDERR)
|
||||||
#else
|
return 0; /* error */
|
||||||
if (fh <= STDERR) return 0;
|
|
||||||
|
|
||||||
return close(fh);
|
return close(fh);
|
||||||
#endif
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -143,13 +143,11 @@ int _sys_close(FILEHANDLE fh)
|
|||||||
*/
|
*/
|
||||||
int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
|
int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
int size;
|
int size;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (fh == STDIN)
|
if (fh == STDIN)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_POSIX
|
|
||||||
if (libc_stdio_get_console() < 0)
|
if (libc_stdio_get_console() < 0)
|
||||||
{
|
{
|
||||||
LOG_W("Do not invoke standard output before initializing libc");
|
LOG_W("Do not invoke standard output before initializing libc");
|
||||||
@ -157,25 +155,20 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
|
|||||||
}
|
}
|
||||||
size = read(STDIN_FILENO, buf, len);
|
size = read(STDIN_FILENO, buf, len);
|
||||||
return len - size;
|
return len - size;
|
||||||
#else
|
|
||||||
/* no stdin */
|
|
||||||
return -1;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if ((fh == STDOUT) || (fh == STDERR))
|
else if ((fh == STDOUT) || (fh == STDERR))
|
||||||
{
|
{
|
||||||
return -1;
|
return 0; /* error */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
size = read(fh, buf, len);
|
size = read(fh, buf, len);
|
||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
return len - size;
|
return len - size;
|
||||||
else
|
else
|
||||||
return -1;
|
return 0; /* error */
|
||||||
#endif
|
#else
|
||||||
|
return 0; /* error */
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -185,16 +178,13 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode)
|
|||||||
*/
|
*/
|
||||||
int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
|
int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
int size;
|
int size;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
|
||||||
if ((fh == STDOUT) || (fh == STDERR))
|
if ((fh == STDOUT) || (fh == STDERR))
|
||||||
{
|
{
|
||||||
#if !defined(RT_USING_CONSOLE) || !defined(RT_USING_DEVICE)
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
#ifdef RT_USING_POSIX
|
|
||||||
if (libc_stdio_get_console() < 0)
|
if (libc_stdio_get_console() < 0)
|
||||||
{
|
{
|
||||||
LOG_W("Do not invoke standard input before initializing libc");
|
LOG_W("Do not invoke standard input before initializing libc");
|
||||||
@ -202,31 +192,29 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
|
|||||||
}
|
}
|
||||||
size = write(STDOUT_FILENO, buf, len);
|
size = write(STDOUT_FILENO, buf, len);
|
||||||
return len - size;
|
return len - size;
|
||||||
#else
|
#elif defined(RT_USING_CONSOLE)
|
||||||
if (rt_console_get_device())
|
if (rt_console_get_device())
|
||||||
{
|
{
|
||||||
rt_device_write(rt_console_get_device(), -1, buf, len);
|
rt_device_write(rt_console_get_device(), -1, buf, len);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return 0; /* error */
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if (fh == STDIN)
|
else if (fh == STDIN)
|
||||||
{
|
{
|
||||||
return -1;
|
return 0; /* error */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
size = write(fh, buf, len);
|
size = write(fh, buf, len);
|
||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
return len - size;
|
return len - size;
|
||||||
else
|
else
|
||||||
return -1;
|
return 0; /* error */
|
||||||
#endif
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -235,16 +223,15 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)
|
|||||||
*/
|
*/
|
||||||
int _sys_seek(FILEHANDLE fh, long pos)
|
int _sys_seek(FILEHANDLE fh, long pos)
|
||||||
{
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
if (fh < STDERR)
|
if (fh < STDERR)
|
||||||
return -1;
|
return 0; /* error */
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
|
|
||||||
/* position is relative to the start of file fh */
|
/* position is relative to the start of file fh */
|
||||||
return lseek(fh, pos, 0);
|
return lseek(fh, pos, 0);
|
||||||
#endif
|
#else
|
||||||
|
return 0; /* error */
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -270,7 +257,7 @@ void _ttywrch(int ch)
|
|||||||
|
|
||||||
c = (char)ch;
|
c = (char)ch;
|
||||||
rt_kprintf(&c);
|
rt_kprintf(&c);
|
||||||
#endif
|
#endif /* RT_USING_CONSOLE */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* for exit() and abort() */
|
/* for exit() and abort() */
|
||||||
@ -289,17 +276,17 @@ RT_WEAK void _sys_exit(int return_code)
|
|||||||
*/
|
*/
|
||||||
long _sys_flen(FILEHANDLE fh)
|
long _sys_flen(FILEHANDLE fh)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
struct stat stat;
|
struct stat stat;
|
||||||
|
|
||||||
if (fh < STDERR)
|
if (fh < STDERR)
|
||||||
return -1;
|
return 0; /* error */
|
||||||
|
|
||||||
fstat(fh, &stat);
|
fstat(fh, &stat);
|
||||||
return stat.st_size;
|
return stat.st_size;
|
||||||
#else
|
#else
|
||||||
return -1;
|
return 0;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
int _sys_istty(FILEHANDLE fh)
|
int _sys_istty(FILEHANDLE fh)
|
||||||
@ -312,11 +299,11 @@ int _sys_istty(FILEHANDLE fh)
|
|||||||
|
|
||||||
int remove(const char *filename)
|
int remove(const char *filename)
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
return unlink(filename);
|
return unlink(filename);
|
||||||
#endif
|
#else
|
||||||
|
return 0; /* error */
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __MICROLIB
|
#ifdef __MICROLIB
|
||||||
@ -324,28 +311,32 @@ int remove(const char *filename)
|
|||||||
|
|
||||||
int fputc(int c, FILE *f)
|
int fputc(int c, FILE *f)
|
||||||
{
|
{
|
||||||
|
#ifdef RT_USING_CONSOLE
|
||||||
char ch[2] = {0};
|
char ch[2] = {0};
|
||||||
|
|
||||||
ch[0] = c;
|
ch[0] = c;
|
||||||
rt_kprintf(&ch[0]);
|
rt_kprintf(&ch[0]);
|
||||||
return 1;
|
return 1;
|
||||||
|
#else
|
||||||
|
return 0; /* error */
|
||||||
|
#endif /* RT_USING_CONSOLE */
|
||||||
}
|
}
|
||||||
|
|
||||||
int fgetc(FILE *f)
|
int fgetc(FILE *f)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_POSIX
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
char ch;
|
char ch;
|
||||||
|
|
||||||
if (libc_stdio_get_console() < 0)
|
if (libc_stdio_get_console() < 0)
|
||||||
{
|
{
|
||||||
LOG_W("Do not invoke standard output before initializing libc");
|
LOG_W("Do not invoke standard output before initializing libc");
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(read(STDIN_FILENO, &ch, 1) == 1)
|
if(read(STDIN_FILENO, &ch, 1) == 1)
|
||||||
return ch;
|
return ch;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
return 0; /* error */
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
#endif /* __MICROLIB */
|
||||||
|
@ -11,7 +11,7 @@ CPPDEFINES = []
|
|||||||
if GetDepend('RT_USING_LIBC'):
|
if GetDepend('RT_USING_LIBC'):
|
||||||
src += Glob('*.c')
|
src += Glob('*.c')
|
||||||
elif GetDepend('RT_LIBC_USING_TIME'):
|
elif GetDepend('RT_LIBC_USING_TIME'):
|
||||||
src += Glob('time.c')
|
src += ['time.c']
|
||||||
|
|
||||||
if rtconfig.CROSS_TOOL == 'keil':
|
if rtconfig.CROSS_TOOL == 'keil':
|
||||||
CPPDEFINES += ['__CLK_TCK=RT_TICK_PER_SECOND']
|
CPPDEFINES += ['__CLK_TCK=RT_TICK_PER_SECOND']
|
||||||
|
@ -11,7 +11,7 @@ CPPDEFINES = ['RT_USING_DLIBC']
|
|||||||
|
|
||||||
if rtconfig.PLATFORM == 'iar':
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
|
||||||
if GetDepend('RT_USING_DFS'):
|
if GetDepend('RT_LIBC_USING_FILEIO'):
|
||||||
from distutils.version import LooseVersion
|
from distutils.version import LooseVersion
|
||||||
from iar import IARVersion
|
from iar import IARVersion
|
||||||
|
|
||||||
@ -20,7 +20,6 @@ if rtconfig.PLATFORM == 'iar':
|
|||||||
if LooseVersion(IARVersion()) < LooseVersion("8.20.1"):
|
if LooseVersion(IARVersion()) < LooseVersion("8.20.1"):
|
||||||
CPPDEFINES = CPPDEFINES + ['_DLIB_THREAD_SUPPORT']
|
CPPDEFINES = CPPDEFINES + ['_DLIB_THREAD_SUPPORT']
|
||||||
|
|
||||||
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
|
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
||||||
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
@ -7,29 +7,24 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017/10/15 bernard the first version
|
* 2017/10/15 bernard the first version
|
||||||
*/
|
*/
|
||||||
#include <fcntl.h>
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#ifdef RT_USING_PTHREADS
|
#ifdef RT_USING_PTHREADS
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int libc_system_init(void)
|
int libc_system_init(void)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
#ifdef RT_USING_POSIX
|
||||||
rt_device_t dev_console;
|
rt_device_t dev_console;
|
||||||
|
|
||||||
dev_console = rt_console_get_device();
|
dev_console = rt_console_get_device();
|
||||||
if (dev_console)
|
if (dev_console)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_POSIX)
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
||||||
#else
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_WRONLY);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
#if defined (RT_USING_PTHREADS) && !defined (RT_USING_COMPONENTS_INIT)
|
#if defined (RT_USING_PTHREADS) && !defined (RT_USING_COMPONENTS_INIT)
|
||||||
pthread_system_init();
|
pthread_system_init();
|
||||||
@ -38,4 +33,3 @@ int libc_system_init(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
INIT_COMPONENT_EXPORT(libc_system_init);
|
INIT_COMPONENT_EXPORT(libc_system_init);
|
||||||
|
|
||||||
|
@ -16,8 +16,10 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int libc_system_init(void);
|
int libc_system_init(void);
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
int libc_stdio_get_console(void);
|
int libc_stdio_get_console(void);
|
||||||
int libc_stdio_set_console(const char* device_name, int mode);
|
int libc_stdio_set_console(const char* device_name, int mode);
|
||||||
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017/10/15 bernard implement stdio for IAR dlib.
|
* 2017/10/15 bernard implement stdio for IAR dlib.
|
||||||
*/
|
*/
|
||||||
|
#include <rtthread.h>
|
||||||
|
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include <rtthread.h>
|
#include <unistd.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
|
|
||||||
#define STDIO_DEVICE_NAME_MAX 32
|
#define STDIO_DEVICE_NAME_MAX 32
|
||||||
|
|
||||||
static int std_fd = -1;
|
static int std_fd = -1;
|
||||||
@ -46,4 +46,4 @@ int libc_stdio_get_console(void) {
|
|||||||
return std_fd;
|
return std_fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif /* RT_USING_POSIX */
|
||||||
|
@ -8,10 +8,8 @@
|
|||||||
* 2015-01-28 Bernard first version
|
* 2015-01-28 Bernard first version
|
||||||
*/
|
*/
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#pragma module_name = "?__close"
|
#pragma module_name = "?__close"
|
||||||
int __close(int handle)
|
int __close(int handle)
|
||||||
@ -20,10 +18,9 @@ int __close(int handle)
|
|||||||
handle == _LLIO_STDERR ||
|
handle == _LLIO_STDERR ||
|
||||||
handle == _LLIO_STDIN)
|
handle == _LLIO_STDIN)
|
||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
return close(handle);
|
return close(handle);
|
||||||
#else
|
#else
|
||||||
return 0;
|
return _LLIO_ERROR;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,8 @@
|
|||||||
* 2015-01-28 Bernard first version
|
* 2015-01-28 Bernard first version
|
||||||
*/
|
*/
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#pragma module_name = "?__lseek"
|
#pragma module_name = "?__lseek"
|
||||||
long __lseek(int handle, long offset, int whence)
|
long __lseek(int handle, long offset, int whence)
|
||||||
@ -20,8 +18,7 @@ long __lseek(int handle, long offset, int whence)
|
|||||||
handle == _LLIO_STDERR ||
|
handle == _LLIO_STDERR ||
|
||||||
handle == _LLIO_STDIN)
|
handle == _LLIO_STDIN)
|
||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
return lseek(handle, offset, whence);
|
return lseek(handle, offset, whence);
|
||||||
#else
|
#else
|
||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
|
@ -10,17 +10,13 @@
|
|||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
#ifdef RT_USING_DFS
|
#include <fcntl.h>
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma module_name = "?__open"
|
#pragma module_name = "?__open"
|
||||||
|
|
||||||
int __open(const char *filename, int mode)
|
int __open(const char *filename, int mode)
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return _LLIO_ERROR;
|
|
||||||
#else
|
|
||||||
int handle;
|
int handle;
|
||||||
int open_mode = O_RDONLY;
|
int open_mode = O_RDONLY;
|
||||||
|
|
||||||
@ -70,5 +66,7 @@ int __open(const char *filename, int mode)
|
|||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
|
|
||||||
return handle;
|
return handle;
|
||||||
#endif
|
#else
|
||||||
|
return _LLIO_ERROR;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#define DBG_TAG "dlib.syscall_read"
|
#define DBG_TAG "dlib.syscall_read"
|
||||||
@ -22,32 +20,26 @@
|
|||||||
#pragma module_name = "?__read"
|
#pragma module_name = "?__read"
|
||||||
size_t __read(int handle, unsigned char *buf, size_t len)
|
size_t __read(int handle, unsigned char *buf, size_t len)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
int size;
|
int size;
|
||||||
#endif
|
|
||||||
|
|
||||||
if (handle == _LLIO_STDIN)
|
if (handle == _LLIO_STDIN)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_POSIX
|
|
||||||
if (libc_stdio_get_console() < 0)
|
if (libc_stdio_get_console() < 0)
|
||||||
{
|
{
|
||||||
LOG_W("Do not invoke standard input before initializing libc");
|
LOG_W("Do not invoke standard input before initializing libc");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return read(STDIN_FILENO, buf, len);
|
return read(STDIN_FILENO, buf, len);
|
||||||
#else
|
|
||||||
return _LLIO_ERROR;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
else if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
||||||
{
|
{
|
||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
return _LLIO_ERROR;
|
|
||||||
#else
|
|
||||||
size = read(handle, buf, len);
|
size = read(handle, buf, len);
|
||||||
return size;
|
return size;
|
||||||
#endif
|
#else
|
||||||
|
return _LLIO_ERROR;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
@ -8,17 +8,15 @@
|
|||||||
* 2015-01-28 Bernard first version
|
* 2015-01-28 Bernard first version
|
||||||
*/
|
*/
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#pragma module_name = "?remove"
|
#pragma module_name = "?remove"
|
||||||
int remove(const char *val)
|
int remove(const char *val)
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_USING_POSIX
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
return unlink(val);
|
return unlink(val);
|
||||||
#endif
|
#else
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_USING_POSIX */
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#include <yfuns.h>
|
#include <yfuns.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#define DBG_TAG "dlib.syscall_write"
|
#define DBG_TAG "dlib.syscall_write"
|
||||||
@ -23,24 +21,20 @@
|
|||||||
|
|
||||||
size_t __write(int handle, const unsigned char *buf, size_t len)
|
size_t __write(int handle, const unsigned char *buf, size_t len)
|
||||||
{
|
{
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
int size;
|
int size;
|
||||||
#endif
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
|
||||||
if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_CONSOLE
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return _LLIO_ERROR;
|
|
||||||
#else
|
|
||||||
|
|
||||||
#ifdef RT_USING_POSIX
|
|
||||||
if (libc_stdio_get_console() < 0)
|
if (libc_stdio_get_console() < 0)
|
||||||
{
|
{
|
||||||
LOG_W("Do not invoke standard output before initializing libc");
|
LOG_W("Do not invoke standard output before initializing libc");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return write(STDOUT_FILENO, (void*)buf, len);
|
return write(STDOUT_FILENO, (void*)buf, len);
|
||||||
#else
|
#elif defined(RT_USING_CONSOLE)
|
||||||
rt_device_t console_device;
|
rt_device_t console_device;
|
||||||
|
|
||||||
console_device = rt_console_get_device();
|
console_device = rt_console_get_device();
|
||||||
@ -50,19 +44,19 @@ size_t __write(int handle, const unsigned char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
#endif
|
#else
|
||||||
#endif
|
return _LLIO_ERROR;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
else if (handle == _LLIO_STDIN)
|
else if (handle == _LLIO_STDIN)
|
||||||
{
|
{
|
||||||
return _LLIO_ERROR;
|
return _LLIO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RT_USING_DFS
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
return _LLIO_ERROR;
|
|
||||||
#else
|
|
||||||
size = write(handle, buf, len);
|
size = write(handle, buf, len);
|
||||||
return size;
|
return size;
|
||||||
#endif
|
#else
|
||||||
|
return _LLIO_ERROR;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,34 +12,23 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#ifdef RT_USING_PTHREADS
|
#ifdef RT_USING_PTHREADS
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int _EXFUN(putenv,(char *__string));
|
|
||||||
|
|
||||||
int libc_system_init(void)
|
int libc_system_init(void)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS) & defined(RT_USING_CONSOLE)
|
#ifdef RT_USING_POSIX
|
||||||
rt_device_t dev_console;
|
rt_device_t dev_console;
|
||||||
|
|
||||||
dev_console = rt_console_get_device();
|
dev_console = rt_console_get_device();
|
||||||
if (dev_console)
|
if (dev_console)
|
||||||
{
|
{
|
||||||
#if defined(RT_USING_POSIX)
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
||||||
#else
|
|
||||||
libc_stdio_set_console(dev_console->parent.name, O_WRONLY);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif /* RT_USING_POSIX */
|
||||||
/* set PATH and HOME */
|
|
||||||
putenv("PATH=/bin");
|
|
||||||
putenv("HOME=/home");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
|
#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
|
||||||
pthread_system_init();
|
pthread_system_init();
|
||||||
|
@ -10,16 +10,15 @@
|
|||||||
#ifndef __RTT_LIBC_H__
|
#ifndef __RTT_LIBC_H__
|
||||||
#define __RTT_LIBC_H__
|
#define __RTT_LIBC_H__
|
||||||
|
|
||||||
#ifndef _EXFUN
|
|
||||||
#define _EXFUN(name, proto) name proto
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int libc_system_init(void);
|
int libc_system_init(void);
|
||||||
|
#ifdef RT_USING_POSIX
|
||||||
int libc_stdio_get_console(void);
|
int libc_stdio_get_console(void);
|
||||||
int libc_stdio_set_console(const char* device_name, int mode);
|
int libc_stdio_set_console(const char* device_name, int mode);
|
||||||
|
#endif /* RT_USING_POSIX */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017/10/15 bernard the first version
|
* 2017/10/15 bernard the first version
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include "libc.h"
|
#include "libc.h"
|
||||||
|
|
||||||
#define STDIO_DEVICE_NAME_MAX 32
|
#define STDIO_DEVICE_NAME_MAX 32
|
||||||
|
|
||||||
int _EXFUN(fileno, (FILE *));
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
static FILE* std_console = NULL;
|
static FILE* std_console = NULL;
|
||||||
|
|
||||||
@ -28,9 +28,18 @@ int libc_stdio_set_console(const char* device_name, int mode)
|
|||||||
snprintf(name, sizeof(name) - 1, "/dev/%s", device_name);
|
snprintf(name, sizeof(name) - 1, "/dev/%s", device_name);
|
||||||
name[STDIO_DEVICE_NAME_MAX - 1] = '\0';
|
name[STDIO_DEVICE_NAME_MAX - 1] = '\0';
|
||||||
|
|
||||||
if (mode == O_RDWR) file_mode = "r+";
|
if (mode == O_RDWR)
|
||||||
else if (mode == O_WRONLY) file_mode = "wb";
|
{
|
||||||
else file_mode = "rb";
|
file_mode = "r+";
|
||||||
|
}
|
||||||
|
else if (mode == O_WRONLY)
|
||||||
|
{
|
||||||
|
file_mode = "wb";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
file_mode = "rb";
|
||||||
|
}
|
||||||
|
|
||||||
fp = fopen(name, file_mode);
|
fp = fopen(name, file_mode);
|
||||||
if (fp)
|
if (fp)
|
||||||
@ -79,3 +88,35 @@ int libc_stdio_get_console(void)
|
|||||||
else
|
else
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif defined(RT_USING_POSIX)
|
||||||
|
#include <unistd.h>
|
||||||
|
static int std_fd = -1;
|
||||||
|
|
||||||
|
int libc_stdio_set_console(const char* device_name, int mode)
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
char name[STDIO_DEVICE_NAME_MAX];
|
||||||
|
|
||||||
|
snprintf(name, sizeof(name) - 1, "/dev/%s", device_name);
|
||||||
|
name[STDIO_DEVICE_NAME_MAX - 1] = '\0';
|
||||||
|
|
||||||
|
fd = open(name, mode, 0);
|
||||||
|
if (fd >= 0)
|
||||||
|
{
|
||||||
|
if (std_fd >= 0)
|
||||||
|
{
|
||||||
|
close(std_fd);
|
||||||
|
}
|
||||||
|
std_fd = fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
return std_fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
int libc_stdio_get_console(void)
|
||||||
|
{
|
||||||
|
return std_fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
@ -13,9 +13,16 @@
|
|||||||
|
|
||||||
#include <reent.h>
|
#include <reent.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/errno.h>
|
#include <sys/errno.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include "libc.h"
|
||||||
|
#ifdef RT_USING_MODULE
|
||||||
|
#include <dlmodule.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DBG_TAG "newlib.syscalls"
|
#define DBG_TAG "newlib.syscalls"
|
||||||
#define DBG_LVL DBG_INFO
|
#define DBG_LVL DBG_INFO
|
||||||
@ -83,18 +90,8 @@ void __libc_init_array(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef RT_USING_LIBC
|
#ifdef RT_USING_LIBC
|
||||||
#include <reent.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "libc.h"
|
|
||||||
#ifdef RT_USING_DFS
|
|
||||||
#include <dfs_posix.h>
|
|
||||||
#endif
|
|
||||||
#ifdef RT_USING_MODULE
|
|
||||||
#include <dlmodule.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Reentrant versions of system calls. */
|
/* Reentrant versions of system calls. */
|
||||||
|
|
||||||
#ifndef _REENT_ONLY
|
#ifndef _REENT_ONLY
|
||||||
int *__errno ()
|
int *__errno ()
|
||||||
{
|
{
|
||||||
@ -109,39 +106,29 @@ int _getpid_r(struct _reent *ptr)
|
|||||||
|
|
||||||
int _close_r(struct _reent *ptr, int fd)
|
int _close_r(struct _reent *ptr, int fd)
|
||||||
{
|
{
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
return close(fd);
|
return close(fd);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int _execve_r(struct _reent *ptr, const char * name, char *const *argv, char *const *env)
|
int _execve_r(struct _reent *ptr, const char * name, char *const *argv, char *const *env)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _fcntl_r(struct _reent *ptr, int fd, int cmd, int arg)
|
int _fcntl_r(struct _reent *ptr, int fd, int cmd, int arg)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _fork_r(struct _reent *ptr)
|
int _fork_r(struct _reent *ptr)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _fstat_r(struct _reent *ptr, int fd, struct stat *pstat)
|
int _fstat_r(struct _reent *ptr, int fd, struct stat *pstat)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -160,162 +147,22 @@ int _isatty_r(struct _reent *ptr, int fd)
|
|||||||
|
|
||||||
int _kill_r(struct _reent *ptr, int pid, int sig)
|
int _kill_r(struct _reent *ptr, int pid, int sig)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _link_r(struct _reent *ptr, const char *old, const char *new)
|
int _link_r(struct _reent *ptr, const char *old, const char *new)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_off_t _lseek_r(struct _reent *ptr, int fd, _off_t pos, int whence)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
_off_t rc;
|
|
||||||
|
|
||||||
rc = lseek(fd, pos, whence);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _mkdir_r(struct _reent *ptr, const char *name, int mode)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = mkdir(name, mode);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _open_r(struct _reent *ptr, const char *file, int flags, int mode)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = open(file, flags, mode);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
_ssize_t _read_r(struct _reent *ptr, int fd, void *buf, size_t nbytes)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
_ssize_t rc;
|
|
||||||
if (libc_stdio_get_console() < 0 && fd == STDIN_FILENO)
|
|
||||||
{
|
|
||||||
LOG_W("Do not invoke standard input before initializing libc");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
rc = read(fd, buf, nbytes);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _rename_r(struct _reent *ptr, const char *old, const char *new)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = rename(old, new);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _stat_r(struct _reent *ptr, const char *file, struct stat *pstat)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
rc = stat(file, pstat);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _unlink_r(struct _reent *ptr, const char *file)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#else
|
|
||||||
return unlink(file);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int _wait_r(struct _reent *ptr, int *status)
|
int _wait_r(struct _reent *ptr, int *status)
|
||||||
{
|
{
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
ptr->_errno = ENOTSUP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_ssize_t _write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes)
|
|
||||||
{
|
|
||||||
#ifndef RT_USING_DFS
|
|
||||||
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
|
|
||||||
if (STDOUT_FILENO == fd)
|
|
||||||
{
|
|
||||||
rt_device_t console;
|
|
||||||
|
|
||||||
console = rt_console_get_device();
|
|
||||||
if (console) return rt_device_write(console, -1, buf, nbytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
#else
|
|
||||||
/* return "not supported" */
|
|
||||||
ptr->_errno = ENOTSUP;
|
|
||||||
return -1;
|
|
||||||
#endif /*RT_USING_DEVICE*/
|
|
||||||
#else
|
|
||||||
_ssize_t rc;
|
|
||||||
if (libc_stdio_get_console() < 0 && fd == STDOUT_FILENO)
|
|
||||||
{
|
|
||||||
LOG_W("Do not invoke standard output before initializing libc");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
rc = write(fd, buf, nbytes);
|
|
||||||
return rc;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* for exit() and abort() */
|
|
||||||
__attribute__ ((noreturn)) void _exit (int status)
|
|
||||||
{
|
|
||||||
extern void __rt_libc_exit(int status);
|
|
||||||
__rt_libc_exit(status);
|
|
||||||
while(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
mode_t umask(mode_t mask)
|
mode_t umask(mode_t mask)
|
||||||
{
|
{
|
||||||
return 022;
|
return 022;
|
||||||
@ -326,6 +173,131 @@ int flock(int fd, int operation)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_off_t _lseek_r(struct _reent *ptr, int fd, _off_t pos, int whence)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
_off_t rc;
|
||||||
|
|
||||||
|
rc = lseek(fd, pos, whence);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
int _mkdir_r(struct _reent *ptr, const char *name, int mode)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
rc = mkdir(name, mode);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
int _open_r(struct _reent *ptr, const char *file, int flags, int mode)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
rc = open(file, flags, mode);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
_ssize_t _read_r(struct _reent *ptr, int fd, void *buf, size_t nbytes)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
_ssize_t rc;
|
||||||
|
if (libc_stdio_get_console() < 0 && fd == STDIN_FILENO)
|
||||||
|
{
|
||||||
|
LOG_W("Do not invoke standard input before initializing libc");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
rc = read(fd, buf, nbytes);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
int _rename_r(struct _reent *ptr, const char *old, const char *new)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
rc = rename(old, new);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
int _stat_r(struct _reent *ptr, const char *file, struct stat *pstat)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
rc = stat(file, pstat);
|
||||||
|
return rc;
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
int _unlink_r(struct _reent *ptr, const char *file)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
return unlink(file);
|
||||||
|
#else
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
}
|
||||||
|
|
||||||
|
_ssize_t _write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes)
|
||||||
|
{
|
||||||
|
#ifdef RT_LIBC_USING_FILEIO
|
||||||
|
_ssize_t rc;
|
||||||
|
if (libc_stdio_get_console() < 0 && fd == STDOUT_FILENO)
|
||||||
|
{
|
||||||
|
LOG_W("Do not invoke standard output before initializing libc");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
rc = write(fd, buf, nbytes);
|
||||||
|
return rc;
|
||||||
|
#elif defined(RT_USING_CONSOLE)
|
||||||
|
if (STDOUT_FILENO == fd)
|
||||||
|
{
|
||||||
|
rt_device_t console;
|
||||||
|
|
||||||
|
console = rt_console_get_device();
|
||||||
|
if (console)
|
||||||
|
return rt_device_write(console, -1, buf, nbytes);
|
||||||
|
}
|
||||||
|
#endif /* RT_LIBC_USING_FILEIO */
|
||||||
|
ptr->_errno = ENOTSUP;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* for exit() and abort() */
|
||||||
|
__attribute__ ((noreturn)) void _exit (int status)
|
||||||
|
{
|
||||||
|
extern void __rt_libc_exit(int status);
|
||||||
|
__rt_libc_exit(status);
|
||||||
|
while(1);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
These functions are implemented and replaced by the 'common/time.c' file
|
These functions are implemented and replaced by the 'common/time.c' file
|
||||||
int _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp);
|
int _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user