Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Darmowy kompilator C do procesorów AVR?

adam cs 22 Oct 2009 21:57 4600 23
Computer Controls
  • #1
    adam cs
    Level 14  
    Witam.

    Czy są jakieś darmowe kompilatory do procesorów AVR?
    Oczywiście oprócz WinAVR-a bo takich kłopotów z instalacją i konfigurowaniem nie miałem chyba z żadnym innym programem.
    Czy jest może wersja Dev C++ przeznaczona do programowania mikrokontrolerów.
    Do tej pory ( a od niedawna) programuje w Bascom dlatego niewiem za dużo na temat powyższego .Ale jeśli chodzi już o samo pisanie programów w C to już sobie poradze .
  • Computer Controls
  • #3
    alien_audio
    Level 21  
    Witam.
    Tak, są wersje darmowe ale do np. 16K kodu.
    Poszukaj Keil lub JAR. Są to rozwiązania profesjonalne.
  • #4
    maciek_slon
    Level 29  
    A można spytać, jakie kłopoty miałeś z WinAVR? Do tej pory instalowałem je na wielu komputerach, i sprowadzało się to do klikania na next :P A potem zarówno AVRStudio jak i CodeBlocks same wykryły istnienie WinAVR.
  • #5
    mirekk36
    Level 42  
    ja także podobnie jak przedmówca - potwierdzam, że instalowanie kolejnych wersji WINAVR to tylko klikanie po kilka razy NEXT ..... , a później wykrywają jego istnienie także np: Eclipse i inne

    Jak byś napisał, że miałeś trudności żeby pierwszy raz zainstalować środowisko programistyczne Eclipse - to bym jeszcze zrozumiał ale sam WinAVR ??? (widać coś źle zrozumiałeś jeśli chodzi o to jak się z niego korzysta albo może zassałeś jakąś prehistoryczną i może uszkodzoną/zmienioną instalkę)
  • Computer Controls
  • #6
    adam cs
    Level 14  
    No dobra może źle się wyraziłem rzeczywiście przy instalacji klikamy "next" , plik makefile też dało sie stworzyć, ale jeśli chodzi już o stworzenie dodatkowych potrzebnych opcji w TOLLS takich jak 'udostępnij LPT' i 'zaprogramuj ' to juz są schody .
    Jeszcze dzisiaj przysiąde do instalacji tego WinAVR i napisze konkretnie o jakie błędy mi chodzi.
    Aha i jeszcze jedno -Jaką wersję polecacie, najnowszą?
    I jeszcze dodam, że wzoruję się na tej stronce:
    Link
  • #7
    tmf
    Moderator of Microcontroller designs
    Swietnie, wzorujesz sie na stronie opisujacej WinAVR sprzed 5 lat! Najlepsze co mozesz zrobic to o tej stronie zapomniec.
    Programowanie procka wygodne jest z poziomu AVRStudio, ktore zreszta z gcc wspolpracuje, wystarczy zainstalowac oba programy.
  • #8
    mirekk36
    Level 42  
    Polecam ci zainstalować najnowszą wersję WinAVR oraz najnowszą wersję AVRStudio. Ten drugi program zassiesz za free ze strony Atmela bez problemu

    Jeśli najpierw zainstalujesz WinAVR a później AVRStudio - to AVRStudio od razu będzie widziało w systemie i będzie ładnie działać

    Dzięki AVRStudio - nie będziesz na początku musiał zajmować się tworzeniem pliku makefile (może on być tworzony dynamicznie) - Później w miarę potrzeb i doświadczenia oczywiście można tworzyć już własne wersje makefile

    .....a jeśli chodzi o jakiś kurs - dobry kurs C to szczerze polecam ten z czasopisma "Elektronika dla wszystkich" czyli EdW..... można nawet tu na elektrodzie znaleźć skany z tego kursu z archiwalnych numerów EdW. (Gwarantuję ci, że szybko dzięki temu kursowi przepbrniesz początki nauki C)
  • #9
    adam cs
    Level 14  
    Panowie...właśnie ściągłem WinAvr wersja 20090313 i AvrStudio 4.16SP1 i 4.16SP2 czy a przy instalacji AvrStudio pokazuje mi taki błąd:
    Darmowy kompilator C do procesorów AVR?
  • #11
    adam cs
    Level 14  
    teraz sciągam wersje która ma 113 MB(instalka) a nie jak tamta- 34MB
    zobaczymy co teraz pokaże
  • #12
    tmf
    Moderator of Microcontroller designs
    Nie mozesz zassac ze strony Atmela najnowszej wersji AVR Studio 4.17? Tworzysz problemy, ktorych nie ma.
  • #13
    adam cs
    Level 14  
    mam tą wersje 4.17 tylko jak próbuję zaprogramować to w okienku select avr programmer niema nigdzie LPT ani STK200 tylko comx i usb
  • #14
    tmf
    Moderator of Microcontroller designs
    Bo prosty programator na lpt na tym nie dziala. Musisz miec jeden z klonow atmelowskich. W takim wypadku avrdude z pakietu WinAVR, ponyprog (bardzo fajny), lub programator A.Dybkowskiego (do sciagniecia za free z jego strony).
    Chociaz polecam ci kupic jakis z ISP i JTAG - szczegolnie zalety tego drugiego szybko docenisz - komfort pracy, mozliwosc debugowania nie do przecenienia.
  • #15
    adam cs
    Level 14  
    Aha czyli teraz jak mam tylko stk200 to moge sobie co najwyżej w Bascomie programować .
    Nie pozostaje mi nic innego jak w przyszłości rozejrzeć się za stk500
  • #16
    mirekk36
    Level 42  
    adam cs wrote:
    Aha czyli teraz jak mam tylko stk200 to moge sobie co najwyżej w Bascomie programować .
    Nie pozostaje mi nic innego jak w przyszłości rozejrzeć się za stk500


    co ty pietruszkujesz ? ;)

    po pierwsze czy uważasz że bez możliwości zaprogramowania procka bezpośrednio z jakiegoś srodowiska ( w tym przypadku z AVRStudio ) - całkowicie dyskwalifikuje to środowisko?

    po drugie - akurat AVRStudio umożliwia pośrednie (ale całkowicie z IDE) zaprogramowanie procka także za pomocą STK200 lub praktycznie dowolnego innego programatora sprzętowego - tylko trzeba wiedzieć jak (ja kiedyś podłączałem sobie do AVRStudio np PonyProg'a ale szybko zmieniłem go na AVRDUDE, które działa rewelacyjnie w takim zestawie). Czyli po odpowiednim ustawieniu - wciskasz sobie jeden wybrany klawisz czy kombinację klawiszy i proszę - programujesz z poziomu AVRStudio procka za pomocą STK200 czy czegokolwiek innego

    po trzecie - podobne rzeczy można robić w innych kompilatorach - także w Bascomie - np można podpiąć AVRDUDE a co za tym idzie dowolny programator sprzętowy w tym np USBASP

    najlepiej - jak się już chce wszystko super wygodnie robić to warto poznać (choć na początku wydaje się to b.trudne do okiełznania) Eclipse

    po czwarte - to co za problem - nawet jak się nie wie jak podpiąć jakiś programator do AVRStudio czy czegoś innego - to zawsze można użyć zewnętrznego programu - więc po co narzekać ;) ???
  • #17
    janbernat
    Level 38  
    Po piąte - AVrStudio generuje plik HEX.
    Który możesz sobie wgrać do procesora za pomocą STK200 i Bascoma nawet w wersji demo-która nie ma ograniczeń na wielkość wgrywanych plików HEX.
    Wystarczy do bufora wgrać plik wygenerowany przez AVRStudio.
    A jaka wygoda przy ustawianiu fusebitów.
  • #18
    OldSkull
    Level 28  
    Instalujemy WinAVR - otrzymujemy kompilator C++ oraz program do wgrywania plików .hex (avrdude). AVRStudio bez problemu wykrywa WinAVR, natomiast jeśli chodzi o to drugie:
    - korzystamy AVR Burn-O-Mat i tam wygodnie sobie wszystko co trzeba wybieramy (i tak warto ten program zainstalować, aby wygodnie odczytywać i zapisywać fuse bity)
    - korzystamy z komendy w konsoli, czyli tworzymy sobie plik .bat, w którym piszemy: "avrdude -p [typ uC, np. mega8 to m8] -c [typ programatora, np usbasp] -e -U flash:w:nazwa_pliku.hex:i" Można jeszcze na końcu dopisać stosowne komendy odnośnie fusów albo eepromu lub inne opcje. Aby zaprogramować włączamy każdorazowo ten plik
    - w AVRStudio wchodzimy z Tools->Customize->Tools i albo dodajemy odpowiednią komendę i wybieramy miejsce, gdzie jest avrdude, albo wybieramy po prostu plik z punktu wyżej. Pojawi nam się nowa opcja w menu Tools.

    Generalnie sam WinAVR jest beznadziejny - ani nie tworzy sam makefile, ani nie ma dobrego notatnika, ani debuggera. AVRStudio ma jedynie kiepski notatnik, pozostałe rzeczy ma.
  • #19
    Freddie Chopin
    MCUs specialist
    OldSkull wrote:
    Generalnie sam WinAVR jest beznadziejny - ani nie tworzy sam makefile, ani nie ma dobrego notatnika, ani debuggera. AVRStudio ma jedynie kiepski notatnik, pozostałe rzeczy ma.

    Zdanie napisane w poniższy sposób jest bliższe prawdy:
    AVRStudio ma jedynie dobry symulator, pozostałe rzeczy po prostu ma kiepskie. Eclipse niszczy AVRStudio [;

    4\/3!!
  • #21
    adam cs
    Level 14  
    Dzięki chłopaki za naprowadzanie, zastosuje sie do waszych postów.
    Pozdrawiam
  • #22
    Samuraj
    Level 35  
    Ja natomiast korzystam z Ispprog'a
    Fajną rzeczą jest to że program podczas programowania na bieżąco odczytuje wybranego wcześniej hexa.
    Na początku pracy wybieramy plik hexa a później podczas kolejnych zmian wybieram tylko opcje programuj. Program sam z siebie nie buforuje raz wczytanego pliku.
  • #23
    adam cs
    Level 14  
    Już wszystko rozkminiłem i teraz kompiluje i programuje bezpośrednio z WinAVR.
    wszystko co mi wcześniej nie wychodziło było spowodowane złą konfiguracją pliku makefile. Teraz mam pytanko czy taki fragment raportu z kompilacji i wgrania programu do procesora mówi mi ile program zajmuje w pamięci procesora?
    dla przykładu podaje fragment raportu:

    avrdude: erasing chip
    avrdude: reading input file "teraz.hex"
    avrdude: input file teraz.hex auto detected as Intel Hex
    avrdude: writing flash (104 bytes):

    Czy w tym przypadku mój programik zajmuje w pamieci ATmegi8 104 bajty?
    O ile bascom Demo ograniczał do 2KB o tyle w moim przypadku moge wykorzystać całą pamięć flash 8KB?
  • #24
    janbernat
    Level 38  
    No przecież to jest darmowy kompilator.
    Możesz wykorzystać nawet 128k flash jak kupisz większy procesor.