Skip to content
Snippets Groups Projects
Commit fd82e9ee authored by Alexandre Kaspar's avatar Alexandre Kaspar
Browse files

Up to avrdude

parent 1eb8d143
Branches
No related tags found
No related merge requests found
Pipeline #4510 passed
images/avrdude_h.png

207 KiB

images/avrdude_p.png

140 KiB

images/avrdude_port.png

255 KiB

images/avrdude_u.png

293 KiB

......@@ -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">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment