logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak połączyć Atmega328p z Arduino IDE bez użycia płytki Arduino?

wwozek 14 Sie 2016 00:08 1851 7
REKLAMA
  • #1 15867191
    wwozek
    Poziom 9  
    Posty: 15
    Witam,

    po kilku dniach dosc intensywnej walki, nieco juz sie gubiac postanowilem napisac do Was z prosba o pomoc.

    Jakies trzy tygodnie temu zaczalem swoja przygode z AVRkami. Zakupilem sobie troche zabawek i zaczalem sie bawic. Jak do tej pory udalo mi sie stworzyc miganie diodami, ogarnalem LCD i RTC. Ostatnio zachcialo mi sie ogarnac ESP8266.

    Aktualnie jako srodowisko programistyczne uzywam Eclipse'a i w nim programuje, kompiluje, wgrywam i wszystko dziala wysmienicie.

    Niestety coraz czesciej zauwazalam, ze do arduino ide jest masa roznych roznistych bibliotek ktorych nie da sie uzyc (albo ja nie umiem) z poziomu eclipsa.

    Nie posiadam zadnej plytki arduino, a jedynie 3 sztuki atmegi 328P-PU i chcialem zrezygnowac z eclipsa na rzecz arduino ide. Niestety nie moge sobie z tym poradzic. Czytajac kilka blogow, tutoriali, itp. mozna wysnuc wniosek ze nie jest to wcale trudne, jednak mi sie to nie udalo.

    Czy ktos jest z Wasz, szanowni forumowicze, jest w stanie mi pomoc, nakierowac ? Moze ktos jest mi wstanie wskazac jakis pewny tutorial ?

    Probowalem kierowac sie ta strona : http://majsterkowo.pl/programowanie-mikrokontrolerow-za-pomoca-programatora-usbasp/

    Tutaj juz mam nieco zonk : ta strona opisuej podlaczenie attiny, a ja mam inny procesor - na tej stronie jest link do zipa w ktorym jest troche kodu i naglowkow (.c i .h), a na niczego takiego do 328p nie podgrywalem a domyslam sie, ze wtych plikach sa rozne specyficzne parametry dla procesora jak rociazby mapowania numerow pinow.

    Posiadany programator : https://botland.com.pl/programatory/2014-prog...y=Programator+AVR+zgodny+USBasp+ISP&results=4
    Przy czym programator jest podlaczony prawidlowo i dziala prawidlowo - z eclipsem nie mam zadnych problemow - koduje, builduje, wgrywam, dziala bez problemow.

    Czy mi sie dobrze wydaje (tak wyczytalem), ze jesli chce z arduino ide wgrywac soft przy pomocy usbasp to nie musze wypalac bootloader najpierw ?

    Help, pliz :(


    Pozdrawiam,
    Wozek
  • REKLAMA
  • #2 15867253
    wacuu
    Poziom 12  
    Posty: 87
    Pomógł: 6
    Ocena: 4
    Ostrzegam, nie jestem mistrzem.
    Nie, nie musisz wgrywać bootloadera. Jak piszesz w arduino ide, ustaw sobie w preferencjach wyświetlanie komunikatów w trakcie kompilacji. Na podstawie tych informacji ustalisz gdzie dokładnie jest skompilowany program. Potem przy pomocy avrdude i jakiejś nakładki do niego wrzuć sobie to na atmege używając usbasp. Jeśli pracujesz pod Linuksem sprawa jest prostsza bo załatwiasz wszystko jednym poleceniem. Kompilując pliki w Arduino ide kompiluj na arduino uno; ostatecznie to ten sam uC. I nie bój się eksperymentować ;) póki nie grzebiesz w fusebitach w zasadzie nie jesteś w stanie zniszczyć niczego; najwyżej nie zadziała
  • REKLAMA
  • #3 15867274
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    wacuu napisał:
    Na podstawie tych informacji ustalisz gdzie dokładnie jest skompilowany program.


    Ja mam taki swój sposób, choć też ostrzegam j.w. .
    Pierwsze co po odpaleniu Arduino, naciskam ctrl+K. Otwiera się eksplorator windows na jakimś folderze. Idę dwa piętra wyżej i szukam takiego folderu o nazwie w postaci buildXXXXXXXXXXXXX.tmp (gdzie XXXX... to jakiś długi numer, nieważne), który ma bieżący czas i datę takie jak moment bieżącego odpalenia Arduino. Wchodzę do niego, jest pusty.
    Nie zamykając tego okna eksploratora, wracam do Arduino i normalnie pracuję. Robię coś tam, albo piszę nowy szkic albo otwieram istniejący projekt i modyfikuję.

    Kompilację przeprowadzam przyciskiem Zweryfikuj (nie używam Wgraj bo się oczywiście wywali). Wtedy w tym oknie eksploratora co go tam mam w tle otwarte, pojawiają się różne pliki. W tym, ten jeden najważniejszy hex (o nazwie nazwaszkicu.cpp.hex), który wgrywam osobnym programem do atmelka i po robocie.

    Dopóki nie zamknie się Arduino, w tym jednym konkretnym folderze będą po każdej kompilacji powstawały pliki hex z bieżącej kompilacji.
    Jeśli się całkiem zamknie Arduino, to następnym razem Arduino utworzy sobie nowy folder z innym numerem.
  • #4 15867320
    andrzej55
    Poziom 37  
    Posty: 3000
    Pomógł: 306
    Ocena: 374
    wwozek napisał:
    Czy mi sie dobrze wydaje (tak wyczytalem), ze jesli chce z arduino ide wgrywac soft przy pomocy usbasp to nie musze wypalac bootloader najpierw ?

    Nie musisz. W Arduino IDE programator ustawiasz na usbasp, natomiast programowanie przeprowadzasz poleceniami Szkic/Wgraj używając programatora.
  • REKLAMA
  • #5 15868093
    wacuu
    Poziom 12  
    Posty: 87
    Pomógł: 6
    Ocena: 4
    andrzej55 napisał:
    wwozek napisał:
    Czy mi sie dobrze wydaje (tak wyczytalem), ze jesli chce z arduino ide wgrywac soft przy pomocy usbasp to nie musze wypalac bootloader najpierw ?

    Nie musisz. W Arduino IDE programator ustawiasz na usbasp, natomiast programowanie przeprowadzasz poleceniami Szkic/Wgraj używając programatora.


    Niekoniecznie go puści. Zależy od tego, czy Arduino IDE poda jako argument do polecenia dla avrdude właściwy uC. W innym wypadku go wywali, że nie rozpoznaje urządzenia
  • #6 15868106
    Konto nie istnieje
    Konto nie istnieje  
  • #7 15871394
    kosmogon
    Poziom 14  
    Posty: 86
    Pomógł: 12
    Ocena: 8
    wacuu napisał:
    Zależy od tego, czy Arduino IDE poda jako argument do polecenia dla avrdude właściwy uC.


    Wystarczy wybrać płytkę, która zawiera odpowiednią Atmegę. Można to zrobić ręcznie w "Narzędzia>Płytka>Arduino/Genuino Uno". Zamiast Uno można użyć też "Pro or Pro Mini".
  • REKLAMA
  • #8 15873017
    wwozek
    Poziom 9  
    Posty: 15
    Dzieki wielkie za wskazowki. Jak na razie wybralem rozwiaznaie posrednie - Eclipse Arduino IDE i dziala tak jak chcialem (przynajmniej tak mi sie wydaje na ta chwile).


    Pozdrawiam,
    Wozek

Podsumowanie tematu

✨ Użytkownik poszukuje sposobu na programowanie mikrokontrolera Atmega328P bez użycia płytki Arduino, preferując Arduino IDE zamiast Eclipse. Odpowiedzi sugerują, że nie jest konieczne wgrywanie bootloadera, a programowanie można przeprowadzić za pomocą programatora USBasp oraz narzędzi w Arduino IDE. Użytkownicy dzielą się metodami na lokalizację plików hex po kompilacji oraz wskazują, że można ustawić płytkę w IDE na Arduino Uno lub Pro Mini, co umożliwia korzystanie z bibliotek Arduino. Użytkownik ostatecznie decyduje się na połączenie Eclipse z Arduino IDE.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA