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

[atmega16] Jak skompilować kod C do pliku .HEX dla Atmega16? Szukam alternatywy dla Winpic

harmichalh 06 Kwi 2011 21:46 4022 16
REKLAMA
  • #1 9369406
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    Witam, szukam programu do kompilacji programu z C do hex. Znalazłem winpic, mam plik mainfest, ale nie wiem jak uruchomić kompilację (nie wiem, jaką komendę wywołać, a na stronie autora nie znalazłem żadnych pomocnych informacji.), dlatego szukam czegoś innego.
  • REKLAMA
  • #4 9369565
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    avrstudio zainstalowałem, ale nie działa (nie uruchamia się, jest błąd. Winavr, mam, ale mam z nim problem. Ustawiłem wszystko w programie MFile, wygenerowałem plik makefile. I mam plik main.c ( tylko kod: int main(){return 0;} ). I nie wiem co teraz mam zrobić, a w pomocy na stronie nic nie znalazłem.
  • REKLAMA
  • Pomocny post
    #6 9369676
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Dobra rada. AVR Studio powstało po to, aby ułatwić programistom pisanie i kompilację kodu, więc wszystko łącznie z makefile itp robione jest automatycznie.

    Radzę więc poświęcić czas na poprawne zainstalowanie AVR Studio bo odzyskasz ten czas wielokrotnie pozbawiając się problemów z pisaniem i kompilacją kodu.
  • REKLAMA
  • #7 9369758
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    Zainstalowałem AVR Studio. Przyczyną problemów był SP2, który też zainstalowałem.
  • #9 9369795
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    Udało się wszystko zaprogramować. Dzięki za pomoc. A w AVR Studio można ustawiać fusebity? Jeśli tak, to jak to zrobić, a jeśli nie, to jakim innym programem to zrobić?
  • REKLAMA
  • #12 9369838
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    o mkavrcalcualotr wiem, ale wersja darmowa nie obsługuje ATmegi 16.
    A jak ustawić te bity, żeby tylko zmienić taktowanie na 8MHz, normalnie to wymyśliłbym coś sam, ale nie chce sobie zablokować 1. mikorokontrolera.
  • #13 9369885
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Dawno nie robiłem nic na Atmelach więc sprawdź jeszcze sam:

    [atmega16] Jak skompilować kod C do pliku .HEX dla Atmega16? Szukam alternatywy dla Winpic

    Ale uwaga na:

    [atmega16] Jak skompilować kod C do pliku .HEX dla Atmega16? Szukam alternatywy dla Winpic

    I może ktoś bardziej doświadczony potwierdzi :?:

    Możesz wrzucić screen z PonyProg z odczytanymi aktualnymi stanami bitów?
  • #14 9370080
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    Screen z ustawień, jakie są, ja nic nie zmieniałem, tak jest od zakupu.[atmega16] Jak skompilować kod C do pliku .HEX dla Atmega16? Szukam alternatywy dla Winpic
  • #15 9370591
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    Ponieważ w PonyProg bity są negowane (patrz opis na załączonym przeze mnie screen-ie), więc negujemy to co wynika z bitów które odczytałeś
    CKSEL<3:0> = 1110
    czyli po negacji CKSEL<3:0> = 0001

    Sprawdzam czy zgadza się to z tabelką:

    [atmega16] Jak skompilować kod C do pliku .HEX dla Atmega16? Szukam alternatywy dla Winpic

    i wychodzi mi, że tak i jest to ustawienie fabryczne.

    Teraz mając tę wiedzę spróbuj pokazać jak ustawiłbyś bity by osiągnąć swój zamierzony zegar.

    A do bardziej doświadczonych z Atmelami kolegów prośba o potwierdzenie lub zaprzeczenie temu, co napisałem.
    Nie chciałbym koledze źle doradzić, by nie zablokował sobie jedynego procesora.
  • #16 9371018
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    W tym przypadku bit zaprogramowany zawsze jest równy zero, gdyż po skasowaniu bit pamięci FLASH ma wartość 1.
    Natomiast prościej zainwestować w programator, który bezpośrednio wspiera AVR Studio (np. AVR ISP lub AVR ISP MkII) i ustawiać fusebity korzystając z opisów w AVR Studio. Praktycznie nie ma możliwości pomyłki i nie trzeba stosować zewnętrznych programów.
    Zaleta jest jeszcze jedna - nie trzeba generować HEXów, bo AVR Studio może zaprogramować procesor z pliku elf zawierającego zawartość FLASH, EEPROM i fusebitów. Dzięki temu mamy wszystko w jednym.
  • #17 9371796
    harmichalh
    Poziom 12  
    Posty: 93
    Ocena: 3
    Chce ustawić CKSEL3..0 na 0100 (czyli 8MHz, zgodnie z pdf-em) i SUT1..0 na 10 (czyli Slowly rising power, zgodnie z pdf-em). Czyli muszę zaznaczyć w ponyprog bity: CKSEL2 o SUT1, tak?

Podsumowanie tematu

LABEL_AI_GENERATED
W dyskusji poruszono temat kompilacji kodu C do pliku .HEX dla mikrokontrolera Atmega16. Użytkownik poszukiwał alternatywy dla Winpic, napotykając trudności w używaniu WinAVR i AVR Studio. Uczestnicy forum polecili zainstalowanie WinAVR oraz AVR Studio, które automatyzują proces kompilacji. Po zainstalowaniu AVR Studio, użytkownik rozwiązał problemy związane z błędami, które były spowodowane przez SP2. W dalszej części rozmowy omawiano ustawianie fusebitów, sugerując użycie PonyProg 2000 lub AVR ISP do ich konfiguracji. Użytkownik chciał ustawić CKSEL3..0 na 0100 dla taktowania 8MHz oraz SUT1..0 na 10, co wymagało odpowiednich ustawień w PonyProg.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA