Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: updated docs structure, included some flashing manuals #16

Merged
merged 1 commit into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@

# Pilkki
SWD flashing tool for EFM32 microcontrollers.

## Project structure

Utility to interact with flasher could be found in [software](software) folder.
The project is divided into three parts:

1. **[Software](software)**: The flashing utility.
2. **[Electronics](electronics)**: Schematics and PCB (KiCAD).
3. **[Firmware](firmware)**: Firmware for the target device.

### How to Use

To use flasher, call `cargo run`, or build by `cargo build --release`
To use the flasher, you can either:

Schematics and PCB (KiCAD) are in [electronics](electronics) folder.
- Run the utility directly with `cargo run`
- Build the project in release mode with `cargo build --release`

Firmware sources are [here](firmware)
More info on how to use pilkki in [Readme.md](software/Readme.md) in the [Software](software) section
10 changes: 10 additions & 0 deletions electronics/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Pilkki Electronics
This folder contains the schematics and PCB layout for the Pilkki, created in KiCad.

### Files

- `pilkki.kicad_pcb`: The PCB layout.
- `pilkki.kicad_sch`: The circuit schematics.
- `pilkki.kicad_pro`: The KiCad project file.

To view and edit these files, use [KiCad](https://kicad.org/).
11 changes: 11 additions & 0 deletions firmware/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Pilkki Firmware
This folder contains the source code for the firmware that runs on Pilkki.

### Structure

- `app/`: Application code for the firmware.
- `common/`: Common utility functions.
- `drivers/`: Device drivers.
- `targets/`: Target-specific code.

Build instructions can be found in the respective submodules.
52 changes: 52 additions & 0 deletions software/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

# Pilkki Software
This folder contains the utility to interact with the flasher.

## How to Use

To run the flashing tool:
- Use `cargo run` to run the tool.
- Use `cargo build --release` to build the release version.

The utility should automatically detect the connected port; otherwise, you can specify it manually with the `--port` flag.

### Getting help
```sh
cargo run -- help
```

### Finding the Port to Which Your Device Is Connected:

**Linux:**
```sh
ls /dev/ttyUSB*
```

**MacOS:**
```sh
ls /dev/tty.* /dev/cu.*
```

### Verify Connection to the Device

To connect to the device, run:
```sh
cargo run -- --port /port/address connect
```

### Flash a New Binary:

To flash a new binary to the device:
```sh
cargo run -- write --input /path/to/your/binary.bin
```
Or, if you need to specify the port manually:
```sh
cargo run -- write --port /port/address --input /path/to/your/binary.bin
```

### Getting the Firmware Binary

You can either:
- Build the binary using the code from the [kampela-firmware](https://github.com/Kalapaja/kampela-firmware) repository.
- Download the compiled binary from the [releases](https://github.com/Kalapaja/kampela-firmware/releases) section.
Loading