Add new target (pinetime-graphics) that flash the bootloader logo into the spi flash memory.
This commit is contained in:
@@ -372,6 +372,26 @@ list(APPEND SOURCE_FILES
|
||||
SystemTask/SystemTask.cpp
|
||||
)
|
||||
|
||||
list(APPEND GRAPHICS_SOURCE_FILES
|
||||
${SDK_SOURCE_FILES}
|
||||
|
||||
# FreeRTOS
|
||||
FreeRTOS/port.c
|
||||
FreeRTOS/port_cmsis_systick.c
|
||||
FreeRTOS/port_cmsis.c
|
||||
|
||||
drivers/SpiNorFlash.cpp
|
||||
drivers/SpiMaster.cpp
|
||||
drivers/Spi.cpp
|
||||
Logging/NrfLogger.cpp
|
||||
|
||||
Components/Gfx/Gfx.cpp
|
||||
drivers/St7789.cpp
|
||||
Components/Brightness/BrightnessController.cpp
|
||||
|
||||
graphics.cpp
|
||||
)
|
||||
|
||||
set(INCLUDE_FILES
|
||||
Logging/Logger.h
|
||||
Logging/NrfLogger.h
|
||||
@@ -581,6 +601,32 @@ add_custom_command(TARGET ${EXECUTABLE_MCUBOOT_NAME}
|
||||
COMMENT "post build steps for ${EXECUTABLE_MCUBOOT_NAME}"
|
||||
)
|
||||
|
||||
# Build binary that writes the graphic assets for the bootloader
|
||||
set(EXECUTABLE_GRAPHICS_NAME "pinetime-graphics")
|
||||
add_executable(${EXECUTABLE_GRAPHICS_NAME} ${GRAPHICS_SOURCE_FILES})
|
||||
target_compile_options(${EXECUTABLE_GRAPHICS_NAME} PUBLIC
|
||||
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
|
||||
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
|
||||
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
|
||||
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
|
||||
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
|
||||
)
|
||||
|
||||
set_target_properties(${EXECUTABLE_GRAPHICS_NAME} PROPERTIES
|
||||
SUFFIX ".out"
|
||||
LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_NAME}.map"
|
||||
CXX_STANDARD 11
|
||||
C_STANDARD 99
|
||||
)
|
||||
|
||||
add_custom_command(TARGET ${EXECUTABLE_GRAPHICS_NAME}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_SIZE_UTIL} ${EXECUTABLE_GRAPHICS_NAME}.out
|
||||
COMMAND ${CMAKE_OBJCOPY} -O binary ${EXECUTABLE_GRAPHICS_NAME}.out "${EXECUTABLE_GRAPHICS_NAME}.bin"
|
||||
COMMAND ${CMAKE_OBJCOPY} -O ihex ${EXECUTABLE_GRAPHICS_NAME}.out "${EXECUTABLE_GRAPHICS_NAME}.hex"
|
||||
COMMENT "post build steps for ${EXECUTABLE_GRAPHICS_NAME}"
|
||||
)
|
||||
|
||||
# FLASH
|
||||
if(USE_JLINK)
|
||||
add_custom_target(FLASH_ERASE
|
||||
|
Reference in New Issue
Block a user