Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data OCDT m a
- runOCDT :: Monad m => Socket -> OCDT m a -> m (Either OCDError a)
- class (MonadIO m, MonadError OCDError m) => MonadOCD m where
- halt :: MonadOCD m => m ByteString
- halt' :: MonadOCD m => m ()
- reset :: MonadOCD m => m ()
- resetHalt :: MonadOCD m => m ()
- resetHaltInit :: MonadOCD m => m ()
- resume :: MonadOCD m => m ()
- resumeAt :: MonadOCD m => MemAddress -> m ()
- step :: MonadOCD m => m ()
- stepTo :: MonadOCD m => MemAddress -> m ()
- readMem :: forall a m. (MonadOCD m, FiniteBits a, Integral a) => MemAddress -> m a
- readMem32 :: MonadOCD m => MemAddress -> m Word32
- readMemCount :: forall a m. (MonadOCD m, FiniteBits a, Integral a) => MemAddress -> Int -> m [a]
- writeMem :: forall a m. (MonadOCD m, FiniteBits a, PrintfArg a, Integral a) => MemAddress -> [a] -> m ()
- writeMem32 :: MonadOCD m => MemAddress -> [Word32] -> m ()
- registers :: MonadOCD m => m (Map RegisterName RegisterInfo)
- readReg :: forall a m. (MonadOCD m, FiniteBits a, Integral a) => RegisterName -> m a
- writeReg :: forall a m. (MonadOCD m, FiniteBits a, Integral a, PrintfArg a) => RegisterName -> a -> m ()
- version :: MonadOCD m => m ByteString
- raw :: MonadOCD m => ByteString -> m ByteString
Documentation
Instances
class (MonadIO m, MonadError OCDError m) => MonadOCD m where Source #
Nothing
halt :: MonadOCD m => m ByteString Source #
Halt target
resetHaltInit :: MonadOCD m => m () Source #
Reset target, halt execution and execute reset-init script
resumeAt :: MonadOCD m => MemAddress -> m () Source #
Resume execution at MemAddress
stepTo :: MonadOCD m => MemAddress -> m () Source #
Single-step target to code position
at MemAddress
:: forall a m. (MonadOCD m, FiniteBits a, Integral a) | |
=> MemAddress | Memory address to read from |
-> m a |
Read single memory segment from MemAddress
Segment size depends on Word type.
:: MonadOCD m | |
=> MemAddress | Memory address to read from |
-> m Word32 |
Shorthand for reading Word32
sized segment
:: forall a m. (MonadOCD m, FiniteBits a, Integral a) | |
=> MemAddress | Memory address to read from |
-> Int | Count |
-> m [a] |
Read multiple memory segments from MemAddress
according to count argument. Segment size depends
on Word type.
:: forall a m. (MonadOCD m, FiniteBits a, PrintfArg a, Integral a) | |
=> MemAddress | Memory address to write to |
-> [a] | Data to write |
-> m () |
Write multiple memory segments to MemAddress
:: MonadOCD m | |
=> MemAddress | Memory address to write to |
-> [Word32] | Data to write |
-> m () |
Shorthand for writing Word32
sized segment
registers :: MonadOCD m => m (Map RegisterName RegisterInfo) Source #
:: forall a m. (MonadOCD m, FiniteBits a, Integral a) | |
=> RegisterName | Name of the register to query |
-> m a |
Read a CPU register
:: forall a m. (MonadOCD m, FiniteBits a, Integral a, PrintfArg a) | |
=> RegisterName | Name of the register to write to |
-> a | Value to write |
-> m () |
Write a CPU register
version :: MonadOCD m => m ByteString Source #
Query OpenOCD version
raw :: MonadOCD m => ByteString -> m ByteString Source #
Send raw OpenOCD command Escape hatch for commands that are not part defined as part of hocd api