Skip to content

Commit 84307b6

Browse files
marnovandermaasengdoreis
authored andcommitted
README rewrite
Reorganise the read me into a usage and developer guide. Also add contribution and license sections.
1 parent 34c713a commit 84307b6

1 file changed

Lines changed: 36 additions & 19 deletions

File tree

README.md

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1-
# ftditool: A C++ implementation for SPI Flash and GPIO leveraging FTDI MPSSE-enabled chips.
1+
# FTDI Tool
2+
> A C++ implementation for SPI Flash and GPIO leveraging MPSSE-enabled FTDI chips.
23
3-
`ftditool` supports **SPI** and **GPIO** over **FT4222** and **FT2232** chips. The FT4222 specifically supports fast **QSPI** transactions.
4+
`ftditool` is a utility for interfacing with hardware via FTDI chips.
45

5-
## Getting Started
6+
Key featuers:
7+
- Supports **SPI** (serial peripheral interface) and **GPIO** (general-purpose input and output) transactions.
8+
- Compatible with **FT4222** and **FT2232** chips.
9+
- Fast **QuadSPI** support for FT4222 chips.
610

7-
Install the dependencies using Nix or any other method:
11+
## Usage guide
12+
13+
`ftditool` can be easily installed using [Nix](https://nix.dev/install-nix.html):
814

915
```sh
10-
nix develop
16+
nix shell github:lowrisc/ftditool
1117
```
1218

13-
### Build:
14-
```bash
15-
cmake -B build -S ./ && cmake --build build
16-
```
19+
Alternatively you can build the tool from yourself by following the developer guide below.
1720

18-
### Usage:
21+
### Arguments
1922

20-
Run with the `--help` argument for more information:
23+
Once built, you can run the tool with the `--help` argument for more information:
2124

2225
```sh
2326
build/ftditool --help
@@ -35,24 +38,38 @@ build/ftditool jedec
3538
build/ftditool read-page --addr 0x8000
3639
```
3740

38-
For a full list of commands:
41+
For an example of a real-world application of `ftditool`, check out the [mocha](https://github.com/lowRISC/mocha/blob/main/util/fpga_runner.py) repository.
42+
43+
## Developer guide
44+
45+
To automatically get an environment where you can build the tool from source you can use Nix.
46+
Run the following command in the root of the repository:
3947

4048
```sh
41-
build/ftditool --help
49+
nix develop
4250
```
4351

44-
For an example of a real-world application of `ftditool`, check out the [mocha](https://github.com/lowRISC/mocha/blob/main/util/fpga_runner.py) repository.
52+
You can manually install the dependencies by looking in the "flake.nix" file.
4553

46-
## Nix
4754

48-
`ftditool` can be easily installed using **Nix**:
55+
### Build manually
56+
57+
Compiling from source:
4958

5059
```sh
51-
nix shell github:lowrisc/ftditool
60+
cmake -B build -S ./
61+
cmake --build build
5262
```
53-
----
5463

55-
## Development
5664
### Dependency graph
65+
5766
![Dependency graph](doc/img/deps.png)
5867

68+
## Contributing
69+
70+
Feel free to open issues if you have any questions or would like to contribute.
71+
We recommend opening an issue to discuss a contribution before preparing a pull request.
72+
73+
## License
74+
75+
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0.

0 commit comments

Comments
 (0)