forked from facchinm/avrdude
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
109 lines (84 loc) · 2.85 KB
/
Copy pathREADME
File metadata and controls
109 lines (84 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
See the documentation file for the details.
The latest version of AVRDUDE is always available here:
http://savannah.nongnu.org/projects/avrdude
Important environment variables for ./configure:
================================================
CPPFLAGS: C preprocessor flags (*not* "C++")
This is the place to put additional (non-standard) -I options into.
For example, if your Windows system has LibUSB-Win32 installed into
\\WINDOWS\ProgramFiles\LibUSB-Win32, use
CPPFLAGS=-I/WINDOWS/ProgramFiles/LibUSB-Win32/include
to tell configure where to search for the header files. (The use of
forward slashes rather than backslashes can often simplify things.
Note that the Windows system services internally treat both the same.
It's only cmd.exe which requires backslashes as the directory
separator.)
LDFLAGS: Linker options
This is the place to make additional library locations known to the
linker. To continue the above example, use
LDFLAGS=-L/WINDOWS/ProgramFiles/LibUSB-Win32/lib/gcc
to make the linker search for "libusb.a" in that directory.
Linux users: make sure the header files are installed
=====================================================
While many Linux distributions install the libraries needed by AVRDUDE
(libusb, libelf) by default, they leave out the corresponding header
files. Consequently, the configure script won't find them, so these
libraries could not be used.
Usually, the packages with the header files (and static libraries) are
derived from the regular package name by appending "-devel". Thus,
make sure you have "libusb-devel" and "libelf-devel" installed before
running the configure script. (Same goes for libftdi.)
.
Linux Installation
==================
This was tested on Ubuntu 20.04
## formal installation
```
git clone https://github.com/facchinm/avrdude.git
cd avrdude/
sudo apt install automake libtool bison flex make
sudo apt install libftdi1-dev libusb-dev libftdi-dev libelf-dev libhidapi-dev
./bootstrap
./configure
make
sudo make install
```
## usb config
#### Add udev rule
```
sudo nano /etc/udev/rules.d/30-avrprog.rules
```
fill the file with `SUBSYSTEM=="usb", SYMLINK+="atmel_ice", MODE="660", GROUP="dialout"`
#### reload udev rules
```
sudo udevadm control --reload-rules
sudo udevadm trigger
```
#### test rules (only for troubleshooting)
Unplug and replug the programmer
```
find /dev/bus/usb/ ! -type d -mmin -2
udevadm info /dev/bus/usb/002/024
sudo udevadm test /devices/pci0000:00/0000:00:14.0/usb2/2-2
```
(udevadm info : replace by the previous result)
(udevadm test : replace by #DEVPATH of info value)
Unplug and replug
ls -l /dev/bus/usb/002/024
#### dialout group
```
groups
```
Verify `dialout` group is listed
If not :
```
sudo usermod -a -G dialout $USER
su - $USER
groups
```
(to make it permanent, you have to logout and login back)
### test
```
avrdude -c atmelice_updi -p m4809 -U lock:r:-:h
```
Enjoy !