-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
README: add more notes, initial description and references
- Loading branch information
Showing
1 changed file
with
15 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,39 @@ | ||
A graphical device tree visualizer (early development). | ||
# dtvis | ||
|
||
Device trees are used to describe a lot of hardware, especially in the embedded world and are used in U-Boot, Linux and other boot loaders and kernels. A device tree enumerates addresses and other attributes for peripherals, hardware decoders, processing cores and external components attached to systems on chips (SoCs) on printed circuit boards (PCBs). | ||
The **dtvis** app helps consumers and engineers understand their devices. | ||
It is a graphical device tree visualizer. | ||
|
||
This application uses [device_tree-rs](https://github.com/platform-system-interface/device_tree-rs) to parse .dtb files. You can find more informations about the fileformat there. Further informations can be found on [elinux](https://elinux.org/Device_Tree_Mysteries#kernel_usage) and in this [slides](https://metaspora.org/hack-the-gadget-mrmcd2023.pdf#Outline0.5) from a MRMCD Talk. | ||
Device trees are used to describe a lot of hardware, especially in the embedded world, and are used in Linux, U-Boot, OpenSBI, Zephyr, FreeBSD, and other firmware, boot loaders and operating systems. A device tree enumerates addresses and other attributes for peripherals, hardware decoders, memory, processing cores and external components attached to systems on chips (SoCs) and printed circuit boards (PCBs), such as SoMs (systems on modules) and SBCs (single board computers). | ||
|
||
You can find more information on how device trees are used in the [Embedded Linux Wiki](https://elinux.org/Device_Tree_Mysteries) and in the [Hack the Gadget presentation](https://www.youtube.com/watch?v=CktuSEk8kvg) given at MRMCD 2023. | ||
|
||
This application uses [device_tree-rs](https://github.com/platform-system-interface/device_tree-rs) to parse `.dtb` files. More details on how it works are in the [psi_device_tree crate documentation](https://docs.rs/psi_device_tree/latest/psi_device_tree/). | ||
|
||
## Screenshot | ||
|
||
![screenshot](assets/screenshot.png) | ||
|
||
Here you see a device tree _overlay_ loaded into _dtvis_. | ||
|
||
## Local Development | ||
|
||
Install wasm-pack | ||
### Preparation | ||
|
||
Install `wasm-pack` | ||
|
||
```bash | ||
cargo install wasm-pack | ||
npm install | ||
``` | ||
|
||
## Run the app in development mode | ||
### Run the app in development mode | ||
|
||
```bash | ||
npm start | ||
``` | ||
|
||
Open [http://localhost:3000/dtvis](http://localhost:3000/dtvis) with your browser to see the result. | ||
Open <http://localhost:3000/dtvis> in your browser to see the result. | ||
|
||
## Contribute | ||
|
||
Feel free to contribute | ||
Feel free to contribute! |