Będziemy bawić się elektroniką w
oparciu o procesor Atmega 8, programator USBasp i środowisko
eclipse. Zaczniemy od zera – czyli od przygotowania stanowiska od
strony komputera.
Linuks, dokładniej Ubuntu, dokładniej
Xubuntu 12.04 LTS będzie systemem z wyboru, używam go codziennie i
część komputerowa jest przeze mnie sprawdzona. Przy okazji jest
darmowy i wygodny. Uprzedzając pytanie: czemu nie Windows –
odpowiadam, wg mnie jest mniej wygodny, najlepszym przykładem jest
chyba próba podłączenia najprostszego urządzenia pod USB i
„Windows driver hell”.
Potrzebne nam będą: Pendrive 1GB,
internet i jakieś 2 godziny wolnego czasu.
Naszego Pingwinka najlepiej ściągnąć
tu:
http://czytelnia.ubuntu.pl/index.php/2012/10/31/xubuntu-mysi-remix-12-10pl/
, jest to wersja spolszczona, z większością pre-instalowanych
programów. Jeśli mamy komputer na którym zdecydowaliśmy się
tylko na Linuksa – wystarczy nam teraz zrobić LinuxLive USB,
podłączyć do USB w komputerze i instalować. Jeśli chcemy jednak
mieć 2 systemy – Windows, oraz Linuks, można stworzyć nową
pustą partycję, jednak nie jest to konieczne. Po poprawnej
instalacji, na starcie komputera będziemy pytani przez 10 sekund
który system wybrać. (Program który dokonuje tej grzeczności to
GRUB – warto to pamiętać jeśli dodatkowe czekanie jest dla nas
zbyt męczące, by je usunąć trzeba zmienić jeden wpis w jednym z
plików systemowych.)
Tworzenie LiveUSB:
Ściągamy LiveUSB creator na Windowsa,
oraz instalujemy go tak samo jak zawsze instalowaliśmy każdy inny
program. Uruchamiamy go, po czym pokazuje się ładne okno kreatora
dysku uruchomieniowego.
 |
Tu ściągamy kreator dysku uruchomieniowego. |
Krok 1: Włożenie nośnika USB do
komputera i wybranie go. Po Wykonaniu każdego z kroków zapala się
kolejne zielone światło. Osobiście zawsze wybieram pendrive który
mogę wyczyścić.
Krok 2: Wybranie ściągniętej
wcześniej dystrybucji Xubuntu.
Krok 3: Wybranie Live Mode
Krok 4: Opcje:
→ Ukryj utworzone pliki na
pendrivie. Dzięki temu jest szansa że niechcący nie usuniemy
świeżo zainstalowanych plików grzebiąc na pendrivie.
→ Sformatuj pendrive. Nie jest
konieczne, ale warto raz na jakiś czas sformatować pamięć.
→ Pozwól na włączanie Linuksa na
pendrivie z Windowsa. Dzięki tej opcji możemy włączyć Xubuntu
prosto z pendriva jak program w Windowsie i obejrzeć przed
instalacją jak wygląda system. System można przetestować
podłączając pendrive na starcie komputera i uruchamiając z niego
system.
Krok 5: Utwórz
 |
