move check stack to cmake and run in Jenkins

This commit is contained in:
Daniel Agar
2018-04-12 16:06:53 -04:00
parent 0c9f483581
commit 90b81cf4c4
3 changed files with 36 additions and 13 deletions

View File

@@ -171,13 +171,31 @@ add_custom_target(size
COMMAND size ${FW_NAME}
DEPENDS ${FW_NAME}
WORKING_DIRECTORY ${PX4_BINARY_DIR}
USES_TERMINAL
)
# print weak symbols
add_custom_target(check_weak
COMMAND ${NM} ${FW_NAME} | ${GREP} " w " | cat
add_custom_target(weak_symbols
COMMAND ${CMAKE_NM} $<TARGET_FILE:${FW_NAME}> | ${GREP} " w " | cat
DEPENDS ${FW_NAME}
VERBATIM
USES_TERMINAL
)
add_custom_target(stack_check
COMMAND ${CMAKE_COMMAND} -E make_directory stack_usage && ${CMAKE_OBJDUMP} -d $<TARGET_FILE:${FW_NAME}> | ${PX4_SOURCE_DIR}/Tools/stack_usage/checkstack.pl arm 0 > stack_usage/checkstack_output.txt 2> stack_usage/checkstack_errors.txt
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo "Top 50:"
COMMAND ${CMAKE_COMMAND} -E echo "--------------------------------------------------------------------------------"
COMMAND head -n 50 stack_usage/checkstack_output.txt | c++filt
COMMAND ${CMAKE_COMMAND} -E echo ""
COMMAND ${CMAKE_COMMAND} -E echo "Symbols with 'run', 'task', 'thread', 'main', 'update':"
COMMAND ${CMAKE_COMMAND} -E echo "--------------------------------------------------------------------------------"
COMMAND cat stack_usage/checkstack_output.txt | c++filt | grep -E 'run|task|thread|main|update'
DEPENDS ${FW_NAME}
WORKING_DIRECTORY ${PX4_BINARY_DIR}
VERBATIM
)
# debugger helpers