This commit is contained in:
Mysteo91
2023-07-20 14:45:43 +03:00
parent 5a2dc014b0
commit 4996465507
6 changed files with 28 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="OCD Boot" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="" TARGET_NAME="boot.elf" CONFIG_NAME="BOOT_DEBUG" version="1" RUN_TARGET_PROJECT_NAME="" RUN_TARGET_NAME="boot.elf"> <configuration default="false" name="OCD Boot" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="myProject" TARGET_NAME="boot.elf" CONFIG_NAME="BOOT_DEBUG" version="1" RUN_TARGET_PROJECT_NAME="myProject" RUN_TARGET_NAME="boot.elf">
<openocd version="1" gdb-port="3333" telnet-port="4444" board-config="board/st_nucleo_g0.cfg" reset-type="RUN" download-type="UPDATED_ONLY"> <openocd version="1" gdb-port="3333" telnet-port="4444" board-config="board/st_nucleo_g0.cfg" reset-type="RUN" download-type="UPDATED_ONLY">
<debugger kind="GDB" isBundled="true" /> <debugger kind="GDB" isBundled="true" />
</openocd> </openocd>

View File

@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager"> <component name="ProjectRunConfigurationManager">
<configuration default="false" name="OCD mainprog" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="" TARGET_NAME="main_prog.elf" CONFIG_NAME="Debug" version="1" RUN_TARGET_PROJECT_NAME="" RUN_TARGET_NAME="main_prog.elf"> <configuration default="false" name="OCD mainprog" type="com.jetbrains.cidr.embedded.openocd.conf.type" factoryName="com.jetbrains.cidr.embedded.openocd.conf.factory" REDIRECT_INPUT="false" ELEVATE="false" USE_EXTERNAL_CONSOLE="false" PASS_PARENT_ENVS_2="true" PROJECT_NAME="myProject" TARGET_NAME="main_prog.elf" CONFIG_NAME="Debug" version="1" RUN_TARGET_PROJECT_NAME="myProject" RUN_TARGET_NAME="main_prog.elf">
<openocd version="1" gdb-port="3333" telnet-port="4444" board-config="board/st_nucleo_g0.cfg" reset-type="INIT" download-type="UPDATED_ONLY"> <openocd version="1" gdb-port="3333" telnet-port="4444" board-config="board/st_nucleo_g0.cfg" reset-type="INIT" download-type="UPDATED_ONLY">
<debugger kind="GDB" isBundled="true" /> <debugger kind="GDB" isBundled="true" />
</openocd> </openocd>

View File

@@ -1,6 +1,4 @@
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
project(boot C CXX ASM) project(boot C CXX ASM)
@@ -48,8 +46,8 @@ list(FILTER SOURCES EXCLUDE REGEX "IAR\\/.*.[c|h]$")
list(FILTER SOURCES EXCLUDE REGEX "Keil\\/.*.[c|h]$") list(FILTER SOURCES EXCLUDE REGEX "Keil\\/.*.[c|h]$")
set(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/Boot/STM32G070CBTX_FLASH.ld) set(LINKER_SCRIPT ${CMAKE_SOURCE_DIR}/Boot/STM32G070CBTX_FLASH.ld)
add_executable(${PROJECT_NAME}.elf ${SOURCES} ) add_executable(${PROJECT_NAME}.elf ${SOURCES} )
target_compile_options(${PROJECT_NAME}.elf PUBLIC ${COMPILE_OPTIONS}) target_compile_options(${PROJECT_NAME}.elf PUBLIC $ENV{COMPILE_OPTIONS})
target_link_options(${PROJECT_NAME}.elf PUBLIC ${LINK_OPTIONS}) target_link_options(${PROJECT_NAME}.elf PUBLIC $ENV{LINK_OPTIONS})
set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex) set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin) set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
target_include_directories(${PROJECT_NAME}.elf PRIVATE ${INCLUDE_DIR} ) target_include_directories(${PROJECT_NAME}.elf PRIVATE ${INCLUDE_DIR} )

View File

@@ -34,7 +34,7 @@
/* Entry Point */ /* Entry Point */
ENTRY(Reset_Handler) ENTRY(Reset_Handler)
INCLUDE memory_map.inc INCLUDE Boot/memory_map.inc
/* Highest address of the user mode stack */ /* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ _estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */

View File

