diff --git a/README.md b/README.md index f5f7c00..d98e3db 100644 --- a/README.md +++ b/README.md @@ -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 in your browser to see the result. ## Contribute -Feel free to contribute +Feel free to contribute!