opentitanlib::backend

Struct BackendOpts

Source
pub struct BackendOpts {
    pub interface: String,
    pub disable_dft_on_reset: bool,
    pub usb_vid: Option<u16>,
    pub usb_pid: Option<u16>,
    pub usb_serial: Option<String>,
    pub opts: ChipWhispererOpts,
    pub verilator_opts: VerilatorOpts,
    pub proxy_opts: ProxyOpts,
    pub ti50emulator_opts: Ti50EmulatorOpts,
    pub conf: Vec<PathBuf>,
    pub openocd_adapter_config: Option<PathBuf>,
}

Fields§

§interface: String

Name of the debug interface.

§disable_dft_on_reset: bool

Whether to disable DFT with a strapping config during reset. Only required in TestUnlocked* LC states activate the JTAG RV TAP. This is required since the DFT straps share the console UART pins, that hyperdebug tries to pull high. In mission mode states this should be set to false, as DFT straps are not sampled here.

§usb_vid: Option<u16>

USB Vendor ID of the interface.

§usb_pid: Option<u16>

USB Product ID of the interface.

§usb_serial: Option<String>

USB serial number of the interface.

§opts: ChipWhispererOpts§verilator_opts: VerilatorOpts§proxy_opts: ProxyOpts§ti50emulator_opts: Ti50EmulatorOpts§conf: Vec<PathBuf>

Configuration files.

§openocd_adapter_config: Option<PathBuf>

Path to OpenOCD JTAG adapter config file to use (usually Olimex, but could be another adapter). If unspecified, will use native support of the backend transport. (Currently only the HyperDebug transport has such native JTAG support, and for any other transport, this argument must be specified if using JTAG.)

Trait Implementations§

Source§

impl Args for BackendOpts

Source§

fn group_id() -> Option<Id>

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via [FromArgMatches::from_arg_matches_mut] Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via [FromArgMatches::update_from_arg_matches_mut] Read more
Source§

impl Debug for BackendOpts

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for BackendOpts

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V