@@ -5,7 +5,11 @@ cmake_minimum_required(VERSION 3.23)
#/////////////////////////////////////////////PLEASE CHOOSE THIS OPTIONS BY YOURSELF #/////////////////////////////////////////////PLEASE CHOOSE THIS OPTIONS BY YOURSELF
set (ENV{HAL_DRIVER_CONFIG} ${CMAKE_CURRENT_SOURCE_DIR}/main_prog/Core/Inc/stm32g0xx_hal_conf.h) set (ENV{HAL_DRIVER_CONFIG} ${CMAKE_CURRENT_SOURCE_DIR}/main_prog/Core/Inc/stm32g0xx_hal_conf.h)
set(ENV{MCU} "STM32G070xx") set(ENV{MCU} "STM32G070xx")
set(ENV{LINKER_SCRIPT} ${CMAKE_SOURCE_DIR}/STM32G070CBTX_FLASH.ld) if(BOOT)
set (ENV{LINKER_SCRIPT} ${CMAKE_SOURCE_DIR}/Boot/STM32G070CBTX_FLASH.ld)
else()
set(ENV{LINKER_SCRIPT} ${CMAKE_SOURCE_DIR}/STM32G070CBTX_FLASH.ld )
endif()
set(ENV{FREERTOS_CONFIG} "${CMAKE_CURRENT_SOURCE_DIR}/main_prog/Core/Inc/FreeRTOSConfig.h") set(ENV{FREERTOS_CONFIG} "${CMAKE_CURRENT_SOURCE_DIR}/main_prog/Core/Inc/FreeRTOSConfig.h")
#///////////////////////////////////////////// #/////////////////////////////////////////////
@@ -44,12 +48,15 @@ else()
add_subdirectory(cmake_func) add_subdirectory(cmake_func)
math(EXPR LEN_ADDRESS "${FLASH_MAIN_ADDRESS} + ${LEN_OFFSET}" OUTPUT_FORMAT HEXADECIMAL) math(EXPR LEN_ADDRESS "${FLASH_MAIN_ADDRESS} + ${LEN_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
add_compile_definitions("PAGE_SIZE=0x0800") add_compile_definitions("PAGE_SIZE=0x0800")
set(LEN_OFFSET 0xBC)
set (CRC_ADDRESS 0)
set (FLASH_MAIN_ADDRESS 0)
set(MEM_MAP_FILE "memory_map.inc")
math(EXPR LEN_ADDRESS "${FLASH_MAIN_ADDRESS} + ${LEN_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
add_compile_definitions("PAGE_SIZE=0x0800")
if (BOOT)
add_compile_definitions("BOOT_FLASH_VECTOR_TABLE_CS_OFFSET=${LEN_OFFSET}" "LEN_ADDRESS=${LEN_ADDRESS}")
add_subdirectory(libs)
add_subdirectory(Boot)
else()
set(CMAKE_AR arm-none-eabi-ar) set(CMAKE_AR arm-none-eabi-ar)
set(CMAKE_OBJCOPY arm-none-eabi-objcopy) set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
@@ -114,6 +121,14 @@ else()
endif() endif()
set(ENV{COMPILE_OPTIONS} "${COMPILE_OPTIONS}") set(ENV{COMPILE_OPTIONS} "${COMPILE_OPTIONS}")
set(ENV{COMPILE_DEF} "${COMPILE_DEF}") set(ENV{COMPILE_DEF} "${COMPILE_DEF}")
if (BOOT)
set (ENV{HAL_DRIVER_CONFIG} ${CMAKE_CURRENT_SOURCE_DIR}/main_prog/Core/Inc/stm32g0xx_hal_conf.h)
FUNC_CREATE_MEMORY_MAP("${MEM_MAP_FILE}" "128" "8" "4" )
add_compile_definitions("BOOT_FLASH_VECTOR_TABLE_CS_OFFSET=${LEN_OFFSET}" "LEN_ADDRESS=${LEN_ADDRESS}")
add_compile_definitions("PAGE_SIZE=0x0800")
add_subdirectory(libs)
add_subdirectory(Boot)
else()
add_subdirectory(libs) add_subdirectory(libs)
add_subdirectory(main_prog) add_subdirectory(main_prog)
endif() endif()

View File

@@ -37,7 +37,7 @@ extern "C" {
/* #define HAL_ADC_MODULE_ENABLED */ /* #define HAL_ADC_MODULE_ENABLED */
/* #define HAL_CEC_MODULE_ENABLED */ /* #define HAL_CEC_MODULE_ENABLED */
/* #define HAL_COMP_MODULE_ENABLED */ /* #define HAL_COMP_MODULE_ENABLED */
/* #define HAL_CRC_MODULE_ENABLED */ #define HAL_CRC_MODULE_ENABLED
/* #define HAL_CRYP_MODULE_ENABLED */ /* #define HAL_CRYP_MODULE_ENABLED */
/* #define HAL_DAC_MODULE_ENABLED */ /* #define HAL_DAC_MODULE_ENABLED */
/* #define HAL_EXTI_MODULE_ENABLED */ /* #define HAL_EXTI_MODULE_ENABLED */