Skip to content

Commit

Permalink
Merge pull request #16 from Vovke/port-fix
Browse files Browse the repository at this point in the history
fix: updated docs structure, included some flashing manuals
  • Loading branch information
Slesarew authored Oct 4, 2024
2 parents ad92b3a + 3472e41 commit afe7321
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 4 deletions.
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.

0 comments on commit afe7321

Please sign in to comment.