Dzięki za te linki, szczególnie ten pierwszy to prawdziwa skarbnica wiedzy

.
Miałem kilka problemów ale ostatecznie jestem po pierwszym udanym teście pracy na NRWW. Co prawda zamiast bootloadera siedzi tam póki co migająca dioda

, ale pierwsze lody przełamane!
Gdyby ktoś jeszcze miał podobny problem, podsumuję co musiałem zrobić żeby całość ruszyła:
- napisać NRWW-owy hello world w postaci migającej diody
http://pastebin.com/UxVBaKWV- w lokalizacji którą wyżej podał kolega
mokrowski wklepać poniższy tekst. Wartość 0x3800 to adres początku sekcji bootloadera i zależy on od jego wielkości, którą ustawia się fusebitami BOOTSZ1..0 (0x3800 odpowiada wartości domyślnej fusebitów w atmega168, czyli bootloader na 1024 słowa). W datasheecie można znaleźć adresy początkowe dla różnych wielkości, ale
należy je pomnożyć przez 2, bo są to adresy podane w słowach, a argument ma być wyrażony w bajtach.
Kod:
-Wl,--section-start=.text=0x3800
- skompilować kod i skopiować hexa do jakiegoś folderu, zmieniając mu nazwę na boot.hex
- użyć dowolnego innego programu (może być drugi hello world tylko że na innej diodzie ^^) i skopiować jego hexa do tego samego folderu, zmieniając nazwę na app.hex
- wejść wierszem poleceń do folderu i wydać poniższe polecenie (srec_cat jest instalowany domyślnie z winAVR). Przy wgrywaniu hexa czyszczona jest cała pamięć, więc chcąc wgrać jednocześnie soft domyślny i "bootloaderowy", trzeba je połączyć do jednego pliku.
Kod:
srec_cat app.hex -I boot.hex -I -o combined.hex -I
- wgrać plik combined.hex - od tego momentu wykonywać się będzie boot.hex gdy zaprogramujemy fusebit BOOTRST, albo app.hex gdy bit pozostanie niezaprogramowany
@RafPe Przyznam że obczaiłem ten program dopiero dzisiaj, nie wiedziałem że Mirek udostępnił w nim kod i makefile bootloadera. No patrzę na ten kod i trochę mnie on przeraża

. Nie wiem co to się wyczynia z tymi wszystkimi __init, ale czuję że muszę się dokształcić zanim zacznę pisać coś po swojemu...