优化stm32f1支持
This commit is contained in:
112
configs/STM32F103ZET6_defconfig
Normal file
112
configs/STM32F103ZET6_defconfig
Normal file
@@ -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"
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -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
|
||||
|
||||
@@ -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 .
|
||||
|
||||
Reference in New Issue
Block a user