diff --git a/configs/STM32F103ZET6_defconfig b/configs/STM32F103ZET6_defconfig new file mode 100644 index 000000000..2a7e3d5cc --- /dev/null +++ b/configs/STM32F103ZET6_defconfig @@ -0,0 +1,112 @@ + +# +# Knl config +# +CONFIG_KNL_INFO=y +CONFIG_KNL_TEXT_ADDR=0x8000000 +CONFIG_KNL_TEXT_SIZE=0x100000 +CONFIG_KNL_DATA_ADDR=0x20000000 +CONFIG_KNL_DATA_SIZE=0x2000000 +CONFIG_KNL_OFFSET=0x2000 +CONFIG_INIT_TASK_OFFSET=0x10000 +CONFIG_BOOTFS_OFFSET=0x22000 +CONFIG_MK_MPU_CFG=y +CONFIG_FT_ADDR_NR=16 +CONFIG_SYS_SCHE_HZ=1000 +CONFIG_USER_ISR_START_NO=16 +CONFIG_IRQ_REG_TAB_SIZE=80 +CONFIG_REGION_NUM=8 +CONFIG_OBJ_MAP_TAB_SIZE=4 +CONFIG_OBJ_MAP_ENTRY_SIZE=8 +CONFIG_PRINTK_CACHE_SIZE=128 +# end of Knl config + +# +# Libc backend +# +CONFIG_FD_MAP_ROW_CN=16 +CONFIG_FD_MAP_ROW_NR=16 +# end of Libc backend + +# +# Sys util config +# +CONFIG_USING_SIG=y +CONFIG_SIG_THREAD_STACK_SIZE=512 +CONFIG_SIG_THREAD_PRIO=3 +# end of Sys util config + +# +# DFS: device virtual file system +# +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 + +# +# Device Drivers +# +# CONFIG_RT_USING_DM is not set +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +# 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=y +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_MTD_NOR is not set +# 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_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_LCD is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_DEV_BUS is not set +# CONFIG_RT_USING_WIFI is not set +# CONFIG_RT_USING_VIRTIO is not set + +# +# Using USB +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set +# end of Using USB +# end of Device Drivers + +CONFIG_CPU_TYPE="stm32f1" +CONFIG_RTT_DIR="./" +CONFIG_ARCH="cortex-m3" diff --git a/mkrtos_bootstrap/CMakeLists.txt b/mkrtos_bootstrap/CMakeLists.txt index 1e854bb99..3f367dd69 100755 --- a/mkrtos_bootstrap/CMakeLists.txt +++ b/mkrtos_bootstrap/CMakeLists.txt @@ -15,7 +15,7 @@ include_directories(${CMAKE_SOURCE_DIR}/mkrtos_bootstrap/inc) file(GLOB deps *.c) -if (${CONFIG_CPU_TYPE} STREQUAL "STM32F1x") +if (${CONFIG_CPU_TYPE} STREQUAL "stm32f1") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSTM32F10X_XL ") file(GLOB @@ -26,14 +26,14 @@ if (${CONFIG_CPU_TYPE} STREQUAL "STM32F1x") ) list(APPEND deps ${bsp_src}) include_directories( - ${CMAKE_SOURCE_DIR}/mkrtos_bootstrap/bsp/STM32F1x + ${CMAKE_SOURCE_DIR}/mkrtos_bootstrap/bsp/STM32F1 ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Include ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport ) - add_subdirectory(bsp/STM32F1x) + add_subdirectory(bsp/STM32F1) elseif(${CONFIG_CPU_TYPE} STREQUAL "stm32f2" ) file(GLOB bsp_src ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/src/*.c) diff --git a/mkrtos_bootstrap/bsp/STM32F1x/CMakeLists.txt b/mkrtos_bootstrap/bsp/STM32F1/CMakeLists.txt similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/CMakeLists.txt rename to mkrtos_bootstrap/bsp/STM32F1/CMakeLists.txt diff --git a/mkrtos_bootstrap/bsp/STM32F1x/link.lds b/mkrtos_bootstrap/bsp/STM32F1/link.lds similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/link.lds rename to mkrtos_bootstrap/bsp/STM32F1/link.lds diff --git a/mkrtos_bootstrap/bsp/STM32F1x/mk_sys.h b/mkrtos_bootstrap/bsp/STM32F1/mk_sys.h similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/mk_sys.h rename to mkrtos_bootstrap/bsp/STM32F1/mk_sys.h diff --git a/mkrtos_bootstrap/bsp/STM32F1x/startup_stm32f10x_xl.s b/mkrtos_bootstrap/bsp/STM32F1/startup_stm32f10x_xl.s similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/startup_stm32f10x_xl.s rename to mkrtos_bootstrap/bsp/STM32F1/startup_stm32f10x_xl.s diff --git a/mkrtos_bootstrap/bsp/STM32F1x/stm32_start.c b/mkrtos_bootstrap/bsp/STM32F1/stm32_start.c similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/stm32_start.c rename to mkrtos_bootstrap/bsp/STM32F1/stm32_start.c diff --git a/mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_conf.h b/mkrtos_bootstrap/bsp/STM32F1/stm32f10x_conf.h similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_conf.h rename to mkrtos_bootstrap/bsp/STM32F1/stm32f10x_conf.h diff --git a/mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_it.c b/mkrtos_bootstrap/bsp/STM32F1/stm32f10x_it.c similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_it.c rename to mkrtos_bootstrap/bsp/STM32F1/stm32f10x_it.c diff --git a/mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_it.h b/mkrtos_bootstrap/bsp/STM32F1/stm32f10x_it.h similarity index 100% rename from mkrtos_bootstrap/bsp/STM32F1x/stm32f10x_it.h rename to mkrtos_bootstrap/bsp/STM32F1/stm32f10x_it.h diff --git a/mkrtos_knl/arch/armv7m/CMakeLists.txt b/mkrtos_knl/arch/armv7m/CMakeLists.txt index aae00ca69..cd3785828 100755 --- a/mkrtos_knl/arch/armv7m/CMakeLists.txt +++ b/mkrtos_knl/arch/armv7m/CMakeLists.txt @@ -5,15 +5,16 @@ file(GLOB deps *.c *.S) add_library(arch STATIC ${deps}) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__MPU_PRESENT=1 -DUSE_STDPERIPH_DRIVER=1 ") -if (${CONFIG_CPU_TYPE} STREQUAL "STM32F1x") +if (${CONFIG_CPU_TYPE} STREQUAL "stm32f1") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSTM32F10X_XL ") target_include_directories( arch PUBLIC - ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1x + ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1 ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc + ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport ) - add_subdirectory(stm32f1x) + add_subdirectory(stm32f1) elseif(${CONFIG_CPU_TYPE} STREQUAL "stm32f2" ) target_include_directories( arch diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/CMakeLists.txt b/mkrtos_knl/arch/armv7m/stm32f1/CMakeLists.txt similarity index 68% rename from mkrtos_knl/arch/armv7m/stm32f1x/CMakeLists.txt rename to mkrtos_knl/arch/armv7m/stm32f1/CMakeLists.txt index 2f84e30ba..02e5e678f 100755 --- a/mkrtos_knl/arch/armv7m/stm32f1x/CMakeLists.txt +++ b/mkrtos_knl/arch/armv7m/stm32f1/CMakeLists.txt @@ -2,7 +2,10 @@ cmake_minimum_required(VERSION 3.13) file(GLOB_RECURSE deps **/*.S *.S **/*.C *.c) -file(GLOB bsp_src ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/*.c) +file(GLOB bsp_src +${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/src/*.c +${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport/core_cm3.c +) list(APPEND deps ${bsp_src}) add_library(knl_bsp STATIC ${deps}) target_include_directories( @@ -12,6 +15,7 @@ target_include_directories( ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Include ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport + ${CMAKE_SOURCE_DIR}/mkrtos_knl/inc/lib - ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1x + ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1 ) diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/startup_stm32f10x_xl.s b/mkrtos_knl/arch/armv7m/stm32f1/startup_stm32f10x_xl.s similarity index 100% rename from mkrtos_knl/arch/armv7m/stm32f1x/startup_stm32f10x_xl.s rename to mkrtos_knl/arch/armv7m/stm32f1/startup_stm32f10x_xl.s diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/stm32_sys.h b/mkrtos_knl/arch/armv7m/stm32f1/stm32_sys.h similarity index 100% rename from mkrtos_knl/arch/armv7m/stm32f1x/stm32_sys.h rename to mkrtos_knl/arch/armv7m/stm32f1/stm32_sys.h diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/stm32f10x_conf.h b/mkrtos_knl/arch/armv7m/stm32f1/stm32f10x_conf.h similarity index 100% rename from mkrtos_knl/arch/armv7m/stm32f1x/stm32f10x_conf.h rename to mkrtos_knl/arch/armv7m/stm32f1/stm32f10x_conf.h diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/stm32f10x_it.h b/mkrtos_knl/arch/armv7m/stm32f1/stm32f10x_it.h similarity index 100% rename from mkrtos_knl/arch/armv7m/stm32f1x/stm32f10x_it.h rename to mkrtos_knl/arch/armv7m/stm32f1/stm32f10x_it.h diff --git a/mkrtos_knl/arch/armv7m/stm32f1x/system_stm32f10x.c b/mkrtos_knl/arch/armv7m/stm32f1/system_stm32f10x.c similarity index 100% rename from mkrtos_knl/arch/armv7m/stm32f1x/system_stm32f10x.c rename to mkrtos_knl/arch/armv7m/stm32f1/system_stm32f10x.c diff --git a/mkrtos_knl/drivers/CMakeLists.txt b/mkrtos_knl/drivers/CMakeLists.txt index 956e502fe..a25468bf1 100755 --- a/mkrtos_knl/drivers/CMakeLists.txt +++ b/mkrtos_knl/drivers/CMakeLists.txt @@ -3,16 +3,16 @@ cmake_minimum_required(VERSION 3.13) file(GLOB deps *.c *.S) add_library(drv STATIC ${deps}) -if (${CONFIG_CPU_TYPE} STREQUAL "STM32F1x") +if (${CONFIG_CPU_TYPE} STREQUAL "stm32f1") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSTM32F10X_XL ") include_directories( - ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1x + ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f1 ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/Include ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x ${CMAKE_SOURCE_DIR}/mkrtos_bsp/STM32/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport ) - add_subdirectory(stm32f1x) + add_subdirectory(stm32f1) elseif(${CONFIG_CPU_TYPE} STREQUAL "stm32f2" ) include_directories( ${CMAKE_SOURCE_DIR}/mkrtos_knl/arch/armv7m/stm32f2 diff --git a/mkrtos_knl/drivers/stm32f1x/CMakeLists.txt b/mkrtos_knl/drivers/stm32f1/CMakeLists.txt similarity index 100% rename from mkrtos_knl/drivers/stm32f1x/CMakeLists.txt rename to mkrtos_knl/drivers/stm32f1/CMakeLists.txt diff --git a/mkrtos_knl/drivers/stm32f1x/systick/systick.c b/mkrtos_knl/drivers/stm32f1/systick/systick.c similarity index 100% rename from mkrtos_knl/drivers/stm32f1x/systick/systick.c rename to mkrtos_knl/drivers/stm32f1/systick/systick.c diff --git a/mkrtos_knl/drivers/stm32f1x/uart/stm32f1_uart.c b/mkrtos_knl/drivers/stm32f1/uart/stm32f1_uart.c similarity index 100% rename from mkrtos_knl/drivers/stm32f1x/uart/stm32f1_uart.c rename to mkrtos_knl/drivers/stm32f1/uart/stm32f1_uart.c diff --git a/mkrtos_script/build_f1.sh b/mkrtos_script/build_f1.sh index b6c3a414c..8a4ec56d3 100755 --- a/mkrtos_script/build_f1.sh +++ b/mkrtos_script/build_f1.sh @@ -4,13 +4,7 @@ # export TOOLCHAIN_LIB=/home/ATShining/gcc-arm-none-eabi-5_4-2016q3/lib/gcc/arm-none-eabi/5.4.1/armv7-m export TOOLCHAIN=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/bin/ export TOOLCHAIN_LIB=/Users/zhangzheng/gcc-arm-none-eabi-10.3-2021.10/lib/gcc/arm-none-eabi/10.3.1/thumb/v7-m/nofp -export KEN_OFFSET=0x2000 -export INIT_OFFSET=0x10000 -export BOOTFS_ADDR_OFFSET=0x22000 -export KNL_DATA=0x20000000 -export CPU_TYPE=STM32 -export BOARD=STM32F1x -export ARCH=cortex-m3 +export BOARD=STM32F103ZET6 set -e cmake -G Ninja -B build/$KNL .