PyUARTSI
A standalone implementation of the Tethered Serial Interface (TSI) in Python.
Installation
Install from PyPI
pip install barstools.uartsi
Install from repo
git clone https://github.com/ucb-bar/pyuartsi.git
cd ./pyuartsi/
pip install .
Usage
usage: python -m barstools.uartsi [-h] --port PORT [--baudrate BAUDRATE] [--init_write INIT_WRITE] [--init_read INIT_READ]
[--elf ELF] [--load] [--selfcheck] [--hart0_msip] [--fesvr] [--cflush_addr CFLUSH_ADDR]
examples: python -m barstools.uartsi --port COM20 --elf <program.elf> --load --hart0_msip
python -m barstools.uartsi --port /dev/ttyxx --init_read 0x02000000
python -m barstools.uartsi --port /dev/ttyxx --init_write 0x80000000:0xdeadbeef --init_read 0x80000000
python -m barstools.uartsi --port /dev/ttyxx --elf <program.elf> --load --hart0_msip --fesvr
python -m barstools.uartsi --port /dev/ttyxx --baudrate 921600 --elf <program.elf> --load --selfcheck --hart0_msip --fesvr --cflush_addr 0x02010200
Python port of UART-based TSI
options:
-h, --help show this help message and exit
--port PORT Serial port to connect to
--baudrate BAUDRATE Baudrate to use
--init_write INIT_WRITE
Write an initial value to an address
--init_read INIT_READ
Read an initial value from an address
--elf ELF Specify ELF file to load
--load Load the ELF file to target
--selfcheck Run self-check to verify the loaded ELF program
--hart0_msip Hart0 MSIP register
--fesvr Run the FESVR interface
--cflush_addr CFLUSH_ADDR
Cache control base address
Errata
-
The last
printf()syscall on the DUT program will be printed twice for some reason. -
Always reset DUT before launching new program.
-
The Proxy FESVR currently only supports
_write()and_exit()syscall.
See Also
C++ implementation uart_tsi
Rust implementation TSI
Release files for barstools.uartsi 2024.8.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| barstools_uartsi-2024.8.14.tar.gz | 2.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| barstools.uartsi-2024.8.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 kB
Release files / barstools_uartsi-2024.8.14.tar.gz
| Download URL | barstools_uartsi-2024.8.14.tar.gz |
|---|---|
| Size | 2.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e01b0ca31759b3f887f324d7923bc11608c9b3bbba1cb3b83f5ac20bc7173ba
|
|
BLAKE2b-256 checksum How to use checksums |
428028b057c29388d3262d3f2f64d77d06b5d219d03c7c720188dbd46a364bd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|
Release files / barstools.uartsi-2024.8.14-py3-none-any.whl
| Download URL | barstools.uartsi-2024.8.14-py3-none-any.whl |
|---|---|
| Size | 2.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db208778a4d236ad51432b71f972cb74a2153f8d0b423c87f08ab1ae844f2482
|
|
BLAKE2b-256 checksum How to use checksums |
31dc59997fd28312b18d776d2247c6193f63475e2887b438bb0bc8ebfb6608aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.5
|