summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorsupperthomas <[email protected]>2021-10-10 21:06:03 +0800
committersupperthomas <[email protected]>2021-10-10 21:06:03 +0800
commit4cbcf5987acc6eeab1ea6fe0a4c8bcde6138c316 (patch)
tree25b197bfe77c6a11e5d825be6e29e5b842343253 /bsp
parentb691ff389a60a79036e99e51cb80a2d2742367d9 (diff)
[bsp][lpc55] fix the console, add the us_delay,fix sdio to filesystem
Diffstat (limited to 'bsp')
-rw-r--r--bsp/lpc55sxx/Libraries/drivers/drv_uart.c2
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/.config67
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/applications/SConscript5
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/applications/mnt.c32
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig4
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.c30
-rw-r--r--bsp/lpc55sxx/lpc55s69_nxp_evk/rtconfig.h37
7 files changed, 168 insertions, 9 deletions
diff --git a/bsp/lpc55sxx/Libraries/drivers/drv_uart.c b/bsp/lpc55sxx/Libraries/drivers/drv_uart.c
index c9bf72eb8d..d62b676e87 100644
--- a/bsp/lpc55sxx/Libraries/drivers/drv_uart.c
+++ b/bsp/lpc55sxx/Libraries/drivers/drv_uart.c
@@ -135,7 +135,7 @@ static const struct lpc_uart uarts[] =
kCLOCK_Flexcomm0,
&serial0,
- "uart",
+ "uart0",
},
#endif
#ifdef BSP_USING_UART1
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/.config b/bsp/lpc55sxx/lpc55s69_nxp_evk/.config
index 882b4e7c2f..7aa450dc1c 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/.config
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/.config
@@ -116,7 +116,38 @@ 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=y
+
+#
+# elm-chan's FatFs, Generic FAT Filesystem Module
+#
+CONFIG_RT_DFS_ELM_CODE_PAGE=437
+CONFIG_RT_DFS_ELM_WORD_ACCESS=y
+# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
+CONFIG_RT_DFS_ELM_USE_LFN_3=y
+CONFIG_RT_DFS_ELM_USE_LFN=3
+CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set
+# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set
+CONFIG_RT_DFS_ELM_LFN_UNICODE=0
+CONFIG_RT_DFS_ELM_MAX_LFN=255
+CONFIG_RT_DFS_ELM_DRIVES=2
+CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
+# CONFIG_RT_DFS_ELM_USE_ERASE is not set
+CONFIG_RT_DFS_ELM_REENTRANT=y
+CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
+CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_ROMFS is not set
+# CONFIG_RT_USING_DFS_RAMFS is not set
#
# Device Drivers
@@ -142,7 +173,13 @@ CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set
-# CONFIG_RT_USING_SDIO is not set
+CONFIG_RT_USING_SDIO=y
+CONFIG_RT_SDIO_STACK_SIZE=512
+CONFIG_RT_SDIO_THREAD_PRIORITY=15
+CONFIG_RT_MMCSD_STACK_SIZE=1024
+CONFIG_RT_MMCSD_THREAD_PREORITY=22
+CONFIG_RT_MMCSD_MAX_PARTITION=16
+# CONFIG_RT_SDIO_DEBUG is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_AUDIO is not set
@@ -162,9 +199,16 @@ CONFIG_RT_USING_PIN=y
#
# POSIX layer and C standard library
#
-# CONFIG_RT_USING_LIBC is not set
+CONFIG_RT_USING_LIBC=y
# CONFIG_RT_USING_PTHREADS is not set
-# CONFIG_RT_LIBC_USING_TIME 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_LIBC_USING_TIME=y
+# CONFIG_RT_USING_MODULE is not set
+CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
#
# Network
@@ -297,6 +341,9 @@ CONFIG_RT_USING_PIN=y
# CONFIG_PKG_USING_AGILE_FTP is not set
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
# CONFIG_PKG_USING_RT_LINK_HW is not set
+# CONFIG_PKG_USING_LORA_PKT_FWD is not set
+# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
+# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
# CONFIG_PKG_USING_HM is not set
#
@@ -331,6 +378,13 @@ CONFIG_RT_USING_PIN=y
# CONFIG_PKG_USING_NUEMWIN is not set
# CONFIG_PKG_USING_MP3PLAYER is not set
# CONFIG_PKG_USING_TINYJPEG is not set
+# CONFIG_PKG_USING_UGUI is not set
+
+#
+# U8G2: a monochrome graphic library
+#
+# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
+# CONFIG_PKG_USING_U8G2 is not set
#
# tools packages
@@ -439,7 +493,6 @@ CONFIG_RT_USING_PIN=y
# 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
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
# CONFIG_PKG_USING_SX12XX is not set
@@ -501,6 +554,8 @@ CONFIG_RT_USING_PIN=y
# CONFIG_PKG_USING_MCP23008 is not set
# CONFIG_PKG_USING_BLUETRUM_SDK is not set
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
+# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
+# CONFIG_PKG_USING_BL_MCU_SDK is not set
#
# AI packages
@@ -588,7 +643,7 @@ CONFIG_HW_UART0_BAUDRATE_115200=y
# CONFIG_BSP_USING_I2C is not set
# CONFIG_BSP_USING_SPI is not set
# CONFIG_BSP_USING_ADC is not set
-# CONFIG_BSP_USING_SDIO is not set
+CONFIG_BSP_USING_SDIO=y
# CONFIG_BSP_USING_RTC is not set
# CONFIG_BSP_USING_WDT is not set
# CONFIG_BSP_USING_HWTIMER is not set
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/SConscript b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/SConscript
index 6432d00362..89d07934b7 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/SConscript
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/SConscript
@@ -10,7 +10,10 @@ if rtconfig.CROSS_TOOL == 'gcc':
CPPDEFINES = ['__START=entry']
else:
CPPDEFINES = []
-
+
+if GetDepend('BSP_USING_SDIO'):
+ src += ['mnt.c']
+
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
Return('group')
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/mnt.c b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/mnt.c
new file mode 100644
index 0000000000..57a6d8df72
--- /dev/null
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/mnt.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * sdio filesystem support
+ * Change Logs:
+ * Date Author Notes
+ * 2021-10-10 supperthomas first version
+ */
+#include "dfs_fs.h"
+#include <rtthread.h>
+#include <rtdevice.h>
+
+#ifdef BSP_USING_SDIO
+
+/**
+ * @brief SDIO filesystem init
+ * @param void
+ * @retval 0: filesystem init success, -1: filesystem init failed
+ */
+
+static int sdio_fs_init(void)
+{
+ int result = 0;
+ dfs_mount("sdcard0", "/", "elm", 0, 0);
+ return result;
+}
+
+INIT_ENV_EXPORT(sdio_fs_init);
+
+#endif /* BSP_USING_SDIO */
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
index 158cad3c9a..a73ae472d7 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig
@@ -135,6 +135,10 @@ menu "On-chip Peripheral Drivers"
config BSP_USING_SDIO
bool "Enable SDIO SD Card Interface"
select RT_USING_SDIO
+ select RT_USING_DFS
+ select RT_USING_DFS_ELMFAT
+ select RT_USING_LIBC
+ select RT_LIBC_USING_TIME
default y
config BSP_USING_RTC
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.c b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.c
index 0b71b508e7..73c7011f1d 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.c
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/board.c
@@ -107,3 +107,33 @@ void MemManage_Handler(void)
rt_kprintf("Memory Fault!\n");
HardFault_Handler();
}
+
+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;
+ }
+ }
+ }
+}
diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/rtconfig.h b/bsp/lpc55sxx/lpc55s69_nxp_evk/rtconfig.h
index 8d43f792fd..412285dad0 100644
--- a/bsp/lpc55sxx/lpc55s69_nxp_evk/rtconfig.h
+++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/rtconfig.h
@@ -45,7 +45,7 @@
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
-#define RT_CONSOLE_DEVICE_NAME "uart"
+#define RT_CONSOLE_DEVICE_NAME "uart0"
#define RT_VER_NUM 0x40004
#define ARCH_ARM_CORTEX_FPU
@@ -77,6 +77,27 @@
/* Device virtual file system */
+#define RT_USING_DFS
+#define DFS_USING_WORKDIR
+#define DFS_FILESYSTEMS_MAX 4
+#define DFS_FILESYSTEM_TYPES_MAX 4
+#define DFS_FD_MAX 16
+#define RT_USING_DFS_ELMFAT
+
+/* elm-chan's FatFs, Generic FAT Filesystem Module */
+
+#define RT_DFS_ELM_CODE_PAGE 437
+#define RT_DFS_ELM_WORD_ACCESS
+#define RT_DFS_ELM_USE_LFN_3
+#define RT_DFS_ELM_USE_LFN 3
+#define RT_DFS_ELM_LFN_UNICODE_0
+#define RT_DFS_ELM_LFN_UNICODE 0
+#define RT_DFS_ELM_MAX_LFN 255
+#define RT_DFS_ELM_DRIVES 2
+#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
+#define RT_DFS_ELM_REENTRANT
+#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
+#define RT_USING_DFS_DEVFS
/* Device Drivers */
@@ -87,12 +108,22 @@
#define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
+#define RT_USING_SDIO
+#define RT_SDIO_STACK_SIZE 512
+#define RT_SDIO_THREAD_PRIORITY 15
+#define RT_MMCSD_STACK_SIZE 1024
+#define RT_MMCSD_THREAD_PREORITY 22
+#define RT_MMCSD_MAX_PARTITION 16
/* Using USB */
/* 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
/* Network */
@@ -142,6 +173,9 @@
/* multimedia packages */
+/* U8G2: a monochrome graphic library */
+
+
/* tools packages */
@@ -178,6 +212,7 @@
#define BSP_USING_UART
#define BSP_USING_UART0
#define HW_UART0_BAUDRATE_115200
+#define BSP_USING_SDIO
/* Onboard Peripheral Drivers */