eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaksiążka o programowniu AVR w C › Re: książka o programowniu AVR w C
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: książka o programowniu AVR w C
    Date: Mon, 31 Jan 2011 21:04:26 +0100
    Organization: http://onet.pl
    Lines: 53
    Message-ID: <ii74kc$sig$1@news.onet.pl>
    References: <ihpvpu$mvg$1@mx1.internetia.pl> <4...@i...pl>
    <4d467cd6$1@news.home.net.pl> <ii61g5$af2$1@news.task.gda.pl>
    <ii6612$1o6$1@news.onet.pl> <ii6fuk$3re$1@news.task.gda.pl>
    <ii6h1t$djb$1@news.onet.pl> <ii734d$kr$1@news.task.gda.pl>
    NNTP-Posting-Host: 89-74-40-231.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1296504268 29264 89.74.40.231 (31 Jan 2011 20:04:28 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Mon, 31 Jan 2011 20:04:28 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.16)
    Gecko/20101125 Thunderbird/3.0.11
    In-Reply-To: <ii734d$kr$1@news.task.gda.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:603909
    [ ukryj nagłówki ]

    On 2011-01-31 20:39, Marcin Wasilewski wrote:
    > Takie, że jak się pisze w C na scalaki typu Tiny13, które mają "aż" 64
    > bajty RAMu to się można zdziwić, jaką sieczkę odwala (a raczej odkłada
    > na stos) kompilator C wchodząc w przerwanie.

    To bug w kompilatorze jeśli wrzuca za dużo. Nikt nie twierdzi ze avr-gcc
    jest doskonały bo sam wiem że *za* dużo rejestrów używa w przerwaniach.

    > a nie wszystko co się da
    > na zapas jak robi to kompilator C.

    Kompilator C tak nie robi. Tak robi tylko *zły* kompilator C.

    > Tak, szczególnie jak masz np. 1K Flash-a i 64B ramu :)
    > Ale wtedy co robi programista w C? Zamiast ATtiny13, ładuje się
    > ATtiny2313 i problem rozwiązany.

    I ma wiele racji. Dla $0.50 oszczędności per sztuka może sie okazać że
    nie ma co robić rekodzieła w kodzie asm przez 4 miesiące aż się
    *zmieścisz* co do bajta tylko od razu wziąść na zapas i program napisać
    w dwa wieczory.

    > Po pierwsze zajmuje 2 takty samo mnożenie

    Jesli kompilator nie potrafi zamienić a *= 2; na operacje shift bitów to
    jest marnym kompilatorem.

    >> I wiele, wiele innych rzeczy o których programista C _nie musi_ pamiętać.
    > Do momentu jak mu się program "zesra", bo stos wlezie na zmienne.

    Zapewne asm jest tak magiczny że to się nie ma prawa popsuć w ten
    sposób, nie?

    > Podsumowując - pisanie w C wymaga sporo mniej czasu, jednak pewne rzeczy
    > dostępne w asm od ręki C ma wyjątkowo upierdliwie rozwiązane (np. dostęp
    > do zmiennych w pamięci FLASH).

    To raczej brak supportu ze strony kompilatora. C nie ma nic do tego że
    są jakieś rózne pamięci, choć było by miło gdyby miał.

    > Poza tym, jak ktoś zna assembler, to
    > sobie ze wstawkami w newralgicznych miejscach poradzi.

    Rzecz w tym że:

    a) niektórzy programisci starej daty w C piszą dokładnie tak samo jak w
    asm (wlacznie z uzywaniem goto). Dla nich nie ma różnicy bo i tak nie
    potrafia w gruncie rzeczy wykorzystać C.

    b) niektórzy uważają że wstawką może być cały program.

    Wiec jest kwestią zdrowego rozsądku sensownie to podzielić. Osobiście
    jestem zdania że najlepszy jest podział 100% C++ i 0% asm.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: