Commit fd82e9ee authored by Alexandre Kaspar's avatar Alexandre Kaspar

Up to avrdude

parent 1eb8d143
Pipeline #4510 passed with stage
in 1 second
......@@ -208,7 +208,44 @@ TL;DR hex files are easy to read and used for not only programming but also chec
The last command computes information about the size that the program is going to take.
This is important if you are creating your own program, because you need to make sure it will fit in memory.
## AVR-DUDE!
## AVRDUDE!
`avrdude` is a tool that allows us to send programs onto avr chips through a programmer interface such as the usbtiny (e.g., [FabTinyISP](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html)), or an [Atmel ICE](https://www.microchip.com/DevelopmentTools/ProductDetails/ATATMEL-ICE).
Here, the manual of `avrdude` is quite large, so instead, let's start by reading the help summary, which you can typically get by running the command with the argument `-h` or `--help`:
<img src="images/avrdude_h.png" width="600">
* `-p device` specify the type of device to program (in our case, it's an ATTiny44)
* `-P port` selects the port for programming (typically `usb`)
* `-c programmer` selects the programmer (e.g. `usbtiny`)
* `-U ...` requests a memory update (this is the actual action we're doing with avrdude)
```bash
avrdude -p t44 -P usb -c usbtiny -U flash:w:hello.ftdi.44.echo.c.hex
```
How did we know the device label was `t44`?
Well, the manual tells you that you can just query for the available names / devices with `avrdude -p ?`, which gives you a long list.
<img src="images/avrdude_p.png" width="600">
You can do the same to find the list of available programmers (and you'll find `usbtiny`).
Finally, the real deal - the memory programming through `-U`.
There are different actions: `-e` erases memory, likely not what you want, and `-U` updates the memory.
## `avrdude -U ...`
The format of the argument is (according to the help):
```bash
avrdude -U <memtype>:r|w|v:<filename>[:format]
```
The manual is slightly more verbose and tells us what's available for the memory types, formats and operations:
<img src="images/avrdude_u.png" width="600">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment