feat: add lfs file system use on chip flash
This commit is contained in:
parent
13214e33f8
commit
ab4c5fdaa0
57
.config
57
.config
@ -217,7 +217,22 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
|
||||
#
|
||||
# DFS: device virtual file system
|
||||
#
|
||||
# CONFIG_RT_USING_DFS is not set
|
||||
CONFIG_RT_USING_DFS=y
|
||||
CONFIG_DFS_USING_POSIX=y
|
||||
CONFIG_DFS_USING_WORKDIR=y
|
||||
# CONFIG_RT_USING_DFS_MNTTABLE is not set
|
||||
CONFIG_DFS_FD_MAX=16
|
||||
CONFIG_RT_USING_DFS_V1=y
|
||||
# CONFIG_RT_USING_DFS_V2 is not set
|
||||
CONFIG_DFS_FILESYSTEMS_MAX=4
|
||||
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
|
||||
# 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_CROMFS is not set
|
||||
# CONFIG_RT_USING_DFS_RAMFS is not set
|
||||
# CONFIG_RT_USING_DFS_TMPFS is not set
|
||||
# CONFIG_RT_USING_DFS_MQUEUE is not set
|
||||
# end of DFS: device virtual file system
|
||||
|
||||
CONFIG_RT_USING_FAL=y
|
||||
@ -252,7 +267,7 @@ CONFIG_RT_USING_ADC=y
|
||||
CONFIG_RT_USING_PWM=y
|
||||
# CONFIG_RT_USING_PULSE_ENCODER is not set
|
||||
# CONFIG_RT_USING_INPUT_CAPTURE 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
|
||||
@ -311,7 +326,7 @@ CONFIG_RT_CHERRYUSB_DEVICE_DWC2_ST=y
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_NRF5X is not set
|
||||
CONFIG_RT_CHERRYUSB_DEVICE_CDC_ACM=y
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_HID is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_MSC is not set
|
||||
CONFIG_RT_CHERRYUSB_DEVICE_MSC=y
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_AUDIO is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_VIDEO is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_CDC_RNDIS is not set
|
||||
@ -327,6 +342,9 @@ CONFIG_CONFIG_USBDEV_MSC_MAX_BUFSIZE=1024
|
||||
# CONFIG_CONFIG_USBDEV_CDC_ECM_USING_LWIP is not set
|
||||
CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_NONE=y
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_MSC_BLKDEV is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_CDC_ACM_MSC is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV1 is not set
|
||||
# CONFIG_RT_CHERRYUSB_DEVICE_TEMPLATE_WINUSBV2_CDC is not set
|
||||
# CONFIG_RT_CHERRYUSB_HOST is not set
|
||||
@ -753,7 +771,38 @@ CONFIG_PKG_CMSIS_CORE_VER="latest"
|
||||
# CONFIG_PKG_USING_SQLITE is not set
|
||||
# CONFIG_PKG_USING_RTI 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_V250 is not set
|
||||
# CONFIG_PKG_USING_LITTLEFS_V293 is not set
|
||||
# CONFIG_PKG_USING_LITTLEFS_V2112 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_YES_TRACE is not set
|
||||
CONFIG_LFS_NO_DEBUG=y
|
||||
# CONFIG_LFS_NO_WARN is not set
|
||||
# CONFIG_LFS_NO_ERROR is not set
|
||||
# CONFIG_LFS_NO_ASSERT is not set
|
||||
# CONFIG_LFS_NO_INTRINSICS is not set
|
||||
# CONFIG_LFS_NO_MALLOC is not set
|
||||
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_RT_DEF_LFS_DRIVERS=1
|
||||
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
|
||||
|
||||
1
.idea/vcs.xml
generated
1
.idea/vcs.xml
generated
@ -3,6 +3,7 @@
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/packages/CMSIS-Core-latest" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/packages/littlefs-latest" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/packages/stm32h7_cmsis_driver-latest" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/packages/stm32h7_hal_driver-latest" vcs="Git" />
|
||||
</component>
|
||||
|
||||
134
CMakeLists.txt
134
CMakeLists.txt
@ -49,9 +49,12 @@ INCLUDE_DIRECTORIES(
|
||||
packages/erpc-1.14.0/erpc_c/port
|
||||
packages/erpc-1.14.0/erpc_c/setup
|
||||
packages/erpc-1.14.0/erpc_c/transports
|
||||
packages/littlefs-latest
|
||||
rt-thread/include
|
||||
rt-thread/libcpu/arm/common
|
||||
rt-thread/libcpu/arm/cortex-m7
|
||||
rt-thread/components/dfs/dfs_v1/include
|
||||
rt-thread/components/dfs/dfs_v1/filesystems/devfs
|
||||
rt-thread/components/drivers/include
|
||||
rt-thread/components/drivers/ktime
|
||||
rt-thread/components/drivers/ktime/inc
|
||||
@ -99,6 +102,7 @@ INCLUDE_DIRECTORIES(
|
||||
|
||||
ADD_DEFINITIONS(
|
||||
-DSTM32H750xx
|
||||
-DLFS_CONFIG=lfs_config.h
|
||||
-D__RTTHREAD__
|
||||
-DRT_USING_NEWLIBC
|
||||
-DRT_USING_LIBC
|
||||
@ -108,11 +112,11 @@ ADD_DEFINITIONS(
|
||||
|
||||
# Library source files
|
||||
SET(RT_APP_ERPC_SOURCES
|
||||
applications/erpc/proto/generated/servo_service_server.cpp
|
||||
applications/erpc/common/src/erpc_error_handler.cpp
|
||||
applications/erpc/proto/generated/servo_service_interface.cpp
|
||||
applications/erpc/service/src/erpc_server_main.cpp
|
||||
applications/erpc/common/src/erpc_error_handler.cpp
|
||||
applications/erpc/service/src/servo_service_impl.cpp
|
||||
applications/erpc/proto/generated/servo_service_server.cpp
|
||||
applications/erpc/service/src/erpc_server_main.cpp
|
||||
)
|
||||
|
||||
SET(RT_APPLICATIONS_SOURCES
|
||||
@ -120,13 +124,14 @@ SET(RT_APPLICATIONS_SOURCES
|
||||
)
|
||||
|
||||
SET(RT_CHERRYUSB_SOURCES
|
||||
rt-thread/components/drivers/usb/cherryusb/osal/usb_osal_rtthread.c
|
||||
rt-thread/components/drivers/usb/cherryusb/platform/rtthread/usb_msh.c
|
||||
rt-thread/components/drivers/usb/cherryusb/port/dwc2/usb_glue_st.c
|
||||
rt-thread/components/drivers/usb/cherryusb/port/dwc2/usb_dc_dwc2.c
|
||||
rt-thread/components/drivers/usb/cherryusb/platform/rtthread/usb_msh.c
|
||||
rt-thread/components/drivers/usb/cherryusb/class/cdc/usbd_cdc_acm.c
|
||||
rt-thread/components/drivers/usb/cherryusb/platform/rtthread/usb_check.c
|
||||
rt-thread/components/drivers/usb/cherryusb/core/usbd_core.c
|
||||
rt-thread/components/drivers/usb/cherryusb/platform/rtthread/usb_check.c
|
||||
rt-thread/components/drivers/usb/cherryusb/port/dwc2/usb_dc_dwc2.c
|
||||
rt-thread/components/drivers/usb/cherryusb/class/msc/usbd_msc.c
|
||||
rt-thread/components/drivers/usb/cherryusb/osal/usb_osal_rtthread.c
|
||||
)
|
||||
|
||||
SET(RT_COMMON_SOURCES
|
||||
@ -150,8 +155,8 @@ SET(RT_CONTROLLER_SOURCES
|
||||
)
|
||||
|
||||
SET(RT_CPP_SOURCES
|
||||
rt-thread/components/libc/cplusplus/cxx_crt.cpp
|
||||
rt-thread/components/libc/cplusplus/cxx_crt_init.c
|
||||
rt-thread/components/libc/cplusplus/cxx_crt.cpp
|
||||
)
|
||||
|
||||
SET(RT_DEVICEDRIVERS_SOURCES
|
||||
@ -167,6 +172,7 @@ SET(RT_DEVICEDRIVERS_SOURCES
|
||||
rt-thread/components/drivers/ipc/workqueue.c
|
||||
rt-thread/components/drivers/misc/adc.c
|
||||
rt-thread/components/drivers/misc/rt_drv_pwm.c
|
||||
rt-thread/components/drivers/mtd/mtd_nor.c
|
||||
rt-thread/components/drivers/pin/dev_pin.c
|
||||
rt-thread/components/drivers/serial/dev_serial.c
|
||||
rt-thread/components/drivers/spi/dev_qspi_core.c
|
||||
@ -177,6 +183,7 @@ SET(RT_DEVICEDRIVERS_SOURCES
|
||||
SET(RT_DRIVERS_SOURCES
|
||||
board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
|
||||
board/board.c
|
||||
board/ports/fal/fal_flashfs.c
|
||||
board/ports/usb/usb_cdc_char_device.c
|
||||
board/ports/usb/usb_cdc_init.c
|
||||
libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/startup_stm32h750xx.s
|
||||
@ -192,36 +199,45 @@ SET(RT_DRIVERS_SOURCES
|
||||
)
|
||||
|
||||
SET(RT_ERPC_SOURCES
|
||||
packages/erpc-1.14.0/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp
|
||||
packages/erpc-1.14.0/erpc_c/port/erpc_port_rtt.cpp
|
||||
packages/erpc-1.14.0/erpc_c/transports/erpc_usb_cdc_transport.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_transport_arbitrator.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_setup_mbf_dynamic.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_setup_usb_cdc.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_basic_codec.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_server_setup.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_message_buffer.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_framed_transport.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_pre_post_action.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_setup_mbf_dynamic.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_message_loggers.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_server.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_setup_usb_cdc.cpp
|
||||
packages/erpc-1.14.0/erpc_c/transports/erpc_inter_thread_buffer_transport.cpp
|
||||
packages/erpc-1.14.0/erpc_c/transports/erpc_usb_cdc_transport.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_simple_server.cpp
|
||||
packages/erpc-1.14.0/erpc_c/port/erpc_threading_pthreads.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_setup_mbf_static.cpp
|
||||
packages/erpc-1.14.0/erpc_c/setup/erpc_server_setup.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_server.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_crc16.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_message_buffer.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_basic_codec.cpp
|
||||
packages/erpc-1.14.0/erpc_c/port/erpc_port_rtt.cpp
|
||||
packages/erpc-1.14.0/erpc_c/infra/erpc_message_loggers.cpp
|
||||
packages/erpc-1.14.0/erpc_c/port/erpc_threading_pthreads.cpp
|
||||
)
|
||||
|
||||
SET(RT_FAL_SOURCES
|
||||
rt-thread/components/fal/src/fal_rtt.c
|
||||
rt-thread/components/fal/src/fal.c
|
||||
rt-thread/components/fal/src/fal_flash.c
|
||||
rt-thread/components/fal/src/fal_partition.c
|
||||
rt-thread/components/fal/src/fal.c
|
||||
rt-thread/components/fal/src/fal_rtt.c
|
||||
rt-thread/components/fal/src/fal_flash.c
|
||||
)
|
||||
|
||||
SET(RT_FILESYSTEM_SOURCES
|
||||
rt-thread/components/dfs/dfs_v1/filesystems/devfs/devfs.c
|
||||
rt-thread/components/dfs/dfs_v1/src/dfs.c
|
||||
rt-thread/components/dfs/dfs_v1/src/dfs_file.c
|
||||
rt-thread/components/dfs/dfs_v1/src/dfs_fs.c
|
||||
rt-thread/components/dfs/dfs_v1/src/dfs_posix.c
|
||||
)
|
||||
|
||||
SET(RT_FINSH_SOURCES
|
||||
rt-thread/components/finsh/msh_file.c
|
||||
rt-thread/components/finsh/shell.c
|
||||
rt-thread/components/finsh/msh_parse.c
|
||||
rt-thread/components/finsh/cmd.c
|
||||
rt-thread/components/finsh/shell.c
|
||||
rt-thread/components/finsh/msh.c
|
||||
)
|
||||
|
||||
@ -245,15 +261,15 @@ SET(RT_KERNEL_SOURCES
|
||||
|
||||
SET(RT_KLIBC_SOURCES
|
||||
rt-thread/src/klibc/kstdio.c
|
||||
rt-thread/src/klibc/rt_vsscanf.c
|
||||
rt-thread/src/klibc/kstring.c
|
||||
rt-thread/src/klibc/rt_vsscanf.c
|
||||
rt-thread/src/klibc/kerrno.c
|
||||
)
|
||||
|
||||
SET(RT_KTIME_SOURCES
|
||||
rt-thread/components/drivers/ktime/src/hrtimer.c
|
||||
rt-thread/components/drivers/ktime/src/cputimer.c
|
||||
rt-thread/components/drivers/ktime/src/boottime.c
|
||||
rt-thread/components/drivers/ktime/src/hrtimer.c
|
||||
)
|
||||
|
||||
SET(RT_LIBCPU_SOURCES
|
||||
@ -266,37 +282,45 @@ SET(RT_LIBCPU_SOURCES
|
||||
)
|
||||
|
||||
SET(RT_LIBRARIES_SOURCES
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c
|
||||
libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_nor.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_comp.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_crc.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c
|
||||
libraries/STM32H7xx_HAL/CMSIS/Device/ST/STM32H7xx/Source/Templates/system_stm32h7xx.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cryp_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cec.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c
|
||||
libraries/STM32H7xx_HAL/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c
|
||||
)
|
||||
|
||||
SET(RT_LITTLEFS_SOURCES
|
||||
packages/littlefs-latest/lfs.c
|
||||
packages/littlefs-latest/dfs_lfs.c
|
||||
packages/littlefs-latest/lfs_crc.c
|
||||
packages/littlefs-latest/lfs_util.c
|
||||
)
|
||||
|
||||
SET(RT_POSIX_SOURCES
|
||||
@ -315,8 +339,8 @@ SET(RT_POSIX_SOURCES
|
||||
|
||||
SET(RT_SERVO_CONTROL_SOURCES
|
||||
applications/servo_manager/src/servo_driver.cpp
|
||||
applications/servo_manager/src/servo_control.cpp
|
||||
applications/servo_manager/src/servo_manager.cpp
|
||||
applications/servo_manager/src/servo_control.cpp
|
||||
)
|
||||
|
||||
SET(RT_UTC_UTEST_SOURCES
|
||||
@ -352,12 +376,14 @@ ADD_LIBRARY(rtt_DeviceDrivers OBJECT ${RT_DEVICEDRIVERS_SOURCES})
|
||||
ADD_LIBRARY(rtt_Drivers OBJECT ${RT_DRIVERS_SOURCES})
|
||||
ADD_LIBRARY(rtt_erpc OBJECT ${RT_ERPC_SOURCES})
|
||||
ADD_LIBRARY(rtt_Fal OBJECT ${RT_FAL_SOURCES})
|
||||
ADD_LIBRARY(rtt_Filesystem OBJECT ${RT_FILESYSTEM_SOURCES})
|
||||
ADD_LIBRARY(rtt_Finsh OBJECT ${RT_FINSH_SOURCES})
|
||||
ADD_LIBRARY(rtt_Kernel OBJECT ${RT_KERNEL_SOURCES})
|
||||
ADD_LIBRARY(rtt_klibc OBJECT ${RT_KLIBC_SOURCES})
|
||||
ADD_LIBRARY(rtt_ktime OBJECT ${RT_KTIME_SOURCES})
|
||||
ADD_LIBRARY(rtt_libcpu OBJECT ${RT_LIBCPU_SOURCES})
|
||||
ADD_LIBRARY(rtt_Libraries OBJECT ${RT_LIBRARIES_SOURCES})
|
||||
ADD_LIBRARY(rtt_littlefs OBJECT ${RT_LITTLEFS_SOURCES})
|
||||
ADD_LIBRARY(rtt_POSIX OBJECT ${RT_POSIX_SOURCES})
|
||||
ADD_LIBRARY(rtt_servo_control OBJECT ${RT_SERVO_CONTROL_SOURCES})
|
||||
|
||||
@ -384,12 +410,14 @@ TARGET_LINK_LIBRARIES(${CMAKE_PROJECT_NAME}.elf
|
||||
rtt_Drivers
|
||||
rtt_erpc
|
||||
rtt_Fal
|
||||
rtt_Filesystem
|
||||
rtt_Finsh
|
||||
rtt_Kernel
|
||||
rtt_klibc
|
||||
rtt_ktime
|
||||
rtt_libcpu
|
||||
rtt_Libraries
|
||||
rtt_littlefs
|
||||
rtt_POSIX
|
||||
rtt_servo_control
|
||||
rtt_utc_UTest
|
||||
|
||||
@ -9,6 +9,7 @@ cwd = GetCurrentDir()
|
||||
src = Glob('board.c')
|
||||
src += Glob('CubeMX_Config/Src/stm32h7xx_hal_msp.c')
|
||||
# src += Glob('ports/qspi_flash_init.c')
|
||||
src += Glob('ports/fal/*.c')
|
||||
src += Glob('ports/usb/*.c')
|
||||
path = [cwd]
|
||||
path += [cwd + '/CubeMX_Config/Inc']
|
||||
|
||||
@ -7,12 +7,12 @@
|
||||
|
||||
/* ===================== Flash device Configuration ========================= */
|
||||
|
||||
extern const struct fal_flash_dev stm32_onchip_flash_256k;
|
||||
extern const struct fal_flash_dev stm32_onchip_flash_1024k;
|
||||
|
||||
/* flash device table */
|
||||
#define FAL_FLASH_DEV_TABLE \
|
||||
{ \
|
||||
&stm32_onchip_flash_256k \
|
||||
&stm32_onchip_flash_1024k \
|
||||
}
|
||||
|
||||
/* ====================== Partition Configuration ========================== */
|
||||
@ -21,8 +21,8 @@ extern const struct fal_flash_dev stm32_onchip_flash_256k;
|
||||
|
||||
#define FAL_PART_TABLE \
|
||||
{ \
|
||||
{FAL_PART_MAGIC_WORD, "bl", "onchip_flash_256k", 0, 128 * 1024, 0}, \
|
||||
{FAL_PART_MAGIC_WORD, "config", "onchip_flash_256k", 128 * 1024, 128 * 1024, 0}, \
|
||||
{FAL_PART_MAGIC_WORD, "bl", "onchip_flash_1024k", 0, 128 * 1024, 0}, \
|
||||
{FAL_PART_MAGIC_WORD, "config", "onchip_flash_1024k", 128 * 1024, 896 * 1024, 0}, \
|
||||
}
|
||||
|
||||
#endif /* FAL_PART_HAS_TABLE_CFG */
|
||||
|
||||
114
board/ports/fal/fal_flashfs.c
Normal file
114
board/ports/fal/fal_flashfs.c
Normal file
@ -0,0 +1,114 @@
|
||||
#include <rtthread.h>
|
||||
#include <rtdevice.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "fal.h"
|
||||
|
||||
#if defined(RT_USING_DFS)
|
||||
#include <dfs_fs.h>
|
||||
#endif
|
||||
|
||||
#define DBG_TAG "falcfg"
|
||||
#define DBG_LVL DBG_INFO
|
||||
#include <rtdbg.h>
|
||||
|
||||
#if defined(RT_USING_DFS) && defined(RT_USING_MTD_NOR)
|
||||
|
||||
static const char g_fal_part_name[] = "config";
|
||||
static const char g_fal_mount_path[] = "/";
|
||||
static const char g_fal_fs_name[] = "lfs";
|
||||
|
||||
static rt_bool_t fal_flashfs_partition_is_blank(void)
|
||||
{
|
||||
uint8_t probe[256];
|
||||
const struct fal_partition *part;
|
||||
rt_size_t i;
|
||||
|
||||
part = fal_partition_find(g_fal_part_name);
|
||||
if (!part)
|
||||
{
|
||||
return RT_FALSE;
|
||||
}
|
||||
|
||||
if (fal_partition_read(part, 0, probe, sizeof(probe)) != sizeof(probe))
|
||||
{
|
||||
return RT_FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < sizeof(probe); ++i)
|
||||
{
|
||||
if (probe[i] != 0xFF)
|
||||
{
|
||||
return RT_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return RT_TRUE;
|
||||
}
|
||||
|
||||
static int fal_flashfs_mount(void)
|
||||
{
|
||||
(void)mkdir(g_fal_mount_path, 0);
|
||||
|
||||
if (dfs_mount(g_fal_part_name, g_fal_mount_path, g_fal_fs_name, 0, 0) == 0)
|
||||
{
|
||||
LOG_I("mounted %s at %s as %s",
|
||||
g_fal_part_name,
|
||||
g_fal_mount_path,
|
||||
g_fal_fs_name);
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
return -RT_ERROR;
|
||||
}
|
||||
|
||||
int fal_flashfs_mount_init(void)
|
||||
{
|
||||
rt_device_t dev;
|
||||
|
||||
if (fal_init() <= 0)
|
||||
{
|
||||
LOG_E("fal init failed");
|
||||
return -RT_ERROR;
|
||||
}
|
||||
|
||||
dev = rt_device_find(g_fal_part_name);
|
||||
if (!dev)
|
||||
{
|
||||
dev = fal_mtd_nor_device_create(g_fal_part_name);
|
||||
if (!dev)
|
||||
{
|
||||
LOG_E("create MTD NOR device %s failed", g_fal_part_name);
|
||||
return -RT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
LOG_I("using partition %s as MTD NOR device for %s", g_fal_part_name, g_fal_fs_name);
|
||||
|
||||
if (fal_flashfs_mount() == RT_EOK)
|
||||
{
|
||||
return RT_EOK;
|
||||
}
|
||||
|
||||
if (fal_flashfs_partition_is_blank())
|
||||
{
|
||||
LOG_W("partition %s is blank, formatting as %s", g_fal_part_name, g_fal_fs_name);
|
||||
if ((dfs_mkfs(g_fal_fs_name, g_fal_part_name) == 0) &&
|
||||
(fal_flashfs_mount() == RT_EOK))
|
||||
{
|
||||
return RT_EOK;
|
||||
}
|
||||
}
|
||||
|
||||
LOG_W("mount %s failed; you can try manually: mkfs -t %s %s",
|
||||
g_fal_mount_path,
|
||||
g_fal_fs_name,
|
||||
g_fal_part_name);
|
||||
return RT_EOK;
|
||||
}
|
||||
INIT_ENV_EXPORT(fal_flashfs_mount_init);
|
||||
|
||||
#endif /* RT_USING_DFS && RT_USING_MTD_NOR */
|
||||
@ -151,6 +151,7 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size)
|
||||
{
|
||||
rt_err_t result = RT_EOK;
|
||||
rt_uint32_t SECTORError = 0;
|
||||
rt_bool_t dcache_enabled = RT_FALSE;
|
||||
|
||||
if ((addr + size - 1) > FLASH_END)
|
||||
{
|
||||
@ -197,7 +198,11 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size)
|
||||
HAL_FLASH_Unlock();
|
||||
EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS;
|
||||
EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3;
|
||||
dcache_enabled = ((SCB->CCR & SCB_CCR_DC_Msk) != 0U) ? RT_TRUE : RT_FALSE;
|
||||
if (dcache_enabled)
|
||||
{
|
||||
SCB_DisableDCache();
|
||||
}
|
||||
|
||||
if(size_bank1)
|
||||
{
|
||||
@ -227,7 +232,10 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size)
|
||||
|
||||
__exit:
|
||||
|
||||
if (dcache_enabled)
|
||||
{
|
||||
SCB_EnableDCache();
|
||||
}
|
||||
HAL_FLASH_Lock();
|
||||
|
||||
if (result != RT_EOK)
|
||||
@ -245,6 +253,7 @@ static int fal_flash_write_128k(long offset, const rt_uint8_t *buf, size_t size)
|
||||
static int fal_flash_erase_128k(long offset, size_t size);
|
||||
const struct fal_flash_dev stm32_onchip_flash_128k = { "onchip_flash_128k", 0x08000000, (128 * 1024), (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k} };
|
||||
const struct fal_flash_dev stm32_onchip_flash_256k = { "onchip_flash_256k", 0x08000000, (256 * 1024), (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k},256 };
|
||||
const struct fal_flash_dev stm32_onchip_flash_1024k = { "onchip_flash_1024k", 0x08000000, (1024 * 1024), (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k},256 };
|
||||
|
||||
static int fal_flash_read_128k(long offset, rt_uint8_t *buf, size_t size)
|
||||
{
|
||||
|
||||
@ -2145,7 +2145,7 @@ typedef struct
|
||||
|
||||
#define FLASH_BANK1_BASE (0x08000000UL) /*!< Base address of : (up to 128 KB) Flash Bank1 accessible over AXI */
|
||||
#define FLASH_BANK2_BASE (0x08100000UL) /*!< For legacy only , Flash bank 2 not available on STM32H750xx value line */
|
||||
#define FLASH_END (0x0803FFFFUL) /*!< FLASH end address */
|
||||
#define FLASH_END (0x080FFFFFUL) /*!< FLASH end address */
|
||||
|
||||
/* Legacy define */
|
||||
#define FLASH_BASE FLASH_BANK1_BASE
|
||||
|
||||
1
packages/littlefs-latest
Submodule
1
packages/littlefs-latest
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 194556ba55d43072acfcd50d3bb8dd2bc2beec32
|
||||
@ -4,6 +4,11 @@
|
||||
"path": "/packages/system/CMSIS/CMSIS-Core",
|
||||
"ver": "latest"
|
||||
},
|
||||
{
|
||||
"name": "LITTLEFS",
|
||||
"path": "/packages/system/littlefs",
|
||||
"ver": "latest"
|
||||
},
|
||||
{
|
||||
"name": "STM32H7_HAL_DRIVER",
|
||||
"path": "/packages/peripherals/hal-sdk/stm32/stm32h7_hal_driver",
|
||||
|
||||
21
rtconfig.h
21
rtconfig.h
@ -135,6 +135,14 @@
|
||||
|
||||
/* DFS: device virtual file system */
|
||||
|
||||
#define RT_USING_DFS
|
||||
#define DFS_USING_POSIX
|
||||
#define DFS_USING_WORKDIR
|
||||
#define DFS_FD_MAX 16
|
||||
#define RT_USING_DFS_V1
|
||||
#define DFS_FILESYSTEMS_MAX 4
|
||||
#define DFS_FILESYSTEM_TYPES_MAX 4
|
||||
#define RT_USING_DFS_DEVFS
|
||||
/* end of DFS: device virtual file system */
|
||||
#define RT_USING_FAL
|
||||
#define FAL_USING_DEBUG
|
||||
@ -150,6 +158,7 @@
|
||||
#define RT_SERIAL_RB_BUFSZ 64
|
||||
#define RT_USING_ADC
|
||||
#define RT_USING_PWM
|
||||
#define RT_USING_MTD_NOR
|
||||
#define RT_USING_SPI
|
||||
#define RT_USING_QSPI
|
||||
#define RT_USING_PIN
|
||||
@ -159,6 +168,7 @@
|
||||
#define RT_CHERRYUSB_DEVICE_SPEED_FS
|
||||
#define RT_CHERRYUSB_DEVICE_DWC2_ST
|
||||
#define RT_CHERRYUSB_DEVICE_CDC_ACM
|
||||
#define RT_CHERRYUSB_DEVICE_MSC
|
||||
#define CONFIG_USBDEV_REQUEST_BUFFER_LEN 1024
|
||||
#define CONFIG_USBDEV_MSC_MAX_BUFSIZE 1024
|
||||
#define RT_CHERRYUSB_DEVICE_TEMPLATE_NONE
|
||||
@ -294,6 +304,17 @@
|
||||
/* Micrium: Micrium software products porting for RT-Thread */
|
||||
|
||||
/* end of Micrium: Micrium software products porting for RT-Thread */
|
||||
#define PKG_USING_LITTLEFS
|
||||
#define PKG_USING_LITTLEFS_LATEST_VERSION
|
||||
#define LFS_READ_SIZE 256
|
||||
#define LFS_PROG_SIZE 256
|
||||
#define LFS_BLOCK_SIZE 4096
|
||||
#define LFS_NO_DEBUG
|
||||
#define LFS_CACHE_SIZE 256
|
||||
#define LFS_BLOCK_CYCLES -1
|
||||
#define LFS_THREADSAFE
|
||||
#define LFS_LOOKAHEAD_MAX 128
|
||||
#define RT_DEF_LFS_DRIVERS 1
|
||||
/* end of system packages */
|
||||
|
||||
/* peripheral libraries and drivers */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user