@ -31,11 +31,11 @@
@@ -31,11 +31,11 @@
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# jlink_upload ( flash binary )
find_program ( JLinkGDBServerCLExe_PATH JLinkGDBServerCLExe
H I N T S / A p p l i c a t i o n s / S E G G E R / J L i n k
)
if ( JLinkGDBServerCLExe_PATH )
# jlink_upload ( flash binary )
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /Debug/jlink_gdb_start.sh.in ${ PX4_BINARY_DIR } /jlink_gdb_start.sh @ONLY )
add_custom_target ( jlink_upload
C O M M A N D $ { P X 4 _ B I N A R Y _ D I R } / j l i n k _ g d b _ s t a r t . s h
@ -47,6 +47,24 @@ if(JLinkGDBServerCLExe_PATH)
@@ -47,6 +47,24 @@ if(JLinkGDBServerCLExe_PATH)
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
# j l i n k _ u p l o a d _ b o o t l o a d e r
# b o a r d d i r e c t o r y s u p p l i e d b o o t l o a d e r . b i n
if ( TARGET bootloader_elf )
# j l i n k _ u p l o a d _ b o o t l o a d e r
add_custom_target ( jlink_upload_bootloader
C O M M A N D $ { P X 4 _ B I N A R Y _ D I R } / j l i n k _ g d b _ s t a r t . s h
C O M M A N D $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / D e b u g / u p l o a d _ j l i n k _ g d b . s h $ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . e l f
D E P E N D S
$ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . e l f
$ { P X 4 _ B I N A R Y _ D I R } / j l i n k _ g d b _ s t a r t . s h
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / D e b u g / u p l o a d _ j l i n k _ g d b . s h
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
endif ( )
endif ( )
# jlink_debug_gdb ( flash binary and run with gdb attached )
@ -82,54 +100,47 @@ if(Ozone_PATH)
@@ -82,54 +100,47 @@ if(Ozone_PATH)
)
endif ( )
if ( bootloader_bin OR ( EXISTS "${PX4_BOARD_DIR}/bootloader/${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin" ) )
# . b i n f l a s h i n g
find_program ( JLinkExe_PATH JLinkExe )
if ( JLinkExe_PATH )
if ( bootloader_bin )
set ( BOARD_BL_FIRMWARE_BIN ${ bootloader_bin } )
else ( )
set ( BOARD_BL_FIRMWARE_BIN ${ PX4_BOARD_DIR } /bootloader/ ${ PX4_BOARD_VENDOR } _ ${ PX4_BOARD_MODEL } _bootloader.bin )
endif ( )
# j l i n k _ f l a s h _ b o o t l o a d e r _ b i n
if ( bootloader_bin OR ( EXISTS ${ PX4_BOARD_DIR } /bootloader/ ${ PX4_BOARD_VENDOR } _ ${ PX4_BOARD_MODEL } _bootloader.bin ) )
# j l i n k _ u p l o a d _ b o o t l o a d e r
if ( JLinkGDBServerCLExe_PATH )
add_custom_target ( jlink_upload_bootloader
C O M M A N D $ { P X 4 _ B I N A R Y _ D I R } / j l i n k _ g d b _ s t a r t . s h
C O M M A N D $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / D e b u g / u p l o a d _ j l i n k _ g d b . s h $ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . e l f
D E P E N D S
$ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . e l f
$ { P X 4 _ B I N A R Y _ D I R } / j l i n k _ g d b _ s t a r t . s h
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / D e b u g / u p l o a d _ j l i n k _ g d b . s h
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
endif ( )
set ( BOARD_FIRMWARE_BIN "${PX4_BOARD_VENDOR}_${PX4_BOARD_MODEL}_bootloader.bin" )
set ( BOARD_FIRMWARE_APP_OFFSET "0x08000000" )
configure_file ( ${ PX4_SOURCE_DIR } /platforms/nuttx/Debug/flash_bin.jlink.in ${ PX4_BINARY_DIR } /flash_bootloader_bin.jlink @ONLY )
# j l i n k _ f l a s h _ b o o t l o a d e r _ b i n
find_program ( JLinkExe_PATH JLinkExe )
if ( JLinkExe_PATH )
file ( RELATIVE_PATH BOARD_BL_FIRMWARE_BIN ${ PX4_BINARY_DIR } ${ BOARD_BL_FIRMWARE_BIN } )
if ( bootloader_bin )
add_custom_command ( OUTPUT ${ PX4_BINARY_DIR } / ${ BOARD_FIRMWARE_BIN }
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ i f _ d i f f e r e n t $ { b o o t l o a d e r _ b i n } $ { P X 4 _ B I N A R Y _ D I R } / $ { B O A R D _ F I R M W A R E _ B I N }
D E P E N D S $ { b o o t l o a d e r _ b i n }
)
elseif ( EXISTS ${ PX4_BOARD_DIR } /bootloader/ ${ PX4_BOARD_VENDOR } _ ${ PX4_BOARD_MODEL } _bootloader.bin )
add_custom_command ( OUTPUT ${ PX4_BINARY_DIR } / ${ BOARD_FIRMWARE_BIN }
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ i f _ d i f f e r e n t $ { P X 4 _ B O A R D _ D I R } / b o o t l o a d e r / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . b i n $ { P X 4 _ B I N A R Y _ D I R } / $ { B O A R D _ F I R M W A R E _ B I N }
D E P E N D S $ { P X 4 _ B O A R D _ D I R } / b o o t l o a d e r / $ { P X 4 _ B O A R D _ V E N D O R } _ $ { P X 4 _ B O A R D _ M O D E L } _ b o o t l o a d e r . b i n
)
endif ( )
configure_file ( ${ CMAKE_CURRENT_SOURCE_DIR } /Debug/flash_bootloader.jlink.in ${ PX4_BINARY_DIR } /flash_bootloader.jlink @ONLY )
add_custom_target ( jlink_flash_bootloader_bin
C O M M A N D $ { J L i n k E x e _ P A T H } - C o m m a n d F i l e $ { P X 4 _ B I N A R Y _ D I R } / f l a s h _ b o o t l o a d e r . j l i n k
C O M M A N D $ { J L i n k E x e _ P A T H } - C o m m a n d F i l e $ { P X 4 _ B I N A R Y _ D I R } / f l a s h _ b o o t l o a d e r _ b i n . j l i n k
D E P E N D S
p x 4
$ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / D e b u g / f l a s h _ b o o t l o a d e r . j l i n k . i n
$ { P X 4 _ B I N A R Y _ D I R } / $ { B O A R D _ F I R M W A R E _ B I N }
$ { P X 4 _ S O U R C E _ D I R } / p l a t f o r m s / n u t t x / D e b u g / f l a s h _ b i n . j l i n k . i n
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
endif ( )
endif ( )
if ( uavcan_bl_image_name )
# j l i n k _ f l a s h _ b o o t l o a d e r
find_program ( JLinkExe_PATH JLinkExe )
if ( JLinkExe_PATH )
set ( BOARD_FIRMWARE_BIN ${ PX4_BINARY_DIR } / ${ uavcan_bl_image_name } )
# j l i n k _ f l a s h _ b i n
if ( uavcan_bl_image_name )
# u a v c a n s i g n e d f i r m w a r e
set ( BOARD_FIRMWARE_BIN ${ uavcan_bl_image_name } )
set ( BOARD_FIRMWARE_APP_OFFSET "0x08010000" )
configure_file ( ${ PX4_SOURCE_DIR } /platforms/nuttx/Debug/flash_bin.jlink.in ${ PX4_BINARY_DIR } /flash_bin.jlink @ONLY )
add_custom_target ( jlink_flash_uavcan_bin
add_custom_target ( jlink_flash_bin
C O M M A N D $ { J L i n k E x e _ P A T H } - C o m m a n d F i l e $ { P X 4 _ B I N A R Y _ D I R } / f l a s h _ b i n . j l i n k
D E P E N D S
$ { P X 4 _ S O U R C E _ D I R } / p l a t f o r m s / n u t t x / D e b u g / f l a s h _ b i n . j l i n k . i n
@ -137,5 +148,21 @@ if(uavcan_bl_image_name)
@@ -137,5 +148,21 @@ if(uavcan_bl_image_name)
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
else ( )
# r e g u l a r f i r m w a r e $ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D } . b i n
set ( BOARD_FIRMWARE_BIN ${ PX4_BOARD } .bin )
set ( BOARD_FIRMWARE_APP_OFFSET "0x08008000" ) # T O D O : g e t f r o m b o a r d
configure_file ( ${ PX4_SOURCE_DIR } /platforms/nuttx/Debug/flash_bin.jlink.in ${ PX4_BINARY_DIR } /flash_bin.jlink @ONLY )
add_custom_target ( jlink_flash_bin
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " W A R N I N G j l i n k _ f l a s h _ b i n c u r r e n t l y a s s u m e s s t a r t i n g a d d r e s s $ { B O A R D _ F I R M W A R E _ A P P _ O F F S E T } "
C O M M A N D $ { J L i n k E x e _ P A T H } - C o m m a n d F i l e $ { P X 4 _ B I N A R Y _ D I R } / f l a s h _ b i n . j l i n k
D E P E N D S
$ { P X 4 _ S O U R C E _ D I R } / p l a t f o r m s / n u t t x / D e b u g / f l a s h _ b i n . j l i n k . i n
$ { P X 4 _ B I N A R Y _ D I R } / $ { P X 4 _ B O A R D } . b i n
W O R K I N G _ D I R E C T O R Y $ { P X 4 _ B I N A R Y _ D I R }
U S E S _ T E R M I N A L
)
endif ( )
endif ( )