@@ -915,6 +915,29 @@ def flashscript(self):
915
915
916
916
drv = self ._get_driver_or_new (target , "FlashScriptDriver" , name = name )
917
917
drv .flash (script = self .args .script , args = self .args .script_args )
918
+
919
+ def debugger (self ):
920
+ place = self .get_acquired_place ()
921
+ target = self ._get_target (place )
922
+ name = self .args .name
923
+ from ..resource .lauterbach import (NetworkLauterbachDebugger , NetworkUSBLauterbachDebugger )
924
+ from ..resource .udev import (USBLauterbachDebugger )
925
+
926
+ drv = None
927
+ try :
928
+ drv = target .get_driver ("DebuggerProtocol" , name = name )
929
+ except NoDriverFoundError :
930
+ for resource in target .resources :
931
+ if isinstance (resource , (NetworkLauterbachDebugger , NetworkUSBLauterbachDebugger , USBLauterbachDebugger )):
932
+ drv = self ._get_driver_or_new (target , "LauterbachDriver" , activate = False ,
933
+ name = name )
934
+ if drv :
935
+ break
936
+
937
+ if not drv :
938
+ raise UserError ("target has no compatible resource available" )
939
+ target .activate (drv )
940
+ drv .start ()
918
941
919
942
def bootstrap (self ):
920
943
place = self .get_acquired_place ()
@@ -1646,6 +1669,11 @@ def main():
1646
1669
subparser .add_argument ('--name' , '-n' , help = "optional resource name" )
1647
1670
subparser .set_defaults (func = ClientSession .flashscript )
1648
1671
1672
+ subparser = subparsers .add_parser ('debugger' ,
1673
+ help = "start a debugger" )
1674
+ subparser .add_argument ('--name' , '-n' , help = "optional resource name" )
1675
+ subparser .set_defaults (func = ClientSession .debugger )
1676
+
1649
1677
subparser = subparsers .add_parser ('bootstrap' ,
1650
1678
help = "start a bootloader" )
1651
1679
subparser .add_argument ('-w' , '--wait' , type = float , default = 10.0 )
0 commit comments