embedded-trainings-2020/embedded-workshop-book/src/flashing-program.md

18 lines
912 B
Markdown
Raw Normal View History

2020-07-08 13:06:49 +00:00
# Flashing the Program
✅ Use the following command to flash the program to the device.
2020-07-08 13:06:49 +00:00
``` console
$ cargo flash --chip nRF52840_xxAA --bin hello
2020-07-08 13:06:49 +00:00
```
2020-07-13 15:20:20 +00:00
> NOTE: If you run into an error along the lines of "Debug power request failed" retry the operation and the error should disappear.
2020-07-08 13:06:49 +00:00
This subcommand will build the program first so you'll always flash the latest version.
2020-07-08 13:06:49 +00:00
The `cargo-flash` subcommand flashes and runs the program but won't display logs. It is a deployment tool.
2020-07-13 15:20:20 +00:00
**🔎 How does flashing work?**
The flashing process consists of the PC communicating with a second microcontroller on the nRF52840 DK over USB (J2 port). This second microcontroller, named J-Link, is connected to the nRF52840 through a electrical interface known as SWD. The SWD protocol specifies procedures for reading memory, writing to memory, halting the target processor, reading the target processor registers, etc.