summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2021-07-02 12:12:07 +0800
committerGitHub <[email protected]>2021-07-02 12:12:07 +0800
commita5c37e089346cad5011a9492778b7e3fe4e79c47 (patch)
treef6fe53a372b54e3c597dc5e18a22bc763d328c82
parent77ad3361d9955435ceeaab05c254ddfef059429d (diff)
parent8708808a35b029831b306863a5d520c444735892 (diff)
Merge pull request #4831 from chenyingchun0312/master
[bsp/nrf5x] fix gcc compile exception and add onchip filesystem
-rw-r--r--bsp/nrf5x/libraries/drivers/drv_uart.c1
-rw-r--r--bsp/nrf5x/libraries/drivers/drv_uart.h3
-rw-r--r--bsp/nrf5x/nrf52832/.config234
-rw-r--r--bsp/nrf5x/nrf52832/.vscode/launch.json15
-rw-r--r--bsp/nrf5x/nrf52832/applications/SConscript18
-rw-r--r--bsp/nrf5x/nrf52832/applications/main.c (renamed from bsp/nrf5x/nrf52832/applications/application.c)0
-rw-r--r--bsp/nrf5x/nrf52832/applications/mnt.c103
-rw-r--r--bsp/nrf5x/nrf52832/board/Kconfig4
-rw-r--r--bsp/nrf5x/nrf52832/board/board.c34
-rw-r--r--bsp/nrf5x/nrf52832/board/fal_cfg.h37
-rw-r--r--bsp/nrf5x/nrf52832/board/linker_scripts/link.lds128
-rw-r--r--bsp/nrf5x/nrf52832/rtconfig.h16
-rw-r--r--bsp/nrf5x/nrf52832/rtconfig.py9
-rw-r--r--bsp/nrf5x/nrf52840/board/board.c8
14 files changed, 561 insertions, 49 deletions
diff --git a/bsp/nrf5x/libraries/drivers/drv_uart.c b/bsp/nrf5x/libraries/drivers/drv_uart.c
index c0c50b736c..217d5fc3db 100644
--- a/bsp/nrf5x/libraries/drivers/drv_uart.c
+++ b/bsp/nrf5x/libraries/drivers/drv_uart.c
@@ -250,5 +250,4 @@ int rt_hw_uart_init(void)
#endif /* BSP_USING_UART0 */
}
-INIT_BOARD_EXPORT(rt_hw_uart_init);
#endif /* BSP_USING_UART */
diff --git a/bsp/nrf5x/libraries/drivers/drv_uart.h b/bsp/nrf5x/libraries/drivers/drv_uart.h
index bdffc4463c..3bf9a2c9b6 100644
--- a/bsp/nrf5x/libraries/drivers/drv_uart.h
+++ b/bsp/nrf5x/libraries/drivers/drv_uart.h
@@ -11,8 +11,7 @@
#define UART0_RB_SIZE 1024
-// #define USE_UART0_1 0
-
+int rt_hw_uart_init(void);
#endif
diff --git a/bsp/nrf5x/nrf52832/.config b/bsp/nrf5x/nrf52832/.config
index dcc634dfbc..5936d29741 100644
--- a/bsp/nrf5x/nrf52832/.config
+++ b/bsp/nrf5x/nrf52832/.config
@@ -23,6 +23,12 @@ CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=4
CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
+
+#
+# kservice optimization
+#
+# CONFIG_RT_KSERVICE_USING_STDLIB is not set
+# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
CONFIG_RT_DEBUG=y
# CONFIG_RT_DEBUG_COLOR is not set
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
@@ -54,6 +60,7 @@ CONFIG_RT_USING_MEMPOOL=y
# CONFIG_RT_USING_NOHEAP is not set
CONFIG_RT_USING_SMALL_MEM=y
# CONFIG_RT_USING_SLAB is not set
+# CONFIG_RT_USING_USERHEAP is not set
# CONFIG_RT_USING_MEMTRACE is not set
CONFIG_RT_USING_HEAP=y
@@ -66,7 +73,7 @@ CONFIG_RT_USING_DEVICE=y
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
-CONFIG_RT_VER_NUM=0x40003
+CONFIG_RT_VER_NUM=0x40004
# CONFIG_RT_USING_CPU_FFS is not set
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
@@ -105,7 +112,16 @@ CONFIG_FINSH_ARG_MAX=10
#
# Device virtual file system
#
-# CONFIG_RT_USING_DFS is not set
+CONFIG_RT_USING_DFS=y
+CONFIG_DFS_USING_WORKDIR=y
+CONFIG_DFS_FILESYSTEMS_MAX=4
+CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
+CONFIG_DFS_FD_MAX=16
+# CONFIG_RT_USING_DFS_MNTTABLE is not set
+# CONFIG_RT_USING_DFS_ELMFAT is not set
+CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ROMFS is not set
+# CONFIG_RT_USING_DFS_RAMFS is not set
#
# Device Drivers
@@ -114,6 +130,8 @@ CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_PIPE_BUFSZ=512
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
CONFIG_RT_USING_SERIAL=y
+CONFIG_RT_USING_SERIAL_V1=y
+# CONFIG_RT_USING_SERIAL_V2 is not set
# CONFIG_RT_SERIAL_USING_DMA is not set
CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_CAN is not set
@@ -125,7 +143,7 @@ CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_DAC is not set
# CONFIG_RT_USING_PWM is not set
-# CONFIG_RT_USING_MTD_NOR is not set
+CONFIG_RT_USING_MTD_NOR=y
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set
@@ -151,7 +169,13 @@ CONFIG_RT_USING_PIN=y
#
CONFIG_RT_USING_LIBC=y
# CONFIG_RT_USING_PTHREADS is not set
+CONFIG_RT_USING_POSIX=y
+# CONFIG_RT_USING_POSIX_MMAP is not set
+# CONFIG_RT_USING_POSIX_TERMIOS is not set
+# CONFIG_RT_USING_POSIX_GETLINE is not set
+# CONFIG_RT_USING_POSIX_AIO is not set
# CONFIG_RT_USING_MODULE is not set
+CONFIG_RT_LIBC_FIXED_TIMEZONE=8
#
# Network
@@ -188,6 +212,12 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_RT_USING_RYM is not set
# CONFIG_RT_USING_ULOG is not set
# CONFIG_RT_USING_UTEST is not set
+# CONFIG_RT_USING_RT_LINK is not set
+
+#
+# RT-Thread Utestcases
+#
+# CONFIG_RT_USING_UTESTCASES is not set
#
# RT-Thread online packages
@@ -196,12 +226,15 @@ CONFIG_RT_USING_LIBC=y
#
# IoT - internet of things
#
+# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_UMQTT is not set
# CONFIG_PKG_USING_WEBCLIENT is not set
# CONFIG_PKG_USING_WEBNET is not set
# CONFIG_PKG_USING_MONGOOSE is not set
# CONFIG_PKG_USING_MYMQTT is not set
# CONFIG_PKG_USING_KAWAII_MQTT is not set
+# CONFIG_PKG_USING_BC28_MQTT is not set
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_CJSON is not set
# CONFIG_PKG_USING_JSMN is not set
@@ -228,6 +261,7 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
+# CONFIG_PKG_USING_CMUX is not set
# CONFIG_PKG_USING_PPP_DEVICE is not set
# CONFIG_PKG_USING_AT_DEVICE is not set
# CONFIG_PKG_USING_ATSRV_SOCKET is not set
@@ -240,7 +274,7 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
# CONFIG_PKG_USING_ALI_IOTKIT is not set
# CONFIG_PKG_USING_AZURE is not set
-# CONFIG_PKG_USING_TENCENT_IOTHUB is not set
+# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
# 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
@@ -252,8 +286,6 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_LIBRWS is not set
# CONFIG_PKG_USING_TCPSERVER is not set
# CONFIG_PKG_USING_PROTOBUF_C is not set
-# CONFIG_PKG_USING_ONNX_PARSER is not set
-# CONFIG_PKG_USING_ONNX_BACKEND is not set
# CONFIG_PKG_USING_DLT645 is not set
# CONFIG_PKG_USING_QXWZ is not set
# CONFIG_PKG_USING_SMTP_CLIENT is not set
@@ -262,6 +294,18 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_CAPNP is not set
# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
# CONFIG_PKG_USING_AGILE_TELNET is not set
+# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+# CONFIG_PKG_USING_PDULIB is not set
+# CONFIG_PKG_USING_BTSTACK is not set
+# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
+# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
+# CONFIG_PKG_USING_MAVLINK is not set
+# CONFIG_PKG_USING_RAPIDJSON is not set
+# CONFIG_PKG_USING_BSAL is not set
+# CONFIG_PKG_USING_AGILE_MODBUS is not set
+# CONFIG_PKG_USING_AGILE_FTP is not set
+# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
#
# security packages
@@ -270,6 +314,7 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_libsodium is not set
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
+# CONFIG_PKG_USING_YD_CRYPTO is not set
#
# language packages
@@ -286,6 +331,13 @@ CONFIG_RT_USING_LIBC=y
# 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
+# CONFIG_PKG_USING_HELIX is not set
+# CONFIG_PKG_USING_AZUREGUIX is not set
+# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
+# CONFIG_PKG_USING_NUEMWIN is not set
+# CONFIG_PKG_USING_MP3PLAYER is not set
+# CONFIG_PKG_USING_TINYJPEG is not set
#
# tools packages
@@ -294,38 +346,125 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_EASYFLASH is not set
# CONFIG_PKG_USING_EASYLOGGER is not set
# CONFIG_PKG_USING_SYSTEMVIEW is not set
+# CONFIG_PKG_USING_SEGGER_RTT is not set
# CONFIG_PKG_USING_RDB is not set
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
+# CONFIG_PKG_USING_ULOG_FILE is not set
+# CONFIG_PKG_USING_LOGMGR is not set
# CONFIG_PKG_USING_ADBD is not set
# CONFIG_PKG_USING_COREMARK is not set
# CONFIG_PKG_USING_DHRYSTONE is not set
+# CONFIG_PKG_USING_MEMORYPERF is not set
# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
# CONFIG_PKG_USING_BS8116A is not set
+# CONFIG_PKG_USING_GPS_RMC is not set
+# CONFIG_PKG_USING_URLENCODE is not set
+# CONFIG_PKG_USING_UMCN is not set
+# CONFIG_PKG_USING_LWRB2RTT is not set
+# CONFIG_PKG_USING_CPU_USAGE is not set
+# CONFIG_PKG_USING_GBK2UTF8 is not set
+# CONFIG_PKG_USING_VCONSOLE is not set
+# CONFIG_PKG_USING_KDB is not set
+# CONFIG_PKG_USING_WAMR is not set
+# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
+# CONFIG_PKG_USING_LWLOG is not set
+# CONFIG_PKG_USING_ANV_TRACE is not set
+# CONFIG_PKG_USING_ANV_MEMLEAK is not set
+# CONFIG_PKG_USING_ANV_TESTSUIT is not set
+# CONFIG_PKG_USING_ANV_BENCH is not set
+# CONFIG_PKG_USING_DEVMEM is not set
+# CONFIG_PKG_USING_REGEX is not set
+# CONFIG_PKG_USING_MEM_SANDBOX is not set
+# CONFIG_PKG_USING_SOLAR_TERMS is not set
+# CONFIG_PKG_USING_GAN_ZHI is not set
#
# system packages
#
+
+#
+# acceleration: Assembly language or algorithmic acceleration packages
+#
+# CONFIG_PKG_USING_RT_MEMCPY_CM 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_M3 is not set
+
+#
+# Micrium: Micrium software products porting for RT-Thread
+#
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
+# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
+# CONFIG_PKG_USING_UC_CRC is not set
+# CONFIG_PKG_USING_UC_CLK is not set
+# CONFIG_PKG_USING_UC_COMMON is not set
+# CONFIG_PKG_USING_UC_MODBUS is not set
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_CAIRO is not set
# CONFIG_PKG_USING_PIXMAN is not set
-# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_PARTITION is not set
-# CONFIG_PKG_USING_FAL is not set
+CONFIG_PKG_USING_FAL=y
+CONFIG_PKG_FAL_PATH="/packages/system/fal"
+CONFIG_FAL_DEBUG_CONFIG=y
+CONFIG_FAL_DEBUG=1
+CONFIG_FAL_PART_HAS_TABLE_CFG=y
+# CONFIG_FAL_USING_SFUD_PORT is not set
+CONFIG_PKG_USING_FAL_V00500=y
+# CONFIG_PKG_USING_FAL_V00400 is not set
+# CONFIG_PKG_USING_FAL_V00300 is not set
+# CONFIG_PKG_USING_FAL_V00200 is not set
+# CONFIG_PKG_USING_FAL_V00100 is not set
+# CONFIG_PKG_USING_FAL_LATEST_VERSION is not set
+CONFIG_PKG_FAL_VER="v0.5.0"
+CONFIG_PKG_FAL_VER_NUM=0x00500
+# CONFIG_PKG_USING_FLASHDB is not set
# CONFIG_PKG_USING_SQLITE is not set
# CONFIG_PKG_USING_RTI is not set
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
# CONFIG_PKG_USING_CMSIS is not set
# CONFIG_PKG_USING_DFS_YAFFS is not set
-# CONFIG_PKG_USING_LITTLEFS is not set
+CONFIG_PKG_USING_LITTLEFS=y
+CONFIG_PKG_LITTLEFS_PATH="/packages/system/littlefs"
+# CONFIG_PKG_USING_LITTLEFS_V090 is not set
+# CONFIG_PKG_USING_LITTLEFS_V170 is not set
+# CONFIG_PKG_USING_LITTLEFS_V172 is not set
+# CONFIG_PKG_USING_LITTLEFS_V201 is not set
+# CONFIG_PKG_USING_LITTLEFS_V205 is not set
+# CONFIG_PKG_USING_LITTLEFS_V214 is not set
+# CONFIG_PKG_USING_LITTLEFS_V220 is not set
+# CONFIG_PKG_USING_LITTLEFS_V221 is not set
+# CONFIG_PKG_USING_LITTLEFS_V230 is not set
+CONFIG_PKG_USING_LITTLEFS_LATEST_VERSION=y
+CONFIG_LFS_READ_SIZE=256
+CONFIG_LFS_PROG_SIZE=256
+CONFIG_LFS_BLOCK_SIZE=4096
+CONFIG_LFS_CACHE_SIZE=256
+CONFIG_LFS_BLOCK_CYCLES=-1
+# CONFIG_DFS_LFS_READONLY is not set
+CONFIG_LFS_THREADSAFE=y
+CONFIG_LFS_LOOKAHEAD_MAX=128
+CONFIG_PKG_LITTLEFS_VER="latest"
+# CONFIG_PKG_USING_DFS_JFFS2 is not set
+# CONFIG_PKG_USING_DFS_UFFS is not set
+# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_THREAD_POOL is not set
# CONFIG_PKG_USING_ROBOTS is not set
# CONFIG_PKG_USING_EV is not set
# CONFIG_PKG_USING_SYSWATCH is not set
# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
# CONFIG_PKG_USING_PLCCORE is not set
+# CONFIG_PKG_USING_RAMDISK is not set
+# CONFIG_PKG_USING_MININI is not set
+# CONFIG_PKG_USING_QBOOT is not set
+# CONFIG_PKG_USING_PPOOL is not set
+# CONFIG_PKG_USING_OPENAMP is not set
+# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
+# CONFIG_PKG_USING_LPM is not set
+# CONFIG_PKG_USING_TLSF is not set
+# CONFIG_PKG_USING_EVENT_RECORDER is not set
#
# peripheral libraries and drivers
@@ -334,6 +473,7 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_SHT2X is not set
# CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_AS7341 is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_U8G2 is not set
@@ -347,13 +487,12 @@ CONFIG_RT_USING_LIBC=y
# CONFIG_PKG_USING_NRF5X_SDK is not set
CONFIG_PKG_USING_NRFX=y
CONFIG_PKG_NRFX_PATH="/packages/peripherals/nrfx"
-CONFIG_PKG_USING_NRFX_V210=y
-# CONFIG_PKG_USING_NRFX_LATEST_VERSION is not set
-CONFIG_PKG_NRFX_VER="v2.1.0"
+# CONFIG_PKG_USING_NRFX_V210 is not set
+CONFIG_PKG_USING_NRFX_LATEST_VERSION=y
+CONFIG_PKG_NRFX_VER="latest"
# CONFIG_PKG_USING_WM_LIBRARIES is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
# CONFIG_PKG_USING_INFRARED is not set
-# CONFIG_PKG_USING_ROSSERIAL is not set
# CONFIG_PKG_USING_AGILE_BUTTON is not set
# CONFIG_PKG_USING_AGILE_LED is not set
# CONFIG_PKG_USING_AT24CXX is not set
@@ -367,6 +506,7 @@ CONFIG_PKG_NRFX_VER="v2.1.0"
# CONFIG_PKG_USING_RPLIDAR is not set
# CONFIG_PKG_USING_AS608 is not set
# CONFIG_PKG_USING_RC522 is not set
+# CONFIG_PKG_USING_WS2812B is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
# CONFIG_PKG_USING_MULTI_RTIMER is not set
@@ -374,6 +514,44 @@ CONFIG_PKG_NRFX_VER="v2.1.0"
# CONFIG_PKG_USING_BEEP is not set
# CONFIG_PKG_USING_EASYBLINK is not set
# CONFIG_PKG_USING_PMS_SERIES is not set
+# CONFIG_PKG_USING_CAN_YMODEM is not set
+# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
+# CONFIG_PKG_USING_QLED is not set
+# CONFIG_PKG_USING_PAJ7620 is not set
+# CONFIG_PKG_USING_AGILE_CONSOLE is not set
+# CONFIG_PKG_USING_LD3320 is not set
+# CONFIG_PKG_USING_WK2124 is not set
+# CONFIG_PKG_USING_LY68L6400 is not set
+# CONFIG_PKG_USING_DM9051 is not set
+# CONFIG_PKG_USING_SSD1306 is not set
+# CONFIG_PKG_USING_QKEY is not set
+# CONFIG_PKG_USING_RS485 is not set
+# CONFIG_PKG_USING_NES is not set
+# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
+# CONFIG_PKG_USING_VDEVICE is not set
+# CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
+# CONFIG_PKG_USING_RDA58XX is not set
+# CONFIG_PKG_USING_LIBNFC is not set
+# CONFIG_PKG_USING_MFOC is not set
+# CONFIG_PKG_USING_TMC51XX is not set
+# CONFIG_PKG_USING_TCA9534 is not set
+# CONFIG_PKG_USING_KOBUKI is not set
+# CONFIG_PKG_USING_ROSSERIAL is not set
+# CONFIG_PKG_USING_MICRO_ROS is not set
+
+#
+# AI packages
+#
+# CONFIG_PKG_USING_LIBANN is not set
+# CONFIG_PKG_USING_NNOM is not set
+# CONFIG_PKG_USING_ONNX_BACKEND is not set
+# CONFIG_PKG_USING_ONNX_PARSER is not set
+# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
+# CONFIG_PKG_USING_ELAPACK is not set
+# CONFIG_PKG_USING_ULAPACK is not set
+# CONFIG_PKG_USING_QUEST is not set
+# CONFIG_PKG_USING_NAXOS is not set
#
# miscellaneous packages
@@ -383,10 +561,12 @@ CONFIG_PKG_NRFX_VER="v2.1.0"
# CONFIG_PKG_USING_FASTLZ is not set
# CONFIG_PKG_USING_MINILZO is not set
# CONFIG_PKG_USING_QUICKLZ is not set
+# CONFIG_PKG_USING_LZMA is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
# CONFIG_PKG_USING_CANFESTIVAL is not set
# CONFIG_PKG_USING_ZLIB is not set
+# CONFIG_PKG_USING_MINIZIP is not set
# CONFIG_PKG_USING_DSTR is not set
# CONFIG_PKG_USING_TINYFRAME is not set
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
@@ -403,13 +583,25 @@ CONFIG_PKG_NRFX_VER="v2.1.0"
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
# CONFIG_PKG_USING_HELLO is not set
# CONFIG_PKG_USING_VI is not set
-# CONFIG_PKG_USING_NNOM is not set
-# CONFIG_PKG_USING_LIBANN is not set
-# CONFIG_PKG_USING_ELAPACK is not set
+# CONFIG_PKG_USING_KI is not set
# CONFIG_PKG_USING_ARMv7M_DWT is not set
# CONFIG_PKG_USING_VT100 is not set
-# CONFIG_PKG_USING_ULAPACK is not set
# CONFIG_PKG_USING_UKAL is not set
+# CONFIG_PKG_USING_CRCLIB is not set
+
+#
+# entertainment: terminal games and other interesting software packages
+#
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_SNAKE is not set
+# CONFIG_PKG_USING_TETRIS is not set
+# CONFIG_PKG_USING_DONUT is not set
+# CONFIG_PKG_USING_ACLOCK is not set
+# CONFIG_PKG_USING_LWGPS is not set
+# CONFIG_PKG_USING_STATE_MACHINE is not set
+# CONFIG_PKG_USING_MCURSES is not set
+# CONFIG_PKG_USING_COWSAY is not set
#
# Hardware Drivers Config
@@ -440,16 +632,18 @@ CONFIG_BSP_USING_UART0=y
CONFIG_NRFX_UART0_ENABLED=1
CONFIG_BSP_UART0_RX_PIN=8
CONFIG_BSP_UART0_TX_PIN=6
+# CONFIG_BSP_USING_I2C is not set
# CONFIG_BSP_USING_SPI is not set
-# CONFIG_BSP_USING_ON_CHIP_FLASH is not set
+CONFIG_BSP_USING_ON_CHIP_FLASH=y
+CONFIG_BSP_USING_ON_CHIP_FS=y
#
# On-chip flash config
#
CONFIG_MCU_FLASH_START_ADDRESS=0x00000000
-CONFIG_MCU_FLASH_SIZE_KB=1024
+CONFIG_MCU_FLASH_SIZE_KB=512
CONFIG_MCU_SRAM_START_ADDRESS=0x20000000
-CONFIG_MCU_SRAM_SIZE_KB=256
+CONFIG_MCU_SRAM_SIZE_KB=64
CONFIG_MCU_FLASH_PAGE_SIZE=0x1000
# CONFIG_BSP_USING_WDT is not set
# CONFIG_BSP_USING_ONCHIP_RTC is not set
diff --git a/bsp/nrf5x/nrf52832/.vscode/launch.json b/bsp/nrf5x/nrf52832/.vscode/launch.json
index c3a54b371b..9bcc1a8d86 100644
--- a/bsp/nrf5x/nrf52832/.vscode/launch.json
+++ b/bsp/nrf5x/nrf52832/.vscode/launch.json
@@ -2,14 +2,15 @@
"version": "0.2.0",
"configurations": [
{
- "type": "cortex-debug",
- "request": "launch",
- "servertype": "jlink",
"cwd": "${workspaceRoot}",
"executable": "rt-thread.elf",
- "name": "Cortex Debug",
- "device": "nrf52",
- "interface": "swd"
- }
+ "name": "Debug MAX",
+ "request": "launch",
+ "type": "cortex-debug",
+ "servertype": "jlink",
+ "interface": "swd",
+ "device": "NRF52832_XXAA",
+ "runToMain": true
+ },
]
} \ No newline at end of file
diff --git a/bsp/nrf5x/nrf52832/applications/SConscript b/bsp/nrf5x/nrf52832/applications/SConscript
index fc2501998c..644eec02bf 100644
--- a/bsp/nrf5x/nrf52832/applications/SConscript
+++ b/bsp/nrf5x/nrf52832/applications/SConscript
@@ -1,11 +1,17 @@
-Import('RTT_ROOT')
-Import('rtconfig')
from building import *
-cwd = os.path.join(str(Dir('#')), 'applications')
-src = Glob('*.c')
-CPPPATH = [cwd, str(Dir('#'))]
+cwd = GetCurrentDir()
+
+src = Split('''
+main.c
+''')
+
+if GetDepend(['BSP_USING_ON_CHIP_FS']):
+ src += ['mnt.c']
+
+
+CPPPATH = [str(Dir('#')), cwd]
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
-Return('group')
+Return('group') \ No newline at end of file
diff --git a/bsp/nrf5x/nrf52832/applications/application.c b/bsp/nrf5x/nrf52832/applications/main.c
index 5027866e19..5027866e19 100644
--- a/bsp/nrf5x/nrf52832/applications/application.c
+++ b/bsp/nrf5x/nrf52832/applications/main.c
diff --git a/bsp/nrf5x/nrf52832/applications/mnt.c b/bsp/nrf5x/nrf52832/applications/mnt.c
new file mode 100644
index 0000000000..c7e4d10235
--- /dev/null
+++ b/bsp/nrf5x/nrf52832/applications/mnt.c
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * on chip filesystem support
+ * Change Logs:
+ * Date Author Notes
+ * 2021-06-27 Chenyingchun first version
+ */
+#include "board.h"
+#include <rtthread.h>
+#include <rtdevice.h>
+
+#ifdef BSP_USING_ON_CHIP_FS
+
+#ifndef PKG_USING_FAL
+#error "if you want to use on chip filesystem, you need to enable FAL package()"
+#endif
+
+#ifndef RT_USING_DFS
+#error "if you want to use on chip filesystem, you need to enable DFS componment"
+#endif
+
+#ifndef BSP_USING_ON_CHIP_FLASH
+#error "if you want to use on chip filesystem, you need to enable on-chip flash"
+#endif
+
+#ifndef RT_USING_MTD_NOR
+#error "if you want to use on chip filesystem, you need to enable mtd nor"
+#endif
+
+#ifndef PKG_USING_LITTLEFS
+#error "if you want to use on chip filesystem, you need to enable littlefs"
+#endif
+
+#include "fal.h"
+#include <dfs_posix.h>
+
+#define LOG_TAG "drv.fs"
+#define DBG_LVL DBG_LOG
+#include <rtdbg.h>
+
+#define FS_PARTITION_NAME ON_CHIP_PARTION_NAME
+
+/**
+ * @brief on chip filesystem init
+ * @param void
+ * @retval 0: filesystem init success, -1: filesystem init failed
+ */
+
+static int on_chip_fs_init(void)
+{
+ int result = 0;
+
+ fal_init();
+
+ struct rt_device *flash_dev = fal_mtd_nor_device_create(FS_PARTITION_NAME);
+
+ if (flash_dev == NULL)
+ {
+ LOG_E("Can't create a block device on '%s' partition.", FS_PARTITION_NAME);
+ result = -1;
+ goto err;
+ }
+ else
+ {
+ LOG_D("Create a block device on the %s partition of flash successful.", FS_PARTITION_NAME);
+ }
+
+ if (rt_device_find(FS_PARTITION_NAME) != RT_NULL)
+ {
+ int mkfs_res = dfs_mkfs("lfs", FS_PARTITION_NAME);
+
+ if (mkfs_res != 0)
+ {
+ LOG_E("dfs_mkfs error, errno = %d", rt_get_errno());
+ result = -1;
+ goto err;
+ }
+
+ if (dfs_mount(FS_PARTITION_NAME, "/", "lfs", 0, 0) == RT_EOK)
+ {
+ LOG_D("onchip elm filesystem mount to '/'");
+ }
+ else
+ {
+ LOG_E("onchip elm filesystem mount to '/' failed!");
+ result = -1;
+ goto err;
+ }
+ }
+ else
+ {
+ LOG_E("find filesystem portion failed");
+ }
+err:
+ return result;
+}
+
+INIT_ENV_EXPORT(on_chip_fs_init);
+
+#endif /* BSP_USING_ON_CHIP_FS */
diff --git a/bsp/nrf5x/nrf52832/board/Kconfig b/bsp/nrf5x/nrf52832/board/Kconfig
index e62e762509..416722fd64 100644
--- a/bsp/nrf5x/nrf52832/board/Kconfig
+++ b/bsp/nrf5x/nrf52832/board/Kconfig
@@ -341,6 +341,10 @@ menu "On-chip Peripheral Drivers"
select PKG_USING_FAL
bool "Enable on-chip FLASH"
default n
+
+ config BSP_USING_ON_CHIP_FS
+ bool "Enable on-chip filesystem"
+ default n
menu "On-chip flash config"
diff --git a/bsp/nrf5x/nrf52832/board/board.c b/bsp/nrf5x/nrf52832/board/board.c
index 0b3a436530..26fcf8e7bb 100644
--- a/bsp/nrf5x/nrf52832/board/board.c
+++ b/bsp/nrf5x/nrf52832/board/board.c
@@ -49,6 +49,40 @@ void SysTick_Configuration(void)
}
+/**
+ * The time delay function.
+ *
+ * @param microseconds.
+ */
+void rt_hw_us_delay(rt_uint32_t us)
+{
+ rt_uint32_t ticks;
+ rt_uint32_t told, tnow, tcnt = 0;
+ rt_uint32_t reload = SysTick->LOAD;
+
+ ticks = us * reload / (1000000 / RT_TICK_PER_SECOND);
+ told = SysTick->VAL;
+ while (1)
+ {
+ tnow = SysTick->VAL;
+ if (tnow != told)
+ {
+ if (tnow < told)
+ {
+ tcnt += told - tnow;
+ }
+ else
+ {
+ tcnt += reload - tnow + told;
+ }
+ told = tnow;
+ if (tcnt >= ticks)
+ {
+ break;
+ }
+ }
+ }
+}
void rt_hw_board_init(void)
{
diff --git a/bsp/nrf5x/nrf52832/board/fal_cfg.h b/bsp/nrf5x/nrf52832/board/fal_cfg.h
new file mode 100644
index 0000000000..089adcf465
--- /dev/null
+++ b/bsp/nrf5x/nrf52832/board/fal_cfg.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2021-06-26 chenyingchun the first version
+ */
+
+#ifndef _FAL_CFG_H_
+#define _FAL_CFG_H_
+
+#include <rtconfig.h>
+#include <board.h>
+
+#define ON_CHIP_FLASH_DEV_NAME "mcu_onchip_flash"
+#define ON_CHIP_PARTION_NAME "filesystem"
+
+/* ===================== Flash device Configuration ========================= */
+extern const struct fal_flash_dev mcu_onchip_flash;
+
+/* flash device table */
+#define FAL_FLASH_DEV_TABLE \
+ { \
+ &mcu_onchip_flash, \
+ }
+/* ====================== Partition Configuration ========================== */
+#ifdef FAL_PART_HAS_TABLE_CFG
+/* partition table */
+#define FAL_PART_TABLE \
+ { \
+ {FAL_PART_MAGIC_WORD, ON_CHIP_PARTION_NAME, ON_CHIP_FLASH_DEV_NAME, 224 * 1024, 120 * 1024, 0}, \
+ }
+#endif /* FAL_PART_HAS_TABLE_CFG */
+
+#endif /* _FAL_CFG_H_ */
diff --git a/bsp/nrf5x/nrf52832/board/linker_scripts/link.lds b/bsp/nrf5x/nrf52832/board/linker_scripts/link.lds
index b1d21b531b..f4cf7ebbf7 100644
--- a/bsp/nrf5x/nrf52832/board/linker_scripts/link.lds
+++ b/bsp/nrf5x/nrf52832/board/linker_scripts/link.lds
@@ -1,16 +1,130 @@
/* Linker script to configure memory regions. */
-SEARCH_DIR(.)
-GROUP(-lgcc -lc -lnosys)
-
MEMORY
{
- FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000
- RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x10000
- CODE_RAM (rwx) : ORIGIN = 0x800000, LENGTH = 0x10000
+ ROM (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000 /* 512K FLASH */
+ RAM (rw) : ORIGIN = 0x20000000, LENGTH = 0x10000 /* 64K RAM */
}
+ENTRY(Reset_Handler)
+_system_stack_size = 0x200;
+
+SECTIONS
+{
+ .text :
+ {
+ . = ALIGN(4);
+ _stext = .;
+ KEEP(*(.isr_vector)) /* Startup code */
+
+ . = ALIGN(4);
+ *(.text) /* remaining code */
+ *(.text.*) /* remaining code */
+ *(.rodata) /* read-only data (constants) */
+ *(.rodata*)
+ *(.glue_7)
+ *(.glue_7t)
+ *(.gnu.linkonce.t*)
+
+ /* section information for finsh shell */
+ . = ALIGN(4);
+ __fsymtab_start = .;
+ KEEP(*(FSymTab))
+ __fsymtab_end = .;
+
+ . = ALIGN(4);
+ __vsymtab_start = .;
+ KEEP(*(VSymTab))
+ __vsymtab_end = .;
+
+ /* section information for initial. */
+ . = ALIGN(4);
+ __rt_init_start = .;
+ KEEP(*(SORT(.rti_fn*)))
+ __rt_init_end = .;
+
+ /* section information for modules */
+ . = ALIGN(4);
+ __rtmsymtab_start = .;
+ KEEP(*(RTMSymTab))
+ __rtmsymtab_end = .;
+
+ . = ALIGN(4);
+
+ PROVIDE(__ctors_start__ = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array))
+ PROVIDE(__ctors_end__ = .);
+
+ . = ALIGN(4);
-INCLUDE "packages/nrfx-v2.1.0/mdk/nrf_common.ld"
+ _etext = .;
+ } > ROM = 0
+ /* .ARM.exidx is sorted, so has to go in its own output section. */
+ __exidx_start = .;
+ .ARM.exidx :
+ {
+ *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+ /* This is used by the startup in order to initialize the .data secion */
+ _sidata = .;
+ } > ROM
+ __exidx_end = .;
+ /* .data section which is used for initialized data */
+ .data : AT (_sidata)
+ {
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .data secion */
+ _sdata = . ;
+
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d*)
+
+ PROVIDE(__dtors_start__ = .);
+ KEEP(*(SORT(.dtors.*)))
+ KEEP(*(.dtors))
+ PROVIDE(__dtors_end__ = .);
+
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .data secion */
+ _edata = . ;
+ } >RAM
+
+ .stack :
+ {
+ . = ALIGN(4);
+ _sstack = .;
+ . = . + _system_stack_size;
+ . = ALIGN(4);
+ _estack = .;
+ } >RAM
+
+ __bss_start = .;
+ .bss :
+ {
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .bss secion */
+ _sbss = .;
+
+ *(.bss)
+ *(.bss.*)
+ *(COMMON)
+
+ . = ALIGN(4);
+ /* This is used by the startup in order to initialize the .bss secion */
+ _ebss = . ;
+
+ *(.bss.init)
+ } > RAM
+ __bss_end = .;
+
+ _end = .;
+
+ PROVIDE(__etext = __exidx_end);
+ PROVIDE(__data_start__ = _sdata);
+ PROVIDE(__bss_start__ = __bss_start);
+ PROVIDE(__bss_end__ = __bss_end);
+ PROVIDE(__StackTop = _estack);
+}
diff --git a/bsp/nrf5x/nrf52832/rtconfig.h b/bsp/nrf5x/nrf52832/rtconfig.h
index 2626384351..ee2691d102 100644
--- a/bsp/nrf5x/nrf52832/rtconfig.h
+++ b/bsp/nrf5x/nrf52832/rtconfig.h
@@ -19,6 +19,9 @@
#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
+
+/* kservice optimization */
+
#define RT_DEBUG
/* Inter-Thread communication */
@@ -41,7 +44,7 @@
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart0"
-#define RT_VER_NUM 0x40003
+#define RT_VER_NUM 0x40004
/* RT-Thread Components */
@@ -77,6 +80,7 @@
#define RT_USING_DEVICE_IPC
#define RT_PIPE_BUFSZ 512
#define RT_USING_SERIAL
+#define RT_USING_SERIAL_V1
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
@@ -86,6 +90,7 @@
/* POSIX layer and C standard library */
#define RT_USING_LIBC
+#define RT_LIBC_FIXED_TIMEZONE 8
/* Network */
@@ -107,6 +112,9 @@
/* Utilities */
+/* RT-Thread Utestcases */
+
+
/* RT-Thread online packages */
/* IoT - internet of things */
@@ -141,7 +149,7 @@
/* peripheral libraries and drivers */
#define PKG_USING_NRFX
-#define PKG_USING_NRFX_V210
+#define PKG_USING_NRFX_LATEST_VERSION
/* miscellaneous packages */
@@ -175,9 +183,9 @@
/* On-chip flash config */
#define MCU_FLASH_START_ADDRESS 0x00000000
-#define MCU_FLASH_SIZE_KB 1024
+#define MCU_FLASH_SIZE_KB 512
#define MCU_SRAM_START_ADDRESS 0x20000000
-#define MCU_SRAM_SIZE_KB 256
+#define MCU_SRAM_SIZE_KB 64
#define MCU_FLASH_PAGE_SIZE 0x1000
#define BLE_STACK_USING_NULL
diff --git a/bsp/nrf5x/nrf52832/rtconfig.py b/bsp/nrf5x/nrf52832/rtconfig.py
index e8a959bc85..805feeae54 100644
--- a/bsp/nrf5x/nrf52832/rtconfig.py
+++ b/bsp/nrf5x/nrf52832/rtconfig.py
@@ -34,17 +34,26 @@ if PLATFORM == 'gcc':
CC = PREFIX + 'gcc'
AS = PREFIX + 'gcc'
AR = PREFIX + 'ar'
+ CXX= PREFIX + 'g++'
LINK = PREFIX + 'gcc'
TARGET_EXT = 'elf'
SIZE = PREFIX + 'size'
OBJDUMP = PREFIX + 'objdump'
OBJCPY = PREFIX + 'objcopy'
+ STRIP = PREFIX + 'strip'
DEVICE = ' -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections'
CFLAGS = DEVICE
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds'
+ CXXFLAGS = CFLAGS
+ M_CFLAGS = CFLAGS + ' -mlong-calls -fPIC '
+ M_CXXFLAGS = CXXFLAGS + ' -mlong-calls -fPIC'
+ M_LFLAGS = DEVICE + CXXFLAGS + ' -Wl,--gc-sections,-z,max-page-size=0x4' +\
+ ' -shared -fPIC -nostartfiles -nostdlib -static-libgcc'
+ M_POST_ACTION = STRIP + ' -R .hash $TARGET\n' + SIZE + ' $TARGET \n'
+
CPATH = ''
LPATH = ''
diff --git a/bsp/nrf5x/nrf52840/board/board.c b/bsp/nrf5x/nrf52840/board/board.c
index 961a027e95..7adafe36fe 100644
--- a/bsp/nrf5x/nrf52840/board/board.c
+++ b/bsp/nrf5x/nrf52840/board/board.c
@@ -61,14 +61,18 @@ void rt_hw_board_init(void)
rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);
#endif
-#ifdef RT_USING_COMPONENTS_INIT
- rt_components_board_init();
+#ifdef RT_USING_SERIAL
+ rt_hw_uart_init();
#endif
#ifdef RT_USING_CONSOLE
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
+#ifdef RT_USING_COMPONENTS_INIT
+ rt_components_board_init();
+#endif
+
#ifdef BSP_USING_SOFTDEVICE
extern uint32_t Image$$RW_IRAM1$$Base;