Skip to content

Commit

Permalink
README: add more notes, initial description and references
Browse files Browse the repository at this point in the history
  • Loading branch information
orangecms authored and m0veax committed Aug 21, 2024
1 parent a3e0a53 commit f68318a
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions README.md
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!

0 comments on commit f68318a

Please sign in to comment.