--bootloader
This commit is contained in:
@@ -23,6 +23,7 @@ if(GTEST)
|
||||
|
||||
|
||||
else()
|
||||
set(LEN_OFFSET 0xBC)
|
||||
set (CRC_ADDRESS 0)
|
||||
set (FLASH_MAIN_ADDRESS 0)
|
||||
add_subdirectory(cmake_func)
|
||||
@@ -34,6 +35,7 @@ else()
|
||||
set(MEM_MAP_FILE "memory_map.inc")
|
||||
FUNC_CREATE_MEMORY_MAP("${MEM_MAP_FILE}" )
|
||||
endif()
|
||||
math(EXPR LEN_ADDRESS "${FLASH_MAIN_ADDRESS} + ${LEN_OFFSET}" OUTPUT_FORMAT HEXADECIMAL)
|
||||
add_compile_definitions("PAGE_SIZE=0x0800")
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
@@ -80,6 +82,8 @@ else()
|
||||
|
||||
# project settings
|
||||
if (BOOT)
|
||||
|
||||
add_compile_definitions("BOOT_FLASH_VECTOR_TABLE_CS_OFFSET=${LEN_OFFSET}" "LEN_ADDRESS=${LEN_ADDRESS}")
|
||||
add_definitions(-DDEBUG -DUSE_FULL_LL_DRIVER -DUSE_HAL_DRIVER -DSTM32G070xx)
|
||||
project(reader-boot C CXX ASM)
|
||||
add_compile_options(-mcpu=cortex-m0 -mthumb -mthumb-interwork)
|
||||
@@ -131,9 +135,8 @@ else()
|
||||
add_executable(${PROJECT_NAME}.elf ${SOURCES} ${LINKER_SCRIPT})
|
||||
set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
|
||||
set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
|
||||
set(HEX_FILE_SRECORD ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_SRECORD.hex)
|
||||
set(HEX_FILE_SRECORD2 ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_SRECORD2.hex)
|
||||
|
||||
set(HEX_FILE_SRECORD_WITH_LEN_AND_CRC ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_SRECORD.hex)
|
||||
set(AFTER_BUILD_SCRIPT ${PROJECT_SOURCE_DIR}/scripts/after_build.ps1)
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
add_custom_command(TARGET ${PROJECT_NAME}.elf PRE_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/${MEM_MAP_FILE_DEBUG}" ${PROJECT_BINARY_DIR}/${MEM_MAP_FILE}
|
||||
@@ -148,8 +151,7 @@ else()
|
||||
COMMAND ${CMAKE_OBJCOPY} -Oihex $<TARGET_FILE:${PROJECT_NAME}.elf> ${HEX_FILE}
|
||||
COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${PROJECT_NAME}.elf> ${BIN_FILE}
|
||||
COMMENT "Building ${HEX_FILE} Building ${BIN_FILE}"
|
||||
COMMAND srec_cat.exe ${HEX_FILE} -intel -crop ${FLASH_MAIN_ADDRESS} ${CRC_ADDRESS} -fill 0xff ${FLASH_MAIN_ADDRESS} ${CRC_ADDRESS} -CRC32LE ${CRC_ADDRESS} -o ${HEX_FILE_SRECORD} -intel
|
||||
COMMAND ${CMAKE_OBJCOPY} -Obinary -Iihex ${HEX_FILE_SRECORD} ${BIN_FILE}
|
||||
COMMAND powershell ${AFTER_BUILD_SCRIPT} ${HEX_FILE} ${HEX_FILE_SRECORD_WITH_LEN_AND_CRC} ${LEN_ADDRESS}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
Reference in New Issue
Block a user