Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions bsp/k230/.config
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,7 @@ CONFIG_RT_USING_LDSO=y
# CONFIG_ELF_LOAD_RANDOMIZE is not set
CONFIG_LWP_USING_TERMINAL=y
CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64
CONFIG_RT_USING_VDSO=y

#
# Using USB legacy version
Expand Down Expand Up @@ -1490,9 +1491,15 @@ CONFIG_PKG_ZLIB_VER="latest"
# Drivers Configuration
#
CONFIG_BSP_USING_HARDLOCK=y
# CONFIG_BSP_USING_SDIO is not set
CONFIG_BSP_USING_SDIO=y
CONFIG_BSP_USING_SDIO0=y
# CONFIG_BSP_SDIO0_EMMC is not set
# CONFIG_BSP_SDIO0_1V8 is not set
# CONFIG_BSP_USING_SDIO1 is not set
CONFIG_BSP_SD_MNT_DEVNAME="sd0p1"
# end of Drivers Configuration

CONFIG_BOARD_fpgac908=y
CONFIG___STACKSIZE__=65536
CONFIG_BSP_ROOTFS_TYPE_CROMFS=y
CONFIG_BSP_ROOTFS_TYPE_ELMFAT=y
# CONFIG_BSP_ROOTFS_TYPE_CROMFS is not set
19 changes: 14 additions & 5 deletions bsp/k230/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,17 @@ config __STACKSIZE__
int "stack size for interrupt"
default 4096

config BSP_ROOTFS_TYPE_CROMFS
bool "Use CROMFS as ROOTFS"
select RT_USING_DFS_CROMFS
select PKG_USING_ZLIB
default y
choice BSP_ROOTFS_TYPE
prompt "Root File-System type"
default BSP_ROOTFS_TYPE_ELMFAT

config BSP_ROOTFS_TYPE_ELMFAT
bool "Use Elm-chan FAT File-System"
select RT_USING_DFS_ELMFAT

config BSP_ROOTFS_TYPE_CROMFS
bool "Use Compressed ROM File-System (ReadOnly)"
select RT_USING_DFS_CROMFS
select PKG_USING_ZLIB
select PKG_USING_ZLIB_LATEST_VERSION
endchoice
45 changes: 34 additions & 11 deletions bsp/k230/applications/mnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#ifdef RT_USING_DFS
#include <dfs_fs.h>

#ifdef BSP_ROOTFS_TYPE_CROMFS
rt_weak uint8_t *cromfs_get_partition_data(uint32_t *len)
{
return RT_NULL;
Expand All @@ -21,9 +22,32 @@ static int mnt_cromfs(void)

return ret;
}
#endif

int mnt_init(void)
{
#if defined(BSP_USING_SDIO) && defined(BSP_ROOTFS_TYPE_ELMFAT)
int timeout = 50; // Timeout after 50 iterations (5 seconds if each iteration waits 100ms)
while (mmcsd_wait_cd_changed(100) != MMCSD_HOST_PLUGED)
{
if (--timeout <= 0)
{
rt_kprintf("Timeout waiting for MMCSD host to be plugged!\n");
return -1; // Return an error code to indicate failure
}
rt_thread_mdelay(100); // Yield to the scheduler
}

if (dfs_mount(BSP_SD_MNT_DEVNAME, "/", "elm", 0, 0) != 0)
{
rt_kprintf("%s mounted on / failed!\n", BSP_SD_MNT_DEVNAME);
}
else {
rt_kprintf("%s mounted on / success!\n", BSP_SD_MNT_DEVNAME);
}
#endif

#ifdef BSP_ROOTFS_TYPE_CROMFS
rt_err_t ret;

ret = mnt_cromfs();
Expand All @@ -32,27 +56,26 @@ int mnt_init(void)
rt_kprintf("CromFS mount failed!\n");
return ret;
}
else
{
rt_kprintf("CromFS mount success!\n");
}
#endif

mkdir("/dev/shm", 0x777);

if (dfs_mount(RT_NULL, "/dev/shm", "tmp", 0, 0) != 0)
{
rt_kprintf("Dir /dev/shm mount failed!\n");
rt_kprintf("tmpfs mounted on /dev/shm failed!\n");
}

#ifdef BSP_SD_SDIO_DEV
while (mmcsd_wait_cd_changed(100) != MMCSD_HOST_PLUGED)
;

if (dfs_mount(BSP_SD_MNT_DEVNAME, "/mnt", "elm", 0, 0) != 0)
{
rt_kprintf("Dir /mnt mount failed!\n");
else {
rt_kprintf("tmpfs mounted on /dev/shm success!\n");
}
#endif

rt_kprintf("file system initialization done!\n");

return 0;
}
INIT_ENV_EXPORT(mnt_init);
#endif

#endif /* RT_USING_DFS */
42 changes: 22 additions & 20 deletions bsp/k230/board/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,38 @@ menu "Drivers Configuration"
menuconfig BSP_USING_SDIO
bool "Enable SDIO"
select RT_USING_SDIO
default n
default y

if BSP_USING_SDIO
config BSP_USING_SDIO0
bool "Enable SDIO0"
default n

if BSP_USING_SDIO0
config BSP_SDIO0_EMMC
bool "Enable eMMC"
default y
choice BSP_SDIO_DEV
prompt "Select SDIO device"
default BSP_USING_SDIO0
help
Select the SDIO device to be used.

config BSP_SDIO0_1V8
bool "Enable 1.8V"
config BSP_USING_SDIO0
bool "Enable SDIO0"
default y
endif

config BSP_USING_SDIO1
bool "Enable SDIO1"
default y
if BSP_USING_SDIO0
config BSP_SDIO0_EMMC
bool "Enable eMMC"
default n

config BSP_SD_SDIO_DEV
int "SDIO device SdCard on"
range 0 1
default 1
config BSP_SDIO0_1V8
bool "Enable 1.8V"
default n
endif

config BSP_USING_SDIO1
bool "Enable SDIO1"
default n
endchoice

config BSP_SD_MNT_DEVNAME
string "The name of the SD-BlkDev to be mounted"
default "sd13"
default "sd0p1"
endif


endmenu
Loading