Okno kreatora.
Widać kolejne Kroki i zielone światła. |
Instalacja:
Najpierw musimy wybrać bootowanie z
usb – czyli zmienić kolejność, w jakiej komputer sprawdza
właściwie z jakiego nośnika ma się włączyć. Tak samo dawno,
dawno temu zmieniało się bootowanie by komputer sprawdzał wpierw
czy czasem nie włożyliśmy dyskietki startowej sygnalizując chęć
instalacji Windows 95.
Podczas włączania komputera mamy parę
screenów, zwykle białą czcionką na czarnym tle, w ostatnim pasku
na dole ekranu powinien pojawić się komunikat informujący jaki
klawisz wcisnąć by wejść w boot menu – zwyczajowo jest to F12.
Po wejściu w boot menu wybieramy jako „First Boot device”
USB-HDD – czyli dysk twardy podłączony do USB. To samo można
wykonać również w inne sposoby jednak wszędzie polega to końcowo
na tym samym: na wybraniu pierwszej rzeczy do bootowania komputera.
Następnie możemy podłączyć nasze
Live USB do komputera i ponownie go uruchomić. Po poprawnym wyborze
first boot device na USB-HDD automatycznie włączy się instalator
Linuxa. Instalacja jest naprawdę bardzo prosta i ciężko tu
cokolwiek przeoczyć. By być tego jednak pewnym warto zwrócić
uwagę na parę rzeczy.
Wybór języka polskiego w
pierwszym oknie.
Wybór kodeków w drugim oknie.
Warto połączyć się z
internetem by na bieżąco ściągnąć aktualizacje. Jednak to
czego robić nie warto to „dodawać hasło do nowej bazy kluczy”
jeśli to zrobimy komputer za każdym razem będzie nas prosił o
hasło przed podłączeniem się do internetu, co bywa upierdliwe.
Usunięcie tego zapytania jest równie upierdliwe, więc
najwygodniej nie tworzyć sobie problemu.
Gdy będziemy wybierać sposób
instalacji, mając zainstalowany system Windows możemy zainstalować
Linuksa wybierająć „Zainstaluj Xubuntu obok systemu Windows”
co pozwala na bezproblemowe przydzielenie pamięci pod system Linux
bez potrzeby formatowania dysków etc. pod warunkiem posiadania paru
GB wolnego miejsca na dysku.
Możemy też wybrać odrobinę
trudniejszą wersję, czyli samemu pobawić się w wybór na co ile
przeznaczyć miejsca i które miejsca ewentualnie sformatować –
ta opcja niesie za sobą ryzyko, możemy niechcący zaznaczyć do
formatowania np. partycję z systemem windows, lub partycję na
której przechowujemy zdjęcia.
Po udanej instalacji komputer
automatycznie jest restartowany (za zgodą użytkownika). W momencie
gdy wyłączy się instalator wyjmujemy Live USB żeby czasem znów
nie włączać instalatora od początku. Wybieramy system Xubuntu w
GRUBIE (oknie do wyboru który system włączyć), dokładniej
wybieramy pierwszą linijkę, ponieważ mimo posiadania jednego
systemu linuksowego pojawi się kilka możliwych opcji uruchomienia
go. System Windows, który jest obok Linuxa zwykle jest na końcu
listy.
Po włączeniu systemu warto teraz
poświęcić parę minut na kliknięcie w ikonę w lewym górnym rogu
która poprowadzi nas przez dodatkowe instalacje (np. komunikatora
pidgin, czy dodatkowych kodeków).
Teraz czas nam zainstalować potrzebne
nam programy i pakiety. Najpierw eclipse.
Najwygodniej przeprowadzić większość
instalacji z poziomu terminala. Dla użytkowników systemu Windows
brzmi to pewnie przedpotopowo, nic bardziej mylnego – jest to po
prostu wygodne narzędzie w celu modyfikacji systemu, a będziemy
musieli takich dokonać.
Instalacja AVR-GCC
toolchain.
Kopiujemy poniższą linijkę:
sudo apt-get install gcc-avr
binutils-avr gdb-avr avr-libc avrdude
Wchodzimy
w terminal (np. skrótem klawiszowym super+t
(super == znaczek windows na klawiaturze, klawisz ten bardzo wygodny
do skrótów klawiszowych. Trochę nie rozumiem czemu w ogóle nie
korzysta się z niego w Windowsie) Można też: menu
→ akcesoria → emulator terminala
(menu jest w lewym górnym rogu, jest to znaczek białej myszy na
niebiskim tle). Wklejamy linijkę skrótem klawiszowym ctrl+shift+v.
Klikamy enter, wpisujemy hasło, znów enter i pakiety się
instalują. Mogą nas ewentualnie spytać (T/n) czy chcemy
kontynuować, wtedy wpisujemy „T” i klikamy enter.
Kolejne
słowa komendy oznaczają:
sudo – z uprawnieniami
administratora. Tylko administrator ma prawo coś zmieniać
związanego z systemem, nie warto tego zmieniać, chroni to
użytkownika przed jego własnym nieświadomym działaniem które
mogło by mu zaszkodzić. Wpisanie sudo i hasła (tak samo su i
hasła) oznacza że jesteśmy świadomi tego co mamy zamiar wykonać.
apt-get
– jest to pakiet służący do zarządzania aplikacjami.
Install
– informujemy ww. pakiet że chcemy zainstalować coś nowego
gcc-avr
… avrdude – informujemy co chcemy zainstalować.
Całość
można zrobić w sposób okienkowy. Wchodzimy: menu
→ system → synaptic manager pakietów ,
wpisujemy kolejno w szukajce każdy pakiet, haczymy go do instalacji
i klikamy zastosuj. Takie wyszukiwanie pakietów trwa jednak
znacznie dłużej.
Instalacja
eclipse.
Możemy
po prostu wpisać:
sudo apt-get install eclipse
Wpisać hasło
i dać enter.
Możemy też posłużyć się „Centrum
oprogramowania Ubuntu”. Centrum to pozwala na instalację znacznej
ilości oprogramowania, również płatnego. Wyszukujemy
oprogramowanie za pomocą szukaj, wybieramy program z listy i
klikamy instaluj po upewnieniu się że to właśnie on. Bywa to
wygodniejsze od terminala – bo nie musimy znać dokładnej nazwy,
wystarczy że znamy jej część, lub fragment opisu, a
oprogramowanie jest promowane.
Instalacja
pakietu AVR-eclipse, oraz pkg-config
Mając środowisko
(profesjonalne IDE) musimy je jeszcze dostosować do własnych
potrzeb w tym celu musimy zainstalować pakiet AVR-eclipse który
pozwoli nam na wygodne pisanie programów pod AVR a w tym Atmegę
8.
Przyznam że wybór instalacji nowych pakietów w Eclipse jest
mało oczywisty. Włączamy eclipse menu→programowanie→eclipse
wybieramy gdzie chcemy żeby przechowywane były nasze programy
(czyli gdzie ma być nasz workspace) mi odpowiada ścieżka
docelowa. Trzeba pamiętać by zaznaczyć by program nas o to więcej
nie pytał, gdyż jest to męczące.
Następnie
mając już uruchomiony program wchodzimy w: help
→ Install new software...
.
Pojawi
nam się opcja do zaznaczenia „avr-eclipse plugin” którą
zaznaczamy, dalej już klikamy next, zgadzamy się na wszystko, a
plugin już się zainstaluje.
Chcemy
dodać jeszcze pkg-config, w takim razie znów wchodzimy w help→
install new software
, tym razem dodajemy jednak:
http://petrituononen.com/pkg-config-support-for-eclipse-cdt/update
. Na razie nie będzie on przydatny, jednak gdy przyjdzie czas, będą
chęci i umiejętności obsługi usb, lub może interface'u
graficznego (na przyszłość polecam gtkmm pod c++) będzie on
dobrym przyjacielem.
 |
Okno dodawania nowych pakietów. |
|
|
|
To
już prawie wszystko by mieć w pełni funkcjonalny projekt w
eclipse, czemu prawie? Otóż żeby wygodnie programować musimy
zrobić ostatnią rzecz – umożliwić eclipse używanie
programatora. Słowem wyjaśnienia: Linuks jest nieufny do urządzeń
podłączanych na usb których nie zna, z dotychczasowymi
ustawieniami nie użyjemy programatora bez uprawnień administratora
(inaczej root'a). By to zmienić będziemy musieli dodać nową
regułę. Brzmi zawile, jednak nie jest trudne w realizacji.
Wchodzimy
w terminal: super+t.
Wpisujemy
cd
// cd
oznacza poruszanie się po katalogach w koputerze, a // oznacza
„przejście na samo dno” katalogów. Wpiszemy sudo
cd /etc/udev/rules.d dzięki
czemu wejdziemy do katalogu rules.d w katalogu udev w katalogu etc z
uprawnieniami administratora. Tu potrzebny nam będzie edytor
tekstu. Wpiszemy więc sudo
gedit usbasp.rules by
stworzyć plik usbasp.rules za pomocą edytora tekstu gedit z
uprawnieniami administratora. Wkleimy tam:
# USBasp programmer
ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", ATTR{product}=="USBasp", GROUP="users", MODE="0666"
Zapisujemy
i wychodzimy.
Ostatnie
dwie komendy na dziś.sudo
usermod -a -G users twoja_nazwa_użytkownika
i sudo
reload udev. Pierwsza
komenda dodaje nas do grupy users, która może korzystać z USBasp
(min. to mówi komputerowi plik który przed chwilą zrobiliśmy)
pamiętaj by zmienić twoja_nazwa_użytkownika na właściwą nazwę
;] w drugiej komendzie mówimy żeby udev zostało przeładowane.
Jak pamiętamy to właśnie w folderze udev dodawaliśmy nasz
usbasp.rules.
Tyle w dzisiejszym (przydługim i mocno
treściwym) odcinku. W następnym skorzystamy z dzisiejszej pracy,
czyli stworzymy nowy projekt w Eclipse pod AVR. Może w międzyczasie
wstawię krótką wzmiankę o tym co warto jeszcze dodatkowo
zainstalować lub zmienić w swoim świeżo postawionym systemie.
Dodatkowe linki:
O co chodzi z tym bootowaniem: Wiki
Tutorial jak wybrać kolejność bootowania: BIOS
Strona pakietu AVR-eclipse: avr-eclipse plugin