Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Commit

Permalink
Fix nordic cmake file
Browse files Browse the repository at this point in the history
  • Loading branch information
Tiangang Song committed Oct 18, 2019
1 parent f3549a7 commit 47089c2
Showing 1 changed file with 32 additions and 36 deletions.
68 changes: 32 additions & 36 deletions vendors/nordic/boards/nrf52840-dk/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -491,46 +491,42 @@ if(AFR_ENABLE_DEMOS OR AFR_ENABLE_TESTS)
${exe_target}
${application_src}
)
endif()

if(NOT AFR_METADATA_MODE)
message(FATAL_ERROR "CMake support for Nordic is not complete yet.")
endif()
# -------------------------------------------------------------------------------------------------
# Additional build configurations
# -------------------------------------------------------------------------------------------------
set(
mkld_flags
-memory-map-segments "FLASH RX 0x0 0x100000$<SEMICOLON>RAM RWX 0x20000000 0x40000"
-section-placement-file "${nrf52840_dir}/flash_placement.xml"
-check-segment-overflow
-symbols "__STACKSIZE__=8192$<SEMICOLON>__STACKSIZE_PROCESS__=0$<SEMICOLON>__HEAPSIZE__=8192"
-section-placement-macros
"FLASH_PH_START=0x0$<SEMICOLON>FLASH_PH_SIZE=0x100000$<SEMICOLON>RAM_PH_START=0x20000000$<SEMICOLON>RAM_PH_SIZE=0x40000$<SEMICOLON>FLASH_START=0x27000$<SEMICOLON>FLASH_SIZE=0xda000$<SEMICOLON>RAM_START=0x200046F8$<SEMICOLON>RAM_SIZE=0x3B908"
)
add_custom_command(
TARGET ${exe_target} PRE_LINK
COMMAND VERBATIM "${AFR_COMPILER_DIR}/../../../bin/mkld" ${mkld_flags} "${CMAKE_BINARY_DIR}/${exe_target}.ld"
)

set(
mkld_flags
-memory-map-segments "FLASH RX 0x0 0x100000$<SEMICOLON>RAM RWX 0x20000000 0x40000"
-section-placement-file "${nrf52840_dir}/flash_placement.xml"
-check-segment-overflow
-symbols "__STACKSIZE__=8192$<SEMICOLON>__STACKSIZE_PROCESS__=0$<SEMICOLON>__HEAPSIZE__=8192"
-section-placement-macros
"FLASH_PH_START=0x0$<SEMICOLON>FLASH_PH_SIZE=0x100000$<SEMICOLON>RAM_PH_START=0x20000000$<SEMICOLON>RAM_PH_SIZE=0x40000$<SEMICOLON>FLASH_START=0x27000$<SEMICOLON>FLASH_SIZE=0xda000$<SEMICOLON>RAM_START=0x200046F8$<SEMICOLON>RAM_SIZE=0x3B908"
)
find_program(gcc_objectcopy arm-none-eabi-objcopy)
find_program(gcc_size arm-none-eabi-size)

add_custom_command(
TARGET ${exe_target} PRE_LINK
COMMAND VERBATIM "${AFR_COMPILER_DIR}/../../../bin/mkld" ${mkld_flags} "${CMAKE_BINARY_DIR}/${exe_target}.ld"
)
if(NOT gcc_objectcopy )
message(FATAL_ERROR "Cannot find arm-none-eabi-objcopy.")
endif()

find_program(gcc_objectcopy arm-none-eabi-objcopy)
find_program(gcc_size arm-none-eabi-size)
set(output_file "$<TARGET_FILE_DIR:${exe_target}>/${exe_target}.hex")

if(NOT gcc_objectcopy )
message(FATAL_ERROR "Cannot find arm-none-eabi-objcopy.")
endif()

set(output_file "$<TARGET_FILE_DIR:${exe_target}>/${exe_target}.hex")
add_custom_command(
TARGET ${exe_target} POST_BUILD
COMMAND "${gcc_objectcopy}" -O ihex "$<TARGET_FILE:${exe_target}>" "${output_file}"
COMMAND "${gcc_size}" "$<TARGET_FILE:${exe_target}>"
)

add_custom_command(
TARGET ${exe_target} POST_BUILD
COMMAND "${gcc_objectcopy}" -O ihex "$<TARGET_FILE:${exe_target}>" "${output_file}"
COMMAND "${gcc_size}" "$<TARGET_FILE:${exe_target}>"
)
add_custom_command(
TARGET ${exe_target} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy "${output_file}" "${CMAKE_BINARY_DIR}"
)
endif()

add_custom_command(
TARGET ${exe_target} POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E copy "${output_file}" "${CMAKE_BINARY_DIR}"
)
if(NOT AFR_METADATA_MODE)
message(FATAL_ERROR "CMake support for Nordic is not complete yet.")
endif()

0 comments on commit 47089c2

Please sign in to comment.