Skip to content

Commit 9640760

Browse files
committed
Update software_overview.md
1 parent acc7b2d commit 9640760

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

docs/software_overview.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,9 +439,13 @@ The **[/Firmware/Binaries](https://github.com/sparkfun/SparkFun_GNSSDO/tree/main
439439

440440
You can update or reload the firmware using the [SparkFun RTK Firmware Uploader](https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader).
441441

442-
## :fontawesome-solid-screwdriver-wrench: Compiling Firmware
442+
## :fontawesome-solid-screwdriver-wrench: Compiling Firmware - using Docker
443443

444-
The GNSSDO Firmware can be compiled locally using Docker:
444+
To compile the GNSSDO Firmware, you need to use the correct version of the ESP32 Arduino core and of each required Arduino library. It is tedious and error-prone. Especially on Windows. We've lost count of the number of times code compilation fails on our local machines, because we had the wrong ESP32 core installed... It is much easier to sandbox the firmware compilation using an environment like [Docker](https://www.docker.com/).
445+
446+
Docker is open-source. It is our new favourite thing!
447+
448+
Here is a step-by-step guide for how to install Docker and compile the firmware from scratch:
445449

446450
### Clone, fork or download the GNSSDO repo
447451

@@ -509,3 +513,28 @@ You can then use (e.g.) the [SparkFun RTK Firmware Uploader](https://github.com/
509513

510514
You may find the `.elf` file useful if you are trying to debug the code with [me-no-dev's Exception Decoder](https://github.com/me-no-dev/EspExceptionDecoder).
511515

516+
## :fontawesome-solid-screwdriver-wrench: Uploading Firmware - using esptool
517+
518+
The [SparkFun RTK Firmware Uploader](https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader) contains a copy of Espressif's esptool. It is esptool that actually performs the code upload.
519+
520+
If you want to upload new firmware manually from the command line, here are the commands:
521+
522+
```
523+
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 --before default_reset --after no_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 RTK_Surveyor.ino.bootloader.bin 0x8000 RTK_Surveyor_Partitions_16MB.bin 0xe000 boot_app0.bin 0x10000 GNSSDO_Firmware.ino.bin
524+
```
525+
526+
followed by:
527+
528+
```
529+
esptool.py --chip esp32 --port /dev/ttyUSB0 --before default_reset run
530+
```
531+
532+
On Windows, you can replace `esptool.py` with `esptool.exe`. You can find a copy of `esptool.exe` in the [Utils](https://github.com/sparkfun/SparkFun_GNSSDO/tree/release_candidate/Firmware/Utils) folder.
533+
534+
On Windows, replace `/dev/ttyUSB0` with the name of your CH340 COM port: `COM1` or similar.
535+
536+
You can find copies of `RTK_Surveyor.ino.bootloader.bin`, `RTK_Surveyor_Partitions_16MB.bin` and `boot_app0.bin` in the [Firmware Uploader resource folder](https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader/tree/main/RTK_Firmware_Uploader/resource).
537+
538+
Enjoy!
539+
540+
* Your friends at SparkFun

0 commit comments

Comments
 (0)