px4_nuttx_generate_builtin_commands( OUT builtin_commands.c MODULE_LIST ${module_libraries} ${config_extra_builtin_cmds} ) px4_nuttx_add_romfs(OUT romfs ROOT ROMFS/px4fmu_common EXTRAS ${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}_${LABEL}.bin ) add_dependencies(romfs fw_io) # add executable add_executable(firmware_nuttx builtin_commands.c) set(nuttx_export_dir ${CMAKE_BINARY_DIR}/${BOARD}/NuttX/nuttx-export) set(link_libs romfs apps nuttx m gcc ) if(NOT ${BOARD} STREQUAL "sim") list(APPEND link_libs nosys) set(main_link_flags "-T${nuttx_export_dir}/build/ld.script" "-Wl,-Map=${CMAKE_BINARY_DIR}/${BOARD}/main.map" ) px4_join(OUT main_link_flags LIST ${main_link_flags} GLUE " ") set_target_properties(firmware_nuttx PROPERTIES LINK_FLAGS ${main_link_flags}) endif() set(fw_file ${CMAKE_CURRENT_BINARY_DIR}/${target_name}.px4) target_link_libraries(firmware_nuttx -Wl,--start-group ${module_libraries} ${config_extra_libs} ${link_libs} -Wl,--end-group) add_custom_target(check_weak COMMAND ${NM} firmware_nuttx | ${GREP} " w " | cat DEPENDS firmware_nuttx VERBATIM ) if(NOT ${BOARD} STREQUAL "sim") set(fw_file ${CMAKE_CURRENT_BINARY_DIR}/${OS}-${BOARD}-${LABEL}.px4) px4_nuttx_add_firmware(OUT ${fw_file} BOARD ${BOARD} EXE ${CMAKE_CURRENT_BINARY_DIR}/firmware_nuttx ${config_firmware_options} ) configure_file(gdbinit.in .gdbinit) add_custom_target(debug COMMAND ${GDBTUI} ${CMAKE_CURRENT_BINARY_DIR}/firmware_nuttx DEPENDS firmware_nuttx ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit ) add_custom_target(debug_io COMMAND ${GDBTUI} ${CMAKE_BINARY_DIR}/src/modules/px4iofirmware/${config_io_board}_${LABEL} DEPENDS firmware_nuttx ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit ) px4_add_upload(OUT upload OS ${OS} BOARD ${BOARD} BUNDLE ${fw_file}) endif() install(FILES ${fw_file} DESTINATION .) # vim: set noet ft=cmake fenc=utf-8 ff=unix :