[posix][libc] 优化libc中posix结构
This commit is contained in:
parent
50bb6e33d1
commit
a9910a780e
|
@ -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
|
||||
#
|
||||
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_SMP is not set
|
||||
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_TINY_SIZE is not set
|
||||
# end of kservice optimization
|
||||
|
||||
# CONFIG_RT_USING_ASM_MEMCPY is not set
|
||||
CONFIG_RT_DEBUG=y
|
||||
# CONFIG_RT_DEBUG_COLOR 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_MESSAGEQUEUE=y
|
||||
# CONFIG_RT_USING_SIGNALS is not set
|
||||
# end of Inter-Thread communication
|
||||
|
||||
#
|
||||
# Memory Management
|
||||
|
@ -64,7 +66,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||
# CONFIG_RT_USING_USERHEAP is not set
|
||||
# CONFIG_RT_USING_MEMTRACE is not set
|
||||
CONFIG_RT_USING_HEAP=y
|
||||
# end of Memory Management
|
||||
|
||||
#
|
||||
# Kernel Device Object
|
||||
|
@ -76,10 +77,9 @@ CONFIG_RT_USING_CONSOLE=y
|
|||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||
# end of Kernel Device Object
|
||||
|
||||
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
|
||||
|
@ -93,7 +93,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||
# C++ features
|
||||
#
|
||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||
# end of C++ features
|
||||
|
||||
#
|
||||
# Command shell
|
||||
|
@ -113,13 +112,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||
# CONFIG_FINSH_USING_AUTH is not set
|
||||
CONFIG_FINSH_ARG_MAX=10
|
||||
# end of Command shell
|
||||
|
||||
#
|
||||
# Device virtual file system
|
||||
#
|
||||
# CONFIG_RT_USING_DFS is not set
|
||||
# end of Device virtual file system
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -159,20 +156,17 @@ CONFIG_RT_USING_PIN=y
|
|||
#
|
||||
# Using USB
|
||||
#
|
||||
# CONFIG_RT_USING_USB is not set
|
||||
# CONFIG_RT_USING_USB_HOST 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
|
||||
#
|
||||
CONFIG_RT_USING_LIBC=y
|
||||
# CONFIG_RT_USING_LIBC is not set
|
||||
# CONFIG_RT_USING_PTHREADS is not set
|
||||
CONFIG_RT_LIBC_USING_TIME=y
|
||||
# CONFIG_RT_USING_MODULE is not set
|
||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||
# end of POSIX layer and C standard library
|
||||
|
||||
#
|
||||
# Network
|
||||
|
@ -182,32 +176,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Socket abstraction layer
|
||||
#
|
||||
# CONFIG_RT_USING_SAL is not set
|
||||
# end of Socket abstraction layer
|
||||
|
||||
#
|
||||
# Network interface device
|
||||
#
|
||||
# CONFIG_RT_USING_NETDEV is not set
|
||||
# end of Network interface device
|
||||
|
||||
#
|
||||
# light weight TCP/IP stack
|
||||
#
|
||||
# CONFIG_RT_USING_LWIP is not set
|
||||
# end of light weight TCP/IP stack
|
||||
|
||||
#
|
||||
# AT commands
|
||||
#
|
||||
# CONFIG_RT_USING_AT is not set
|
||||
# end of AT commands
|
||||
# end of Network
|
||||
|
||||
#
|
||||
# VBUS(Virtual Software BUS)
|
||||
#
|
||||
# CONFIG_RT_USING_VBUS is not set
|
||||
# end of VBUS(Virtual Software BUS)
|
||||
|
||||
#
|
||||
# Utilities
|
||||
|
@ -217,14 +205,11 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_RT_USING_UTEST is not set
|
||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||
# CONFIG_RT_USING_RT_LINK is not set
|
||||
# end of Utilities
|
||||
# end of RT-Thread Components
|
||||
|
||||
#
|
||||
# RT-Thread Utestcases
|
||||
#
|
||||
# CONFIG_RT_USING_UTESTCASES is not set
|
||||
# end of RT-Thread Utestcases
|
||||
|
||||
#
|
||||
# RT-Thread online packages
|
||||
|
@ -259,17 +244,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Marvell WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||
# end of Marvell WiFi
|
||||
|
||||
#
|
||||
# Wiced WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||
# end of Wiced WiFi
|
||||
|
||||
# CONFIG_PKG_USING_RW007 is not set
|
||||
# end of Wi-Fi
|
||||
|
||||
# CONFIG_PKG_USING_COAP is not set
|
||||
# CONFIG_PKG_USING_NOPOLL 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_UCLOUD_IOT_SDK is not set
|
||||
# CONFIG_PKG_USING_JOYLINK is not set
|
||||
# end of IoT Cloud
|
||||
|
||||
# CONFIG_PKG_USING_NIMBLE is not set
|
||||
# CONFIG_PKG_USING_OTA_DOWNLOADER 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_PKT_SNIFFER is not set
|
||||
# CONFIG_PKG_USING_HM is not set
|
||||
# end of IoT - internet of things
|
||||
|
||||
#
|
||||
# security packages
|
||||
|
@ -336,7 +313,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||
# CONFIG_PKG_USING_TFM is not set
|
||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||
# end of security packages
|
||||
|
||||
#
|
||||
# language packages
|
||||
|
@ -345,22 +321,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||
# end of language 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_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_TJPGD 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 is not set
|
||||
# end of u8g2: a monochrome graphic library
|
||||
# end of multimedia packages
|
||||
|
||||
#
|
||||
# tools packages
|
||||
|
@ -421,7 +392,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||
# end of tools 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_TINY 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
|
||||
|
@ -445,8 +414,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_UC_CLK is not set
|
||||
# CONFIG_PKG_USING_UC_COMMON 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_CAIRO 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_MCUBOOT is not set
|
||||
# CONFIG_PKG_USING_TINYUSB is not set
|
||||
# end of system packages
|
||||
|
||||
#
|
||||
# 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_BL_MCU_SDK 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
|
||||
|
@ -574,7 +540,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||
# CONFIG_PKG_USING_ULAPACK is not set
|
||||
# CONFIG_PKG_USING_QUEST is not set
|
||||
# CONFIG_PKG_USING_NAXOS is not set
|
||||
# end of AI packages
|
||||
|
||||
#
|
||||
# miscellaneous packages
|
||||
|
@ -587,7 +552,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||
# CONFIG_PKG_USING_NETWORK_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
|
||||
|
@ -601,8 +565,6 @@ CONFIG_PKG_BLUETRUM_SDK_VER="latest"
|
|||
# CONFIG_PKG_USING_SNAKE is not set
|
||||
# CONFIG_PKG_USING_TETRIS 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_OPTPARSE 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_COWSAY is not set
|
||||
# CONFIG_PKG_USING_TERMBOX is not set
|
||||
# end of miscellaneous packages
|
||||
# end of RT-Thread online packages
|
||||
|
||||
#
|
||||
# Hardware Drivers Config
|
||||
|
@ -645,7 +605,6 @@ CONFIG_SOC_AB32VG1=y
|
|||
#
|
||||
# CONFIG_BSP_USING_AUDIO is not set
|
||||
# CONFIG_BSP_USING_SDCARD is not set
|
||||
# end of Onboard 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_ADC is not set
|
||||
# CONFIG_BSP_USING_IRRX is not set
|
||||
# end of On-chip Peripheral Drivers
|
||||
|
||||
#
|
||||
# Board extended module Drivers
|
||||
#
|
||||
# end of Hardware Drivers Config
|
||||
|
||||
CONFIG_BOARD_BLUETRUM_EVB=y
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef 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 */
|
||||
|
||||
|
@ -21,7 +22,6 @@
|
|||
|
||||
/* kservice optimization */
|
||||
|
||||
/* end of kservice optimization */
|
||||
#define RT_DEBUG
|
||||
|
||||
/* Inter-Thread communication */
|
||||
|
@ -31,7 +31,6 @@
|
|||
#define RT_USING_EVENT
|
||||
#define RT_USING_MAILBOX
|
||||
#define RT_USING_MESSAGEQUEUE
|
||||
/* end of Inter-Thread communication */
|
||||
|
||||
/* Memory Management */
|
||||
|
||||
|
@ -39,7 +38,6 @@
|
|||
#define RT_USING_MEMHEAP
|
||||
#define RT_USING_SMALL_MEM
|
||||
#define RT_USING_HEAP
|
||||
/* end of Memory Management */
|
||||
|
||||
/* Kernel Device Object */
|
||||
|
||||
|
@ -48,9 +46,7 @@
|
|||
#define RT_USING_CONSOLE
|
||||
#define RT_CONSOLEBUF_SIZE 128
|
||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||
/* end of Kernel Device Object */
|
||||
#define RT_VER_NUM 0x40004
|
||||
/* end of RT-Thread Kernel */
|
||||
|
||||
/* RT-Thread Components */
|
||||
|
||||
|
@ -61,7 +57,6 @@
|
|||
|
||||
/* C++ features */
|
||||
|
||||
/* end of C++ features */
|
||||
|
||||
/* Command shell */
|
||||
|
||||
|
@ -78,11 +73,9 @@
|
|||
#define MSH_USING_BUILT_IN_COMMANDS
|
||||
#define FINSH_USING_DESCRIPTION
|
||||
#define FINSH_ARG_MAX 10
|
||||
/* end of Command shell */
|
||||
|
||||
/* Device virtual file system */
|
||||
|
||||
/* end of Device virtual file system */
|
||||
|
||||
/* Device Drivers */
|
||||
|
||||
|
@ -95,47 +88,34 @@
|
|||
|
||||
/* Using USB */
|
||||
|
||||
/* end of Using USB */
|
||||
/* end of Device Drivers */
|
||||
|
||||
/* POSIX layer and C standard library */
|
||||
|
||||
#define RT_USING_LIBC
|
||||
#define RT_LIBC_USING_TIME
|
||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||
/* end of POSIX layer and C standard library */
|
||||
|
||||
/* Network */
|
||||
|
||||
/* Socket abstraction layer */
|
||||
|
||||
/* end of Socket abstraction layer */
|
||||
|
||||
/* Network interface device */
|
||||
|
||||
/* end of Network interface device */
|
||||
|
||||
/* light weight TCP/IP stack */
|
||||
|
||||
/* end of light weight TCP/IP stack */
|
||||
|
||||
/* AT commands */
|
||||
|
||||
/* end of AT commands */
|
||||
/* end of Network */
|
||||
|
||||
/* VBUS(Virtual Software BUS) */
|
||||
|
||||
/* end of VBUS(Virtual Software BUS) */
|
||||
|
||||
/* Utilities */
|
||||
|
||||
/* end of Utilities */
|
||||
/* end of RT-Thread Components */
|
||||
|
||||
/* RT-Thread Utestcases */
|
||||
|
||||
/* end of RT-Thread Utestcases */
|
||||
|
||||
/* RT-Thread online packages */
|
||||
|
||||
|
@ -146,74 +126,53 @@
|
|||
|
||||
/* Marvell WiFi */
|
||||
|
||||
/* end of Marvell WiFi */
|
||||
|
||||
/* Wiced WiFi */
|
||||
|
||||
/* end of Wiced WiFi */
|
||||
/* end of Wi-Fi */
|
||||
|
||||
/* IoT Cloud */
|
||||
|
||||
/* end of IoT Cloud */
|
||||
/* end of IoT - internet of things */
|
||||
|
||||
/* security packages */
|
||||
|
||||
/* end of security packages */
|
||||
|
||||
/* language packages */
|
||||
|
||||
/* end of language 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 */
|
||||
|
||||
/* end of u8g2: a monochrome graphic library */
|
||||
/* end of multimedia packages */
|
||||
|
||||
/* tools packages */
|
||||
|
||||
/* end of tools packages */
|
||||
|
||||
/* system 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 */
|
||||
|
||||
/* end of Micrium: Micrium software products porting for RT-Thread */
|
||||
/* end of system packages */
|
||||
|
||||
/* peripheral libraries and drivers */
|
||||
|
||||
#define PKG_USING_BLUETRUM_SDK
|
||||
#define PKG_USING_BLUETRUM_SDK_LATEST_VERSION
|
||||
/* end of peripheral libraries and drivers */
|
||||
|
||||
/* AI packages */
|
||||
|
||||
/* end of AI packages */
|
||||
|
||||
/* miscellaneous packages */
|
||||
|
||||
/* samples: kernel and components samples */
|
||||
|
||||
/* end of samples: kernel and components samples */
|
||||
|
||||
/* entertainment: terminal games and other interesting software packages */
|
||||
|
||||
/* end of entertainment: terminal games and other interesting software packages */
|
||||
/* end of miscellaneous packages */
|
||||
/* end of RT-Thread online packages */
|
||||
|
||||
/* Hardware Drivers Config */
|
||||
|
||||
|
@ -221,18 +180,15 @@
|
|||
|
||||
/* Onboard Peripheral Drivers */
|
||||
|
||||
/* end of Onboard Peripheral Drivers */
|
||||
|
||||
/* On-chip Peripheral Drivers */
|
||||
|
||||
#define BSP_USING_UART
|
||||
#define BSP_USING_UART0
|
||||
#define BSP_UART0_FIFO_SIZE 10
|
||||
/* end of On-chip Peripheral Drivers */
|
||||
|
||||
/* Board extended module Drivers */
|
||||
|
||||
/* end of Hardware Drivers Config */
|
||||
#define BOARD_BLUETRUM_EVB
|
||||
|
||||
#endif
|
||||
|
|
|
@ -125,7 +125,6 @@
|
|||
/* POSIX layer and C standard library */
|
||||
|
||||
#define RT_USING_LIBC
|
||||
#define RT_USING_POSIX
|
||||
#define RT_LIBC_USING_TIME
|
||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||
/* 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
|
||||
#
|
||||
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_SMP is not set
|
||||
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_TINY_SIZE is not set
|
||||
# end of kservice optimization
|
||||
|
||||
# CONFIG_RT_USING_ASM_MEMCPY is not set
|
||||
CONFIG_RT_DEBUG=y
|
||||
# CONFIG_RT_DEBUG_COLOR 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_MESSAGEQUEUE=y
|
||||
# CONFIG_RT_USING_SIGNALS is not set
|
||||
# end of Inter-Thread communication
|
||||
|
||||
#
|
||||
# Memory Management
|
||||
|
@ -63,7 +65,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||
# CONFIG_RT_USING_USERHEAP is not set
|
||||
# CONFIG_RT_USING_MEMTRACE is not set
|
||||
CONFIG_RT_USING_HEAP=y
|
||||
# end of Memory Management
|
||||
|
||||
#
|
||||
# Kernel Device Object
|
||||
|
@ -75,10 +76,9 @@ CONFIG_RT_USING_CONSOLE=y
|
|||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||
# end of Kernel Device Object
|
||||
|
||||
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
|
||||
|
@ -92,7 +92,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||
# C++ features
|
||||
#
|
||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||
# end of C++ features
|
||||
|
||||
#
|
||||
# Command shell
|
||||
|
@ -112,13 +111,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||
# CONFIG_FINSH_USING_AUTH is not set
|
||||
CONFIG_FINSH_ARG_MAX=10
|
||||
# end of Command shell
|
||||
|
||||
#
|
||||
# Device virtual file system
|
||||
#
|
||||
# CONFIG_RT_USING_DFS is not set
|
||||
# end of Device virtual file system
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -158,20 +155,17 @@ CONFIG_RT_USING_PIN=y
|
|||
#
|
||||
# Using USB
|
||||
#
|
||||
# CONFIG_RT_USING_USB is not set
|
||||
# CONFIG_RT_USING_USB_HOST 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
|
||||
#
|
||||
CONFIG_RT_USING_LIBC=y
|
||||
# CONFIG_RT_USING_LIBC is not set
|
||||
# CONFIG_RT_USING_PTHREADS is not set
|
||||
CONFIG_RT_LIBC_USING_TIME=y
|
||||
# CONFIG_RT_USING_MODULE is not set
|
||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||
# end of POSIX layer and C standard library
|
||||
|
||||
#
|
||||
# Network
|
||||
|
@ -181,32 +175,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Socket abstraction layer
|
||||
#
|
||||
# CONFIG_RT_USING_SAL is not set
|
||||
# end of Socket abstraction layer
|
||||
|
||||
#
|
||||
# Network interface device
|
||||
#
|
||||
# CONFIG_RT_USING_NETDEV is not set
|
||||
# end of Network interface device
|
||||
|
||||
#
|
||||
# light weight TCP/IP stack
|
||||
#
|
||||
# CONFIG_RT_USING_LWIP is not set
|
||||
# end of light weight TCP/IP stack
|
||||
|
||||
#
|
||||
# AT commands
|
||||
#
|
||||
# CONFIG_RT_USING_AT is not set
|
||||
# end of AT commands
|
||||
# end of Network
|
||||
|
||||
#
|
||||
# VBUS(Virtual Software BUS)
|
||||
#
|
||||
# CONFIG_RT_USING_VBUS is not set
|
||||
# end of VBUS(Virtual Software BUS)
|
||||
|
||||
#
|
||||
# Utilities
|
||||
|
@ -216,14 +204,11 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_RT_USING_UTEST is not set
|
||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||
# CONFIG_RT_USING_RT_LINK is not set
|
||||
# end of Utilities
|
||||
# end of RT-Thread Components
|
||||
|
||||
#
|
||||
# RT-Thread Utestcases
|
||||
#
|
||||
# CONFIG_RT_USING_UTESTCASES is not set
|
||||
# end of RT-Thread Utestcases
|
||||
|
||||
#
|
||||
# RT-Thread online packages
|
||||
|
@ -258,17 +243,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Marvell WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||
# end of Marvell WiFi
|
||||
|
||||
#
|
||||
# Wiced WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||
# end of Wiced WiFi
|
||||
|
||||
# CONFIG_PKG_USING_RW007 is not set
|
||||
# end of Wi-Fi
|
||||
|
||||
# CONFIG_PKG_USING_COAP is not set
|
||||
# CONFIG_PKG_USING_NOPOLL 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_UCLOUD_IOT_SDK is not set
|
||||
# CONFIG_PKG_USING_JOYLINK is not set
|
||||
# end of IoT Cloud
|
||||
|
||||
# CONFIG_PKG_USING_NIMBLE is not set
|
||||
# CONFIG_PKG_USING_OTA_DOWNLOADER 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_PKT_SNIFFER is not set
|
||||
# CONFIG_PKG_USING_HM is not set
|
||||
# end of IoT - internet of things
|
||||
|
||||
#
|
||||
# security packages
|
||||
|
@ -335,7 +312,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||
# CONFIG_PKG_USING_TFM is not set
|
||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||
# end of security packages
|
||||
|
||||
#
|
||||
# language packages
|
||||
|
@ -344,22 +320,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||
# end of language 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_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_TJPGD 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 is not set
|
||||
# end of u8g2: a monochrome graphic library
|
||||
# end of multimedia packages
|
||||
|
||||
#
|
||||
# tools packages
|
||||
|
@ -420,7 +391,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||
# end of tools 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_TINY 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
|
||||
|
@ -444,8 +413,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_UC_CLK is not set
|
||||
# CONFIG_PKG_USING_UC_COMMON 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_CAIRO 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_MCUBOOT is not set
|
||||
# CONFIG_PKG_USING_TINYUSB is not set
|
||||
# end of system packages
|
||||
|
||||
#
|
||||
# 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_BL_MCU_SDK 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
|
||||
|
@ -569,7 +535,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_ULAPACK is not set
|
||||
# CONFIG_PKG_USING_QUEST is not set
|
||||
# CONFIG_PKG_USING_NAXOS is not set
|
||||
# end of AI packages
|
||||
|
||||
#
|
||||
# miscellaneous packages
|
||||
|
@ -582,7 +547,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||
# CONFIG_PKG_USING_NETWORK_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
|
||||
|
@ -596,8 +560,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_SNAKE is not set
|
||||
# CONFIG_PKG_USING_TETRIS 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_OPTPARSE 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_COWSAY is not set
|
||||
# CONFIG_PKG_USING_TERMBOX is not set
|
||||
# end of miscellaneous packages
|
||||
# end of RT-Thread online packages
|
||||
|
||||
#
|
||||
# Hardware Drivers Config
|
||||
|
@ -639,7 +599,6 @@ CONFIG_SOC_GD32VF103V=y
|
|||
# Onboard Peripheral Drivers
|
||||
#
|
||||
CONFIG_BSP_USING_USART=y
|
||||
# end of Onboard Peripheral Drivers
|
||||
|
||||
#
|
||||
# On-chip Peripheral Drivers
|
||||
|
@ -647,11 +606,8 @@ CONFIG_BSP_USING_USART=y
|
|||
CONFIG_BSP_USING_GPIO=y
|
||||
CONFIG_BSP_USING_UART=y
|
||||
CONFIG_BSP_USING_UART0=y
|
||||
# end of On-chip Peripheral Drivers
|
||||
|
||||
#
|
||||
# Board extended module Drivers
|
||||
#
|
||||
# end of Hardware Drivers Config
|
||||
|
||||
CONFIG_SOC_GD32VF103=y
|
||||
|
|
|
@ -13,6 +13,4 @@ for d in list:
|
|||
if os.path.isfile(os.path.join(path, 'SConscript')):
|
||||
objs = objs + SConscript(os.path.join(d, 'SConscript'))
|
||||
|
||||
group = DefineGroup('', src, depend = [''], CPPPATH = [])
|
||||
#objs += group
|
||||
Return('objs')
|
||||
|
|
|
@ -15,11 +15,8 @@ src += ['GD32VF103_standard_peripheral/system_gd32vf103.c',
|
|||
|
||||
CPPPATH = [ cwd + '/GD32VF103_standard_peripheral/Include',
|
||||
cwd + '/GD32VF103_standard_peripheral',
|
||||
cwd + '/n22/drivers',
|
||||
cwd + '/n22/stubs']
|
||||
cwd + '/n22/drivers']
|
||||
|
||||
CPPDEFINES = []
|
||||
|
||||
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
|
||||
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = CPPPATH)
|
||||
|
||||
Return('group')
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
//See LICENSE for license details.
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "riscv_encoding.h"
|
||||
#include "n22_func.h"
|
||||
#include <rtthread.h>
|
||||
|
||||
__attribute__((weak)) uintptr_t handle_nmi() {
|
||||
write(1, "nmi\n", 5);
|
||||
_exit(1);
|
||||
rt_kprintf("nmi\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,7 @@ __attribute__((weak)) uintptr_t handle_trap(uintptr_t mcause, uintptr_t sp) {
|
|||
if (mcause == 0xFFF) {
|
||||
handle_nmi();
|
||||
}
|
||||
write(1, "trap\n", 5);
|
||||
_exit(mcause);
|
||||
rt_kprintf("trap\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -241,7 +241,7 @@ _start0800:
|
|||
li a0, 0
|
||||
li a1, 0
|
||||
call entry
|
||||
tail exit
|
||||
/* tail exit */
|
||||
|
||||
1:
|
||||
j 1b
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef 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 */
|
||||
|
||||
|
@ -21,7 +22,6 @@
|
|||
|
||||
/* kservice optimization */
|
||||
|
||||
/* end of kservice optimization */
|
||||
#define RT_DEBUG
|
||||
|
||||
/* Inter-Thread communication */
|
||||
|
@ -31,14 +31,12 @@
|
|||
#define RT_USING_EVENT
|
||||
#define RT_USING_MAILBOX
|
||||
#define RT_USING_MESSAGEQUEUE
|
||||
/* end of Inter-Thread communication */
|
||||
|
||||
/* Memory Management */
|
||||
|
||||
#define RT_USING_MEMPOOL
|
||||
#define RT_USING_SMALL_MEM
|
||||
#define RT_USING_HEAP
|
||||
/* end of Memory Management */
|
||||
|
||||
/* Kernel Device Object */
|
||||
|
||||
|
@ -46,9 +44,7 @@
|
|||
#define RT_USING_CONSOLE
|
||||
#define RT_CONSOLEBUF_SIZE 128
|
||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||
/* end of Kernel Device Object */
|
||||
#define RT_VER_NUM 0x40004
|
||||
/* end of RT-Thread Kernel */
|
||||
|
||||
/* RT-Thread Components */
|
||||
|
||||
|
@ -59,7 +55,6 @@
|
|||
|
||||
/* C++ features */
|
||||
|
||||
/* end of C++ features */
|
||||
|
||||
/* Command shell */
|
||||
|
||||
|
@ -76,11 +71,9 @@
|
|||
#define MSH_USING_BUILT_IN_COMMANDS
|
||||
#define FINSH_USING_DESCRIPTION
|
||||
#define FINSH_ARG_MAX 10
|
||||
/* end of Command shell */
|
||||
|
||||
/* Device virtual file system */
|
||||
|
||||
/* end of Device virtual file system */
|
||||
|
||||
/* Device Drivers */
|
||||
|
||||
|
@ -93,47 +86,34 @@
|
|||
|
||||
/* Using USB */
|
||||
|
||||
/* end of Using USB */
|
||||
/* end of Device Drivers */
|
||||
|
||||
/* POSIX layer and C standard library */
|
||||
|
||||
#define RT_USING_LIBC
|
||||
#define RT_LIBC_USING_TIME
|
||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||
/* end of POSIX layer and C standard library */
|
||||
|
||||
/* Network */
|
||||
|
||||
/* Socket abstraction layer */
|
||||
|
||||
/* end of Socket abstraction layer */
|
||||
|
||||
/* Network interface device */
|
||||
|
||||
/* end of Network interface device */
|
||||
|
||||
/* light weight TCP/IP stack */
|
||||
|
||||
/* end of light weight TCP/IP stack */
|
||||
|
||||
/* AT commands */
|
||||
|
||||
/* end of AT commands */
|
||||
/* end of Network */
|
||||
|
||||
/* VBUS(Virtual Software BUS) */
|
||||
|
||||
/* end of VBUS(Virtual Software BUS) */
|
||||
|
||||
/* Utilities */
|
||||
|
||||
/* end of Utilities */
|
||||
/* end of RT-Thread Components */
|
||||
|
||||
/* RT-Thread Utestcases */
|
||||
|
||||
/* end of RT-Thread Utestcases */
|
||||
|
||||
/* RT-Thread online packages */
|
||||
|
||||
|
@ -144,72 +124,51 @@
|
|||
|
||||
/* Marvell WiFi */
|
||||
|
||||
/* end of Marvell WiFi */
|
||||
|
||||
/* Wiced WiFi */
|
||||
|
||||
/* end of Wiced WiFi */
|
||||
/* end of Wi-Fi */
|
||||
|
||||
/* IoT Cloud */
|
||||
|
||||
/* end of IoT Cloud */
|
||||
/* end of IoT - internet of things */
|
||||
|
||||
/* security packages */
|
||||
|
||||
/* end of security packages */
|
||||
|
||||
/* language packages */
|
||||
|
||||
/* end of language 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 */
|
||||
|
||||
/* end of u8g2: a monochrome graphic library */
|
||||
/* end of multimedia packages */
|
||||
|
||||
/* tools packages */
|
||||
|
||||
/* end of tools packages */
|
||||
|
||||
/* system 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 */
|
||||
|
||||
/* end of Micrium: Micrium software products porting for RT-Thread */
|
||||
/* end of system packages */
|
||||
|
||||
/* peripheral libraries and drivers */
|
||||
|
||||
/* end of peripheral libraries and drivers */
|
||||
|
||||
/* AI packages */
|
||||
|
||||
/* end of AI packages */
|
||||
|
||||
/* miscellaneous packages */
|
||||
|
||||
/* samples: kernel and components samples */
|
||||
|
||||
/* end of samples: kernel and components samples */
|
||||
|
||||
/* entertainment: terminal games and other interesting software packages */
|
||||
|
||||
/* end of entertainment: terminal games and other interesting software packages */
|
||||
/* end of miscellaneous packages */
|
||||
/* end of RT-Thread online packages */
|
||||
|
||||
/* Hardware Drivers Config */
|
||||
|
||||
|
@ -218,18 +177,15 @@
|
|||
/* Onboard Peripheral Drivers */
|
||||
|
||||
#define BSP_USING_USART
|
||||
/* end of Onboard Peripheral Drivers */
|
||||
|
||||
/* On-chip Peripheral Drivers */
|
||||
|
||||
#define BSP_USING_GPIO
|
||||
#define BSP_USING_UART
|
||||
#define BSP_USING_UART0
|
||||
/* end of On-chip Peripheral Drivers */
|
||||
|
||||
/* Board extended module Drivers */
|
||||
|
||||
/* end of Hardware Drivers Config */
|
||||
#define SOC_GD32VF103
|
||||
|
||||
#endif
|
||||
|
|
|
@ -119,7 +119,7 @@ void rtthread_startup(void)
|
|||
#ifdef RT_USING_FINSH
|
||||
/* init finsh */
|
||||
finsh_system_init();
|
||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
||||
#if !defined(RT_LIBC_USING_FILEIO) && defined(RT_USING_DEVICE)
|
||||
finsh_set_device("uart1");
|
||||
#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
|
||||
#
|
||||
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_SMP is not set
|
||||
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_TINY_SIZE is not set
|
||||
# end of kservice optimization
|
||||
|
||||
# CONFIG_RT_USING_ASM_MEMCPY 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_MESSAGEQUEUE=y
|
||||
# CONFIG_RT_USING_SIGNALS is not set
|
||||
# end of Inter-Thread communication
|
||||
|
||||
#
|
||||
# Memory Management
|
||||
|
@ -49,7 +51,6 @@ CONFIG_RT_USING_SMALL_MEM=y
|
|||
# CONFIG_RT_USING_USERHEAP is not set
|
||||
# CONFIG_RT_USING_MEMTRACE is not set
|
||||
CONFIG_RT_USING_HEAP=y
|
||||
# end of Memory Management
|
||||
|
||||
#
|
||||
# Kernel Device Object
|
||||
|
@ -61,14 +62,12 @@ CONFIG_RT_USING_CONSOLE=y
|
|||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
|
||||
# CONFIG_RT_PRINTF_LONGLONG is not set
|
||||
# end of Kernel Device Object
|
||||
|
||||
CONFIG_RT_VER_NUM=0x40004
|
||||
# end of RT-Thread Kernel
|
||||
|
||||
CONFIG_ARCH_ARM=y
|
||||
# CONFIG_RT_USING_CPU_FFS is not set
|
||||
CONFIG_ARCH_ARM_CORTEX_M=y
|
||||
CONFIG_ARCH_ARM_CORTEX_M0=y
|
||||
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
|
||||
|
||||
#
|
||||
# RT-Thread Components
|
||||
|
@ -82,7 +81,6 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
|||
# C++ features
|
||||
#
|
||||
# CONFIG_RT_USING_CPLUSPLUS is not set
|
||||
# end of C++ features
|
||||
|
||||
#
|
||||
# Command shell
|
||||
|
@ -102,13 +100,11 @@ CONFIG_FINSH_USING_DESCRIPTION=y
|
|||
# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
|
||||
# CONFIG_FINSH_USING_AUTH is not set
|
||||
CONFIG_FINSH_ARG_MAX=10
|
||||
# end of Command shell
|
||||
|
||||
#
|
||||
# Device virtual file system
|
||||
#
|
||||
# CONFIG_RT_USING_DFS is not set
|
||||
# end of Device virtual file system
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -148,20 +144,17 @@ CONFIG_RT_USING_PIN=y
|
|||
#
|
||||
# Using USB
|
||||
#
|
||||
# CONFIG_RT_USING_USB is not set
|
||||
# CONFIG_RT_USING_USB_HOST 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
|
||||
#
|
||||
CONFIG_RT_USING_LIBC=y
|
||||
# CONFIG_RT_USING_LIBC is not set
|
||||
# CONFIG_RT_USING_PTHREADS is not set
|
||||
CONFIG_RT_LIBC_USING_TIME=y
|
||||
# CONFIG_RT_USING_MODULE is not set
|
||||
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||
# end of POSIX layer and C standard library
|
||||
|
||||
#
|
||||
# Network
|
||||
|
@ -171,32 +164,26 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Socket abstraction layer
|
||||
#
|
||||
# CONFIG_RT_USING_SAL is not set
|
||||
# end of Socket abstraction layer
|
||||
|
||||
#
|
||||
# Network interface device
|
||||
#
|
||||
# CONFIG_RT_USING_NETDEV is not set
|
||||
# end of Network interface device
|
||||
|
||||
#
|
||||
# light weight TCP/IP stack
|
||||
#
|
||||
# CONFIG_RT_USING_LWIP is not set
|
||||
# end of light weight TCP/IP stack
|
||||
|
||||
#
|
||||
# AT commands
|
||||
#
|
||||
# CONFIG_RT_USING_AT is not set
|
||||
# end of AT commands
|
||||
# end of Network
|
||||
|
||||
#
|
||||
# VBUS(Virtual Software BUS)
|
||||
#
|
||||
# CONFIG_RT_USING_VBUS is not set
|
||||
# end of VBUS(Virtual Software BUS)
|
||||
|
||||
#
|
||||
# Utilities
|
||||
|
@ -206,16 +193,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_RT_USING_UTEST is not set
|
||||
# CONFIG_RT_USING_VAR_EXPORT is not set
|
||||
# CONFIG_RT_USING_RT_LINK is not set
|
||||
# end of Utilities
|
||||
|
||||
# CONFIG_RT_USING_LWP is not set
|
||||
# end of RT-Thread Components
|
||||
|
||||
#
|
||||
# RT-Thread Utestcases
|
||||
#
|
||||
# CONFIG_RT_USING_UTESTCASES is not set
|
||||
# end of RT-Thread Utestcases
|
||||
|
||||
#
|
||||
# RT-Thread online packages
|
||||
|
@ -250,17 +233,12 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# Marvell WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLANMARVELL is not set
|
||||
# end of Marvell WiFi
|
||||
|
||||
#
|
||||
# Wiced WiFi
|
||||
#
|
||||
# CONFIG_PKG_USING_WLAN_WICED is not set
|
||||
# end of Wiced WiFi
|
||||
|
||||
# CONFIG_PKG_USING_RW007 is not set
|
||||
# end of Wi-Fi
|
||||
|
||||
# CONFIG_PKG_USING_COAP is not set
|
||||
# CONFIG_PKG_USING_NOPOLL 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_UCLOUD_IOT_SDK is not set
|
||||
# CONFIG_PKG_USING_JOYLINK is not set
|
||||
# end of IoT Cloud
|
||||
|
||||
# CONFIG_PKG_USING_NIMBLE is not set
|
||||
# CONFIG_PKG_USING_OTA_DOWNLOADER 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_PKT_SNIFFER is not set
|
||||
# CONFIG_PKG_USING_HM is not set
|
||||
# end of IoT - internet of things
|
||||
|
||||
#
|
||||
# security packages
|
||||
|
@ -327,7 +302,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_TINYCRYPT is not set
|
||||
# CONFIG_PKG_USING_TFM is not set
|
||||
# CONFIG_PKG_USING_YD_CRYPTO is not set
|
||||
# end of security packages
|
||||
|
||||
#
|
||||
# language packages
|
||||
|
@ -336,22 +310,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_JERRYSCRIPT is not set
|
||||
# CONFIG_PKG_USING_MICROPYTHON is not set
|
||||
# CONFIG_PKG_USING_PIKASCRIPT is not set
|
||||
# end of language 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_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_TJPGD 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 is not set
|
||||
# end of u8g2: a monochrome graphic library
|
||||
# end of multimedia packages
|
||||
|
||||
#
|
||||
# tools packages
|
||||
|
@ -412,7 +381,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_MEM_SANDBOX is not set
|
||||
# CONFIG_PKG_USING_SOLAR_TERMS is not set
|
||||
# CONFIG_PKG_USING_GAN_ZHI is not set
|
||||
# end of tools 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_TINY 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
|
||||
|
@ -436,8 +403,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_UC_CLK is not set
|
||||
# CONFIG_PKG_USING_UC_COMMON 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_CAIRO 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_MCUBOOT is not set
|
||||
# CONFIG_PKG_USING_TINYUSB is not set
|
||||
# end of system packages
|
||||
|
||||
#
|
||||
# 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_BL_MCU_SDK 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
|
||||
|
@ -561,7 +525,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_ULAPACK is not set
|
||||
# CONFIG_PKG_USING_QUEST is not set
|
||||
# CONFIG_PKG_USING_NAXOS is not set
|
||||
# end of AI packages
|
||||
|
||||
#
|
||||
# miscellaneous packages
|
||||
|
@ -574,7 +537,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
|
||||
# CONFIG_PKG_USING_NETWORK_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
|
||||
|
@ -588,8 +550,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
|||
# CONFIG_PKG_USING_SNAKE is not set
|
||||
# CONFIG_PKG_USING_TETRIS 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_OPTPARSE 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_COWSAY is not set
|
||||
# CONFIG_PKG_USING_TERMBOX is not set
|
||||
# end of miscellaneous packages
|
||||
# end of RT-Thread online packages
|
||||
|
||||
CONFIG_SOC_LPC1114=y
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef 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 */
|
||||
|
||||
|
@ -14,7 +15,6 @@
|
|||
|
||||
/* kservice optimization */
|
||||
|
||||
/* end of kservice optimization */
|
||||
|
||||
/* Inter-Thread communication */
|
||||
|
||||
|
@ -23,14 +23,12 @@
|
|||
#define RT_USING_EVENT
|
||||
#define RT_USING_MAILBOX
|
||||
#define RT_USING_MESSAGEQUEUE
|
||||
/* end of Inter-Thread communication */
|
||||
|
||||
/* Memory Management */
|
||||
|
||||
#define RT_USING_MEMPOOL
|
||||
#define RT_USING_SMALL_MEM
|
||||
#define RT_USING_HEAP
|
||||
/* end of Memory Management */
|
||||
|
||||
/* Kernel Device Object */
|
||||
|
||||
|
@ -38,9 +36,7 @@
|
|||
#define RT_USING_CONSOLE
|
||||
#define RT_CONSOLEBUF_SIZE 128
|
||||
#define RT_CONSOLE_DEVICE_NAME "uart"
|
||||
/* end of Kernel Device Object */
|
||||
#define RT_VER_NUM 0x40004
|
||||
/* end of RT-Thread Kernel */
|
||||
#define ARCH_ARM
|
||||
#define ARCH_ARM_CORTEX_M
|
||||
#define ARCH_ARM_CORTEX_M0
|
||||
|
@ -54,7 +50,6 @@
|
|||
|
||||
/* C++ features */
|
||||
|
||||
/* end of C++ features */
|
||||
|
||||
/* Command shell */
|
||||
|
||||
|
@ -71,11 +66,9 @@
|
|||
#define MSH_USING_BUILT_IN_COMMANDS
|
||||
#define FINSH_USING_DESCRIPTION
|
||||
#define FINSH_ARG_MAX 10
|
||||
/* end of Command shell */
|
||||
|
||||
/* Device virtual file system */
|
||||
|
||||
/* end of Device virtual file system */
|
||||
|
||||
/* Device Drivers */
|
||||
|
||||
|
@ -88,47 +81,34 @@
|
|||
|
||||
/* Using USB */
|
||||
|
||||
/* end of Using USB */
|
||||
/* end of Device Drivers */
|
||||
|
||||
/* POSIX layer and C standard library */
|
||||
|
||||
#define RT_USING_LIBC
|
||||
#define RT_LIBC_USING_TIME
|
||||
#define RT_LIBC_DEFAULT_TIMEZONE 8
|
||||
/* end of POSIX layer and C standard library */
|
||||
|
||||
/* Network */
|
||||
|
||||
/* Socket abstraction layer */
|
||||
|
||||
/* end of Socket abstraction layer */
|
||||
|
||||
/* Network interface device */
|
||||
|
||||
/* end of Network interface device */
|
||||
|
||||
/* light weight TCP/IP stack */
|
||||
|
||||
/* end of light weight TCP/IP stack */
|
||||
|
||||
/* AT commands */
|
||||
|
||||
/* end of AT commands */
|
||||
/* end of Network */
|
||||
|
||||
/* VBUS(Virtual Software BUS) */
|
||||
|
||||
/* end of VBUS(Virtual Software BUS) */
|
||||
|
||||
/* Utilities */
|
||||
|
||||
/* end of Utilities */
|
||||
/* end of RT-Thread Components */
|
||||
|
||||
/* RT-Thread Utestcases */
|
||||
|
||||
/* end of RT-Thread Utestcases */
|
||||
|
||||
/* RT-Thread online packages */
|
||||
|
||||
|
@ -139,72 +119,51 @@
|
|||
|
||||
/* Marvell WiFi */
|
||||
|
||||
/* end of Marvell WiFi */
|
||||
|
||||
/* Wiced WiFi */
|
||||
|
||||
/* end of Wiced WiFi */
|
||||
/* end of Wi-Fi */
|
||||
|
||||
/* IoT Cloud */
|
||||
|
||||
/* end of IoT Cloud */
|
||||
/* end of IoT - internet of things */
|
||||
|
||||
/* security packages */
|
||||
|
||||
/* end of security packages */
|
||||
|
||||
/* language packages */
|
||||
|
||||
/* end of language 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 */
|
||||
|
||||
/* end of u8g2: a monochrome graphic library */
|
||||
/* end of multimedia packages */
|
||||
|
||||
/* tools packages */
|
||||
|
||||
/* end of tools packages */
|
||||
|
||||
/* system 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 */
|
||||
|
||||
/* end of Micrium: Micrium software products porting for RT-Thread */
|
||||
/* end of system packages */
|
||||
|
||||
/* peripheral libraries and drivers */
|
||||
|
||||
/* end of peripheral libraries and drivers */
|
||||
|
||||
/* AI packages */
|
||||
|
||||
/* end of AI packages */
|
||||
|
||||
/* miscellaneous packages */
|
||||
|
||||
/* samples: kernel and components samples */
|
||||
|
||||
/* end of samples: kernel and components samples */
|
||||
|
||||
/* entertainment: terminal games and other interesting software packages */
|
||||
|
||||
/* end of entertainment: terminal games and other interesting software packages */
|
||||
/* end of miscellaneous packages */
|
||||
/* end of RT-Thread online packages */
|
||||
#define SOC_LPC1114
|
||||
|
||||
#endif
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include <lwp.h>
|
||||
#endif
|
||||
|
||||
#ifdef RT_USING_LIBC
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
#include <libc.h>
|
||||
#endif
|
||||
|
||||
|
@ -216,7 +216,7 @@ struct dfs_fd *fd_get(int fd)
|
|||
struct dfs_fd *d;
|
||||
struct dfs_fdtable *fdt;
|
||||
|
||||
#ifdef RT_USING_LIBC
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
if ((0 <= fd) && (fd <= 2))
|
||||
fd = libc_stdio_get_console();
|
||||
#endif
|
||||
|
|
|
@ -145,7 +145,7 @@ void finsh_set_prompt_mode(rt_uint32_t prompt_mode)
|
|||
int finsh_getchar(void)
|
||||
{
|
||||
#ifdef RT_USING_DEVICE
|
||||
#ifdef RT_USING_LIBC
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
return getchar();
|
||||
#else
|
||||
char ch = 0;
|
||||
|
@ -163,14 +163,14 @@ int finsh_getchar(void)
|
|||
rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER);
|
||||
|
||||
return ch;
|
||||
#endif /* RT_USING_LIBC */
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
#else
|
||||
extern char rt_hw_console_getchar(void);
|
||||
return rt_hw_console_getchar();
|
||||
#endif /* RT_USING_DEVICE */
|
||||
}
|
||||
|
||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
||||
#if !defined(RT_LIBC_USING_FILEIO) && defined(RT_USING_DEVICE)
|
||||
static rt_err_t finsh_rx_ind(rt_device_t dev, rt_size_t size)
|
||||
{
|
||||
RT_ASSERT(shell != RT_NULL);
|
||||
|
@ -436,7 +436,7 @@ void finsh_thread_entry(void *parameter)
|
|||
shell->echo_mode = 0;
|
||||
#endif
|
||||
|
||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
||||
#if !defined(RT_LIBC_USING_FILEIO) && defined(RT_USING_DEVICE)
|
||||
/* set console device as shell device */
|
||||
if (shell->device == RT_NULL)
|
||||
{
|
||||
|
|
|
@ -78,7 +78,7 @@ struct finsh_shell
|
|||
rt_uint16_t line_position;
|
||||
rt_uint16_t line_curpos;
|
||||
|
||||
#if !defined(RT_USING_LIBC) && defined(RT_USING_DEVICE)
|
||||
#if !defined(RT_LIBC_USING_FILEIO) && defined(RT_USING_DEVICE)
|
||||
rt_device_t device;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2,18 +2,49 @@ menu "POSIX layer and C standard library"
|
|||
|
||||
config RT_USING_LIBC
|
||||
bool "Enable libc APIs from toolchain"
|
||||
select RT_USING_DFS
|
||||
select RT_USING_POSIX
|
||||
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
|
||||
bool "Enable pthreads APIs"
|
||||
default n
|
||||
|
||||
if RT_USING_PTHREADS
|
||||
config PTHREAD_NUM_MAX
|
||||
int "Maximum number of pthreads"
|
||||
default 8
|
||||
int "Maximum number of pthreads"
|
||||
default 8
|
||||
endif
|
||||
|
||||
if RT_USING_DFS
|
||||
|
@ -42,32 +73,4 @@ if RT_USING_DFS
|
|||
|
||||
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
|
||||
|
|
|
@ -8,9 +8,6 @@ group = []
|
|||
CPPPATH = [cwd]
|
||||
CPPDEFINES = ['RT_USING_ARM_LIBC']
|
||||
|
||||
if GetDepend('RT_USING_DFS') == False:
|
||||
SrcRemove(src, ['stdio.c'])
|
||||
|
||||
if GetDepend('RT_USING_MODULE') == False:
|
||||
SrcRemove(src, ['libc_syms.c'])
|
||||
|
||||
|
|
|
@ -7,29 +7,24 @@
|
|||
* Date Author Notes
|
||||
* 2017/10/15 bernard the first version
|
||||
*/
|
||||
#include <fcntl.h>
|
||||
#include <rtthread.h>
|
||||
#include <fcntl.h>
|
||||
#include "libc.h"
|
||||
|
||||
#ifdef RT_USING_PTHREADS
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
int libc_system_init(void)
|
||||
{
|
||||
#if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS)
|
||||
#ifdef RT_USING_POSIX
|
||||
rt_device_t dev_console;
|
||||
|
||||
dev_console = rt_console_get_device();
|
||||
if (dev_console)
|
||||
{
|
||||
#if defined(RT_USING_POSIX)
|
||||
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
|
||||
pthread_system_init();
|
||||
|
|
|
@ -10,13 +10,17 @@
|
|||
#ifndef __RTT_LIBC_H__
|
||||
#define __RTT_LIBC_H__
|
||||
|
||||
#include <rtconfig.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int libc_system_init(void);
|
||||
#ifdef RT_USING_POSIX
|
||||
int libc_stdio_get_console(void);
|
||||
int libc_stdio_set_console(const char* device_name, int mode);
|
||||
#endif /* RT_USING_POSIX */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -7,16 +7,17 @@
|
|||
* Date Author Notes
|
||||
* 2017/10/15 bernard implement stdio for armcc.
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
|
||||
#ifdef RT_USING_POSIX
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rtthread.h>
|
||||
#include "libc.h"
|
||||
|
||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
||||
#include <dfs_posix.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define STDIO_DEVICE_NAME_MAX 32
|
||||
|
||||
|
@ -48,4 +49,4 @@ int libc_stdio_get_console(void)
|
|||
return std_fd;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif /* RT_USING_POSIX */
|
||||
|
|
|
@ -14,16 +14,15 @@
|
|||
* 2020-02-13 Meco Man re-implement exit() and abort()
|
||||
* 2020-02-14 Meco Man implement _sys_tmpnam()
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <rt_sys.h>
|
||||
|
||||
#include <rtthread.h>
|
||||
#include "libc.h"
|
||||
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#define DBG_TAG "armlibc.syscalls"
|
||||
#define DBG_LVL DBG_INFO
|
||||
|
@ -55,7 +54,7 @@ const char __stderr_name[] = "STDERR";
|
|||
*/
|
||||
FILEHANDLE _sys_open(const char *name, int openmode)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int fd;
|
||||
int mode = O_RDONLY;
|
||||
#endif
|
||||
|
@ -68,8 +67,8 @@ FILEHANDLE _sys_open(const char *name, int openmode)
|
|||
if (strcmp(name, __stderr_name) == 0)
|
||||
return (STDERR);
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return -1;
|
||||
#ifndef RT_LIBC_USING_FILEIO
|
||||
return 0; /* error */
|
||||
#else
|
||||
/* Correct openmode from fopen to open */
|
||||
if (openmode & OPEN_PLUS)
|
||||
|
@ -99,21 +98,22 @@ FILEHANDLE _sys_open(const char *name, int openmode)
|
|||
|
||||
fd = open(name, mode, 0);
|
||||
if (fd < 0)
|
||||
return -1;
|
||||
return 0; /* error */
|
||||
else
|
||||
return fd;
|
||||
#endif
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
||||
int _sys_close(FILEHANDLE fh)
|
||||
{
|
||||
#ifndef RT_USING_DFS
|
||||
return 0;
|
||||
#else
|
||||
if (fh <= STDERR) return 0;
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
if (fh <= STDERR)
|
||||
return 0; /* error */
|
||||
|
||||
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)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int size;
|
||||
#endif
|
||||
|
||||
if (fh == STDIN)
|
||||
{
|
||||
#ifdef RT_USING_POSIX
|
||||
if (libc_stdio_get_console() < 0)
|
||||
{
|
||||
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);
|
||||
return len - size;
|
||||
#else
|
||||
/* no stdin */
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
else if ((fh == STDOUT) || (fh == STDERR))
|
||||
{
|
||||
return -1;
|
||||
return 0; /* error */
|
||||
}
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return 0;
|
||||
#else
|
||||
size = read(fh, buf, len);
|
||||
if (size >= 0)
|
||||
return len - size;
|
||||
else
|
||||
return -1;
|
||||
#endif
|
||||
return 0; /* error */
|
||||
#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)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int size;
|
||||
#endif
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
|
||||
if ((fh == STDOUT) || (fh == STDERR))
|
||||
{
|
||||
#if !defined(RT_USING_CONSOLE) || !defined(RT_USING_DEVICE)
|
||||
return 0;
|
||||
#else
|
||||
#ifdef RT_USING_POSIX
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
if (libc_stdio_get_console() < 0)
|
||||
{
|
||||
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);
|
||||
return len - size;
|
||||
#else
|
||||
#elif defined(RT_USING_CONSOLE)
|
||||
if (rt_console_get_device())
|
||||
{
|
||||
rt_device_write(rt_console_get_device(), -1, buf, len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
#endif
|
||||
#endif
|
||||
return 0; /* error */
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
else if (fh == STDIN)
|
||||
{
|
||||
return -1;
|
||||
return 0; /* error */
|
||||
}
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return 0;
|
||||
#else
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
size = write(fh, buf, len);
|
||||
if (size >= 0)
|
||||
return len - size;
|
||||
else
|
||||
return -1;
|
||||
#endif
|
||||
return 0; /* error */
|
||||
#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)
|
||||
{
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
if (fh < STDERR)
|
||||
return -1;
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return -1;
|
||||
#else
|
||||
return 0; /* error */
|
||||
|
||||
/* position is relative to the start of file fh */
|
||||
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;
|
||||
rt_kprintf(&c);
|
||||
#endif
|
||||
#endif /* RT_USING_CONSOLE */
|
||||
}
|
||||
|
||||
/* for exit() and abort() */
|
||||
|
@ -289,17 +276,17 @@ RT_WEAK void _sys_exit(int return_code)
|
|||
*/
|
||||
long _sys_flen(FILEHANDLE fh)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
struct stat stat;
|
||||
|
||||
if (fh < STDERR)
|
||||
return -1;
|
||||
return 0; /* error */
|
||||
|
||||
fstat(fh, &stat);
|
||||
return stat.st_size;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
return 0;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
||||
int _sys_istty(FILEHANDLE fh)
|
||||
|
@ -312,11 +299,11 @@ int _sys_istty(FILEHANDLE fh)
|
|||
|
||||
int remove(const char *filename)
|
||||
{
|
||||
#ifndef RT_USING_DFS
|
||||
return -1;
|
||||
#else
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
return unlink(filename);
|
||||
#endif
|
||||
#else
|
||||
return 0; /* error */
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
||||
#ifdef __MICROLIB
|
||||
|
@ -324,28 +311,32 @@ int remove(const char *filename)
|
|||
|
||||
int fputc(int c, FILE *f)
|
||||
{
|
||||
#ifdef RT_USING_CONSOLE
|
||||
char ch[2] = {0};
|
||||
|
||||
ch[0] = c;
|
||||
rt_kprintf(&ch[0]);
|
||||
return 1;
|
||||
#else
|
||||
return 0; /* error */
|
||||
#endif /* RT_USING_CONSOLE */
|
||||
}
|
||||
|
||||
int fgetc(FILE *f)
|
||||
{
|
||||
#ifdef RT_USING_POSIX
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
char ch;
|
||||
|
||||
if (libc_stdio_get_console() < 0)
|
||||
{
|
||||
LOG_W("Do not invoke standard output before initializing libc");
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(read(STDIN_FILENO, &ch, 1) == 1)
|
||||
return ch;
|
||||
#endif
|
||||
|
||||
return -1;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
return 0; /* error */
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MICROLIB */
|
||||
|
|
|
@ -11,7 +11,7 @@ CPPDEFINES = []
|
|||
if GetDepend('RT_USING_LIBC'):
|
||||
src += Glob('*.c')
|
||||
elif GetDepend('RT_LIBC_USING_TIME'):
|
||||
src += Glob('time.c')
|
||||
src += ['time.c']
|
||||
|
||||
if rtconfig.CROSS_TOOL == 'keil':
|
||||
CPPDEFINES += ['__CLK_TCK=RT_TICK_PER_SECOND']
|
||||
|
|
|
@ -11,7 +11,7 @@ CPPDEFINES = ['RT_USING_DLIBC']
|
|||
|
||||
if rtconfig.PLATFORM == 'iar':
|
||||
|
||||
if GetDepend('RT_USING_DFS'):
|
||||
if GetDepend('RT_LIBC_USING_FILEIO'):
|
||||
from distutils.version import LooseVersion
|
||||
from iar import IARVersion
|
||||
|
||||
|
@ -20,7 +20,6 @@ if rtconfig.PLATFORM == 'iar':
|
|||
if LooseVersion(IARVersion()) < LooseVersion("8.20.1"):
|
||||
CPPDEFINES = CPPDEFINES + ['_DLIB_THREAD_SUPPORT']
|
||||
|
||||
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
|
||||
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
||||
group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
|
||||
|
||||
Return('group')
|
||||
|
|
|
@ -7,29 +7,24 @@
|
|||
* Date Author Notes
|
||||
* 2017/10/15 bernard the first version
|
||||
*/
|
||||
#include <fcntl.h>
|
||||
#include <rtthread.h>
|
||||
#include <fcntl.h>
|
||||
#include "libc.h"
|
||||
|
||||
#ifdef RT_USING_PTHREADS
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
int libc_system_init(void)
|
||||
{
|
||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
||||
#ifdef RT_USING_POSIX
|
||||
rt_device_t dev_console;
|
||||
|
||||
dev_console = rt_console_get_device();
|
||||
if (dev_console)
|
||||
{
|
||||
#if defined(RT_USING_POSIX)
|
||||
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)
|
||||
pthread_system_init();
|
||||
|
@ -38,4 +33,3 @@ int libc_system_init(void)
|
|||
return 0;
|
||||
}
|
||||
INIT_COMPONENT_EXPORT(libc_system_init);
|
||||
|
||||
|
|
|
@ -16,8 +16,10 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
int libc_system_init(void);
|
||||
#ifdef RT_USING_POSIX
|
||||
int libc_stdio_get_console(void);
|
||||
int libc_stdio_set_console(const char* device_name, int mode);
|
||||
#endif /* RT_USING_POSIX */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -7,17 +7,17 @@
|
|||
* Date Author Notes
|
||||
* 2017/10/15 bernard implement stdio for IAR dlib.
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
|
||||
#ifdef RT_USING_POSIX
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <rtthread.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include "libc.h"
|
||||
|
||||
#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
|
||||
#include <dfs_posix.h>
|
||||
|
||||
#define STDIO_DEVICE_NAME_MAX 32
|
||||
|
||||
static int std_fd = -1;
|
||||
|
@ -46,4 +46,4 @@ int libc_stdio_get_console(void) {
|
|||
return std_fd;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif /* RT_USING_POSIX */
|
||||
|
|
|
@ -8,10 +8,8 @@
|
|||
* 2015-01-28 Bernard first version
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <yfuns.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#pragma module_name = "?__close"
|
||||
int __close(int handle)
|
||||
|
@ -20,10 +18,9 @@ int __close(int handle)
|
|||
handle == _LLIO_STDERR ||
|
||||
handle == _LLIO_STDIN)
|
||||
return _LLIO_ERROR;
|
||||
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
return close(handle);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
return _LLIO_ERROR;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
|
|
@ -8,10 +8,8 @@
|
|||
* 2015-01-28 Bernard first version
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <yfuns.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#pragma module_name = "?__lseek"
|
||||
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_STDIN)
|
||||
return _LLIO_ERROR;
|
||||
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
return lseek(handle, offset, whence);
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
|
|
|
@ -10,17 +10,13 @@
|
|||
|
||||
#include <rtthread.h>
|
||||
#include <yfuns.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
|
||||
#pragma module_name = "?__open"
|
||||
|
||||
int __open(const char *filename, int mode)
|
||||
{
|
||||
#ifndef RT_USING_DFS
|
||||
return _LLIO_ERROR;
|
||||
#else
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int handle;
|
||||
int open_mode = O_RDONLY;
|
||||
|
||||
|
@ -70,5 +66,7 @@ int __open(const char *filename, int mode)
|
|||
return _LLIO_ERROR;
|
||||
|
||||
return handle;
|
||||
#endif
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
|
|
@ -9,10 +9,8 @@
|
|||
*/
|
||||
|
||||
#include <rtthread.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <yfuns.h>
|
||||
#include <unistd.h>
|
||||
#include "libc.h"
|
||||
|
||||
#define DBG_TAG "dlib.syscall_read"
|
||||
|
@ -22,32 +20,26 @@
|
|||
#pragma module_name = "?__read"
|
||||
size_t __read(int handle, unsigned char *buf, size_t len)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int size;
|
||||
#endif
|
||||
|
||||
if (handle == _LLIO_STDIN)
|
||||
{
|
||||
#ifdef RT_USING_POSIX
|
||||
if (libc_stdio_get_console() < 0)
|
||||
{
|
||||
LOG_W("Do not invoke standard input before initializing libc");
|
||||
return 0;
|
||||
}
|
||||
return read(STDIN_FILENO, buf, len);
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
#endif
|
||||
}
|
||||
else if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
||||
{
|
||||
return _LLIO_ERROR;
|
||||
}
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return _LLIO_ERROR;
|
||||
#else
|
||||
size = read(handle, buf, len);
|
||||
return size;
|
||||
#endif
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
|
|
@ -8,17 +8,15 @@
|
|||
* 2015-01-28 Bernard first version
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <yfuns.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#pragma module_name = "?remove"
|
||||
int remove(const char *val)
|
||||
{
|
||||
#ifndef RT_USING_DFS
|
||||
return -1;
|
||||
#else
|
||||
#ifdef RT_USING_POSIX
|
||||
return unlink(val);
|
||||
#endif
|
||||
#else
|
||||
return -1;
|
||||
#endif /* RT_USING_POSIX */
|
||||
}
|
||||
|
|
|
@ -9,10 +9,8 @@
|
|||
*/
|
||||
|
||||
#include <rtthread.h>
|
||||
#ifdef RT_USING_DFS
|
||||
#include <dfs_posix.h>
|
||||
#endif
|
||||
#include <yfuns.h>
|
||||
#include <unistd.h>
|
||||
#include "libc.h"
|
||||
|
||||
#define DBG_TAG "dlib.syscall_write"
|
||||
|
@ -23,24 +21,20 @@
|
|||
|
||||
size_t __write(int handle, const unsigned char *buf, size_t len)
|
||||
{
|
||||
#ifdef RT_USING_DFS
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int size;
|
||||
#endif
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
|
||||
if ((handle == _LLIO_STDOUT) || (handle == _LLIO_STDERR))
|
||||
{
|
||||
#ifndef RT_USING_CONSOLE
|
||||
return _LLIO_ERROR;
|
||||
#else
|
||||
|
||||
#ifdef RT_USING_POSIX
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
if (libc_stdio_get_console() < 0)
|
||||
{
|
||||
LOG_W("Do not invoke standard output before initializing libc");
|
||||
return 0;
|
||||
}
|
||||
return write(STDOUT_FILENO, (void*)buf, len);
|
||||
#else
|
||||
#elif defined(RT_USING_CONSOLE)
|
||||
rt_device_t console_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;
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
else if (handle == _LLIO_STDIN)
|
||||
{
|
||||
return _LLIO_ERROR;
|
||||
}
|
||||
|
||||
#ifndef RT_USING_DFS
|
||||
return _LLIO_ERROR;
|
||||
#else
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
size = write(handle, buf, len);
|
||||
return size;
|
||||
#endif
|
||||
#else
|
||||
return _LLIO_ERROR;
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
}
|
||||
|
||||
|
|
|
@ -12,34 +12,23 @@
|
|||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "libc.h"
|
||||
|
||||
#ifdef RT_USING_PTHREADS
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
int _EXFUN(putenv,(char *__string));
|
||||
|
||||
int libc_system_init(void)
|
||||
{
|
||||
#if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS) & defined(RT_USING_CONSOLE)
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
rt_device_t dev_console;
|
||||
|
||||
dev_console = rt_console_get_device();
|
||||
if (dev_console)
|
||||
{
|
||||
#if defined(RT_USING_POSIX)
|
||||
libc_stdio_set_console(dev_console->parent.name, O_RDWR);
|
||||
#else
|
||||
libc_stdio_set_console(dev_console->parent.name, O_WRONLY);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* set PATH and HOME */
|
||||
putenv("PATH=/bin");
|
||||
putenv("HOME=/home");
|
||||
#endif
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
|
||||
#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
|
||||
pthread_system_init();
|
||||
|
|
|
@ -10,16 +10,15 @@
|
|||
#ifndef __RTT_LIBC_H__
|
||||
#define __RTT_LIBC_H__
|
||||
|
||||
#ifndef _EXFUN
|
||||
#define _EXFUN(name, proto) name proto
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int libc_system_init(void);
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
int libc_stdio_get_console(void);
|
||||
int libc_stdio_set_console(const char* device_name, int mode);
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
* Date Author Notes
|
||||
* 2017/10/15 bernard the first version
|
||||
*/
|
||||
#include <rtthread.h>
|
||||
|
||||
#ifdef RT_LIBC_USING_FILEIO
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <rtthread.h>
|
||||
#include "libc.h"
|
||||
|
||||
#define STDIO_DEVICE_NAME_MAX 32
|
||||
|
||||
int _EXFUN(fileno, (FILE *));
|
||||
|
||||
static FILE* std_console = NULL;
|
||||
|
||||
int libc_stdio_set_console(const char* device_name, int mode)
|
||||
|
@ -79,3 +79,5 @@ int libc_stdio_get_console(void)
|
|||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* RT_LIBC_USING_FILEIO */
|
||||
|
|
|
@ -13,9 +13,16 @@
|
|||
|
||||
#include <reent.h>
|
||||
#include <rtthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.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_LVL DBG_INFO
|
||||
|
@ -83,18 +90,8 @@ void __libc_init_array(void)
|
|||
}
|
||||
|
||||
#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. */
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
int *__errno ()
|
||||
{
|
||||
|
@ -109,39 +106,29 @@ int _getpid_r(struct _reent *ptr)
|
|||
|
||||
int _close_r(struct _reent *ptr, int fd)
|
||||
{
|
||||
#ifndef RT_USING_DFS
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
#else
|
||||
return close(fd);
|
||||
#endif
|
||||
}
|
||||
|
||||
int _execve_r(struct _reent *ptr, const char * name, char *const *argv, char *const *env)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int _fcntl_r(struct _reent *ptr, int fd, int cmd, int arg)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int _fork_r(struct _reent *ptr)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int _fstat_r(struct _reent *ptr, int fd, struct stat *pstat)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
@ -160,162 +147,22 @@ int _isatty_r(struct _reent *ptr, int fd)
|
|||
|
||||
int _kill_r(struct _reent *ptr, int pid, int sig)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int _link_r(struct _reent *ptr, const char *old, const char *new)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
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)
|
||||
{
|
||||
/* return "not supported" */
|
||||
ptr->_errno = ENOTSUP;
|
||||
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)
|
||||
{
|
||||
return 022;
|
||||
|
@ -326,6 +173,131 @@ int flock(int fd, int operation)
|
|||
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
|
||||
int _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp);
|
||||
|
|
Loading…
Reference in New Issue