Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak skompilować plik C na Hex?

lumpus 24 Maj 2012 10:01 2469 13
  • #1 24 Maj 2012 10:01
    lumpus
    Poziom 14  

    Witam

    Mam pewien problem.
    Otóż ktoś mnie poprosił abym zmienił plik C na wsad Hex.
    Próbowałem na różne sposoby lecz bez rezultatu.
    Nie wiem czy złego kompilatora używałem czy jest inny powód.
    Proszę o radę w tej kwestii lub info jak tego dokonać.
    Nadmieniam iż jest to program dla AT89Cx051.
    W załączniku właśnie ten program w TXT.

    Z góry dziękuję.

    Ps. Szukałem już w Google i na forum, ale jakoś nie znalazłem konkretów.

    0 13
  • #3 24 Maj 2012 11:17
    lumpus
    Poziom 14  

    Witam

    Zlinkować - znaczy, że jak?
    Proszę o dokładną instrukcję jeśli można.

    Dziękuję.

    0
  • #4 24 Maj 2012 11:54
    mickpr
    Poziom 39  

    Ściągnij sobie darmowego (do chyba 2kB) Keila pod C51. https://www.keil.com/demo/eval/c51.htm
    Załóż projekt. - wybierz Atmel 89C2051 lub 89C4051 (z nagłówka wnioskuję, że jeden z tych dwóch mikrokontrolerów chcesz użyć).
    Dodaj plik (np. main.c). Wklej w niego zawartość tego pliku, który podałeś.
    Zapisz, dodaj ten plik do swojego projektu.
    w opcjach projektu ustaw poprawne wartości (np kwarcu), a w zakładce Output - generowanie kodu HEX. Compile - i .... voila.

    0
  • #5 24 Maj 2012 12:37
    gaskoin
    Poziom 38  

    mickpr napisał:
    Skompilować kompilatorem do obj,
    zlinkować (linkerem) do BIN


    Pierwszy raz słyszę żeby linkowało się coś do pliku bin :)

    0
  • #6 24 Maj 2012 13:29
    lumpus
    Poziom 14  

    Witam ponownie.

    Tak sobie myślę, skoro to takie proste to czy Mógłby kolega skompilować ten plik?
    Może być na 89C2051 - jeśli wynikowy Hex będzie do 2KB oczywiście.
    Jeśli nie to na 89C4051 tam się pomieści 4KB programu.
    A czy jest jakiś przyjazny kompilator bez rejestrowania się?

    Z góry dziękuję.

    0
  • #9 24 Maj 2012 14:37
    lumpus
    Poziom 14  

    Witam

    Do kolegi Krzyjak:
    Czy Mógłbyś jeszcze porobić screeny z całej operacji?
    Wiedziałbym wtedy co z czym.

    Za Hex-a dziękuję.

    Pozdrawiam

    0
  • #10 24 Maj 2012 15:50
    mickpr
    Poziom 39  

    gaskoin napisał:
    Pierwszy raz słyszę żeby linkowało się coś do pliku bin :)

    Kolega ma trochę racji - a ja wyraziłem się nieprecyzyjnie.
    Pojęciem pliku binarnego można określić każdy (komputerowy) plik, który nie jest plikiem tekstowym.
    http://pl.wikipedia.org/wiki/Plik_binarny
    Plik generowany przez linker w tym przypadku będzie plikiem wykonywalnym (dla 89Cx051).

    krzyjak napisał:
    Kompilowane w Keil C51.

    A jakie ustawienia w projekcie kolega zrobił?
    Zawsze mi się wydawało, że potrzeba ustawić co najmniej poprawną częstotliwość kwarcu, nie wspominając o pozostałych elementach.

    0
  • #12 24 Maj 2012 19:00
    94075
    Użytkownik usunął konto  
  • #13 24 Maj 2012 19:40
    krzyjak
    Poziom 29  

    mickpr napisał:

    A jakie ustawienia w projekcie kolega zrobił?
    Zawsze mi się wydawało, że potrzeba ustawić co najmniej poprawną częstotliwość kwarcu, nie wspominając o pozostałych elementach.


    Ten plik został skompilowany dla domyślnych ustawień kompialtra dla uC 89C4051. Częstotliwość kwarcu 24 MHz, lecz patrząc na kod nie jest istotne jaka tam będzie wartość. Istotne jest by, kwarc w układzie tej lampki nocnej wynosił dokładnie tyle ile wynosi w projekcie czyli: 3,579MHz.

    0
  • #14 24 Maj 2012 19:54
    lumpus
    Poziom 14  

    Witam

    Ponieważ kolega krzyjak umieścił wsad w Hex-ie, niestety screenów z przebiegu już nie. Wydaje mi się, że temat można już zamknąć. Co prawda nadal nie wiem jak dokonać kompilacji takiego programu ale wsad już mam.
    Tak więc bardzo dziękuję koledze za skompilowany wsad.

    Temat zamykam.
    Dziękuję wszystkim.
    Pozdrawiam

    0