Skip to content
Snippets Groups Projects
Select Git revision
  • dualcore
  • ch3/leds
  • wip-bootstrap default
  • ch3/time
  • master
5 results

pyboard.py

  • Paul Sokolovsky's avatar
    647e72ca
    tools/pyboard: Add "exec" and "execpty" pseudo-devices support. · 647e72ca
    Paul Sokolovsky authored
    This allows to execute a command and communicate with its stdin/stdout
    via pipes ("exec") or with command-created pseudo-terminal ("execpty"),
    to emulate serial access. Immediate usecase is controlling a QEMU process
    which emulates board's serial via normal console, but it could be used
    e.g. with helper binaries to access real board over other hadware
    protocols, etc.
    
    An example of device specification for these cases is:
    
    	--device exec:../zephyr/qemu.sh
    	--device execpty:../zephyr/qemu2.sh
    
    Where qemu.sh contains long-long qemu startup line, or calls another
    command. There's a special support in this patch for running the command
    in a new terminal session, to support shell wrappers like that (without
    new terminal session, only wrapper script would be terminated, but its
    child processes would continue to run).
    647e72ca
    History
    tools/pyboard: Add "exec" and "execpty" pseudo-devices support.
    Paul Sokolovsky authored
    This allows to execute a command and communicate with its stdin/stdout
    via pipes ("exec") or with command-created pseudo-terminal ("execpty"),
    to emulate serial access. Immediate usecase is controlling a QEMU process
    which emulates board's serial via normal console, but it could be used
    e.g. with helper binaries to access real board over other hadware
    protocols, etc.
    
    An example of device specification for these cases is:
    
    	--device exec:../zephyr/qemu.sh
    	--device execpty:../zephyr/qemu2.sh
    
    Where qemu.sh contains long-long qemu startup line, or calls another
    command. There's a special support in this patch for running the command
    in a new terminal session, to support shell wrappers like that (without
    new terminal session, only wrapper script would be terminated, but its
    child processes would continue to run).