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

qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy

damiano713 03 Dec 2010 13:42 14259 18
Computer Controls
  • qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy

    Edytor i kompilator asemblera AVR dla nowicjuszy
    Program powstał jako narzędzie wykorzystywane w ramach zajęć z programowania mikrokontrolerów dla początkujących w Zespole Szkół Elektrycznych w Kielcach prowadzonych przez Pana Andrzeja Oko.
    Jest to najprostszy możliwy edytor i kompilator asemblera dla osób, które zaczynają zabawę w programowanie. Umożliwia on napisanie, skompilowanie i zaprogramowanie procesora, wykorzystując jeden program.

    Obsługa
    Obsługa programu miała być z założenia jak najprostsza. Program nie posiada funkcji tworzenia "projektów" i jest to działanie zamierzone.
    Aplikacja oferuję przejrzyste tworzenie kodu w asemblerze, tak aby początkujący mógł się skupić na nauce asemblera, a nie na skomplikowanych funkcjach edytora.

    qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy


    Funkcje
    Posiada kilkanaście bardzo przydatnych funkcji, ułatwiających pracę:
    - podświetlanie składni,
    - szybkie przeskakiwanie między etykietami,
    - numerowanie linii,
    - uzupełnianie nazw etykiet (z ang. snippets),
    - krótkie tabulacje,
    - kompilowanie przy użyciu AvrA,
    - programowanie przy użyciu AvrDude,
    - wyświetlanie komunikatów kompilatora (błędy i ostrzeżenia),
    - obsługa wielu języków,
    - kodowanie UTF-8,
    - działanie pod systemem Linux, Windows i MacOS,
    - przyjazny interfejs, maksymalizujący obszar edycji kodu.

    qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy

    Konfiguracja
    W programie można konfigurować wszystkie opcje wyglądu edytora. Kolory podświetlania składni, układ elementów GUI, szerokość wcięć, dopełnianie nazw etykiet.

    qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy

    Technikalia
    Program jest napisany przy użyciu C++ i QT4. Można go skompilować wszędzie tam gdzie działa QT4 i ewentualnie AvrA oraz AvrDude.
    Aplikacja w systemie Linux korzysta z własnej kopii kompilatora AvrA (wersja 1.2.3 Build 1). Można zastąpić go nowszą wersją, lecz nie mogę zapewnić zgodności komunikatów. Za AvrDude przyjmowana jest wersja zainstalowana w systemie. Do działania programu obie aplikacje są wymagane.
    W wersji dla Windows AvrA i AvrDude są dostarczane wraz z qMikroIDE. W razie jakichkolwiek problemów z programem trzeba najpierw sprawdzić działanie exe'ków AvrA i AvrDude.
    Kod źródłowy udostępniony jest na licencji BSD. Prosiłbym aby wszelkie poprawki były zgłaszane również do mnie.
    Dodam, iż jest kilka opcji w menu, które nie działają na chwilę obecną. Będą wprowadzane w nowej wersji (1.3).

    qMikroIDE - edytor i kompilator asemblera AVR dla nowicjuszy

    Pobieranie
    Najnowsze kod źródłowy i binaria dostępne są na mojej stronie domowej.
    DamianKmiecik.tk/qmikroide/

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    damiano713
    Level 15  
    Offline 
    Has specialization in: elektronika cyfrowa, programowanie, webmastering
    damiano713 wrote 177 posts with rating 299, helped 12 times. Live in city Kielce. Been with us since 2006 year.
  • Computer Controls
  • #2
    chmurli
    Level 10  
    całkiem fajny program, podoba mi się prostota i całkiem dobry interfejs. Co prawda na co dzień programuję w c, ale może się przda w przyszłości.
    Masz wielkiego plusa za wersje na linuksa :)
    https://aur.archlinux.org/packages.php?ID=44111
    zrobiłem nawet paczkę dla ArchLinux, ale musiałem wrzucic pliki do siebie bo z Twojej strony były kłopoty z pobraniem i sumą md5

    Z minusów to widzę że dołączyłeś nieaktualną wersję avra no i statyczne linkowanie bibliotek to też nie idzie w duchu linuksa, ale w tym przypadku można przeboleć te małe pliki
  • #3
    enemyhilator
    Level 16  
    Nareszcie oprogramowanie dla linuxa. Chwała ci za to...
  • #4
    11111olo
    Level 42  
    Uważam że AVR Studio jest lepsze, a obsługa też jest banalna więc nie wiem skąd stwierdzenie że skupianie się na skomplikowanych funkcjach edytora jest konieczne?!
  • Computer Controls
  • #5
    damiano713
    Level 15  
    chmurli:
    Program powstał dla Linuxa. Windows jest opcją dodatkową :)
    Na Linuxie jest wszystko dynamicznie linkowane. Na Windowsie są dołączone DLL ponieważ nie każdy wie skąd je pobrać (są to biblioteki QT4).
    Co do paczki ArchLinux, dołączę link do mojej strony. Jutro postaram się zrobić też paczkę RPM i DEB.

    enemyhilator
    Aplikacji dla Linuxa już trochę jest. To jest kolejna. Nigdy nie jest zbyt dużo...

    11111olo
    A ja uważam, że Photoshop jest lepszy od Painta. :P
    Ja nie chce robić programu lepszego od AVR Studio. Toto co zrobiłem ma po prostu działać wszędzie (Linux, Windows, MacOS) i umożliwiać naukę programowania AVR w asemblerze.
    Koledzy z kółka programowania AVR'ów sobie chwalą mój program.

    P.S.
    Poza tym uruchomiłem to na systemie wbudowanym z ARM 400MHz. Działało płynnie. :) Niech ktoś uruchomi AvrStudio...
  • #6
    profesorek_96
    Level 16  
    W jakim środowisku pisałeś?
  • #7
    damiano713
    Level 15  
    profesorek_96
    Środowisko QTCreator. http://qt.nokia.com/
    Nie da się tego nauczyć lub wyczytać. Trzeba się zebrać i zacząć robić. Po drodze trzeba rozwiązać niezliczoną ilość problemów.
  • #8
    profesorek_96
    Level 16  
    Czym ono różni się visual c++? Czy można to samo wykonać w visual c++?
  • #9
    damiano713
    Level 15  
    profesorek_96
    A czego nie można wykonać na maszynie Turinga?
  • #11
    Matejkos
    Level 20  
    AvrDude współpracuje z usbAsp-em więc program także powinien z nim współpracować
  • #12
    damiano713
    Level 15  
    leonow32
    Oczywiście, że obsługuje.
    Obsługuje wszystko to co obsługuje program AVRDUDE.
    Począwszy na zwykłym ISP, a skończywszy na Dragonie.
  • #13
    karel21
    Level 27  
    Co się stało że nie mam polaka?.
  • #14
    damiano713
    Level 15  
    karel21
    Polski język musi być. Jest wkompilowany na stałe. Awaryjnie można spróbować zmienić nazwę pliku trans_en.qm na np trans_en_temp.qm
  • #16
    Pituś Bajtuś
    Level 28  
    Fajne, tylko żeby nie podzieliło losu kilku innych IDE dla AVR które na przestrzeni dziejów się pojawiły i umarły nierozwijane.
  • #17
    szala146
    Level 11  
    Witam. Bardzo mi się spodobał twój program. Jestem ucznie 2 klasy technikum elektronicznego i właśnie zaczynam przygodę z elektroniką, a dokładniej z programowaniem. Może znacie jakieś kursy Aseblera AVR, ale takie które nie dają instrukcji na dany program np. AVRstudio tylko ogólnie. Może masz jakiś kurs oparty o twój program. Szukałem w internecie ale wszystko na AVRstudio czy inne tego typu programy. Prosił bym o proste kursy dla początkujących, no i oczywiście darmowe :D, bo gdzieś widziałem płatne.
    Proszę o kursy w języku polskim.
    Za wszystko wielkie dzięki.

    PS.
    O przepraszam właśnie znalazłem jakieś kurs na mikrokontrolery.net
    Ale i tak jak ktoś ma coś ciekawego to poproszę.
  • #18
    damiano713
    Level 15  
    Quote:
    Jak długo zajęło napisanie tego programu?

    Code:
    [1.12.2010] v1.2
    
    - obsługa dodatkowych języków
    [29.11.2009] v1.1
    - wygodna konfiguracja
    - sprawy kosmetyczne przy edytorze
    - konfigurowalny wygląd edytora
    - poprawa wydajności edytora
    - poprawione rozpoznawanie komunikatów AvrDude
    [24.11.2009] v1.0
    - uzupełnianie kodu w edytorze
    - zmiana klas edytora, przeniesienie wszytskich funkcji do osobnej klasy
    - usprawnienie interfejsu, zmiana widgetu asembler i programowanie
    - zmiana sposobu działania klasu Compiler
    - zmiana sposobu działania klasu Avrdude
    [12.11.2009] Pre Beta
    - debugowanie wersji dla Windows
    - obsługa programowania poprzez avrdude
    [9.11.2009] Alpha
    - debugowanie wersji dla Windows
    - wersja dla Windows posiada juz kompilowanie
    - poprawienie bugu kodowania w edytorze
    - zmiany kosmetyczne wyświetlania błędów
    - poprawiona obsługa kolorowania składni
    [5.11.2009] Pre Alpha
    - debugowanie wersji dla Windows
    - zmiana kompilatora na avra
    - zamrożenie wyglądu interfejsu programu
    [1.11.2009] Pre Pre Alpha
    - poprawiony interfejs
    - obsługa kompilatora gavrasm
    - Pełny kod edytora kodu z podświetlaniem
    [28.10.2009]
    - pierwsza wersja interfejsu
    - projekt działania programu

    Czyli mniej więcej miesiąc pisania i debugowania. Potem drobne poprawki.
    Był używany na zajęciach, nigdy jeszcze nie zawiódł.

    Quote:
    Może masz jakiś kurs oparty o twój program.

    Jest jeden asembler dla AVR'ów. Możesz się uczyć z dowolnego kursu. Nawet z dokumentacji Atmela. Bez języka angielskiego nie będzie nic z Twojej nauki.
    Tu masz przykłady: http://damiankmiecik.tk/2010/10/a-few-assemblers-useful-libraries/
    Opóźnienia są zrealizowane na liczniku. AVR powinien działać z kwarcem 16MHz.
  • #19
    voland
    Level 15  
    damiano713 wrote:

    Posiada kilkanaście bardzo przydatnych funkcji, ułatwiających pracę:
    - podświetlanie składni,
    - szybkie przeskakiwanie między etykietami,
    - numerowanie linii,
    - uzupełnianie nazw etykiet (z ang. snippets),
    - krótkie tabulacje,
    - kompilowanie przy użyciu AvrA,
    - programowanie przy użyciu AvrDude,
    - wyświetlanie komunikatów kompilatora (błędy i ostrzeżenia),
    - obsługa wielu języków,
    - kodowanie UTF-8,
    - działanie pod systemem Linux, Windows i MacOS,
    - przyjazny interfejs, maksymalizujący obszar edycji kodu.


    Wszystkie te cechy posiada Vim/Gvim i wiele wiele więcej. Polecam wszystkim Vim najlepszy edytor jaki kiedykolwiek używałem www.vim.org