eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › książka o programowniu AVR w C
Ilość wypowiedzi w tym wątku: 96

  • 71. Data: 2011-02-01 21:57:35
    Temat: Re: książka o programowniu AVR w C
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2011-01-31 22:34, Marcin Wasilewski wrote:
    >>> 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?
    > Ale jak piszesz w asm to z pewnością wiesz co to stos, tym bardziej, że
    > sam musisz go sobie ustawić na RAMEND (lub tam gdzie ci wygodnie), bo
    > nikt tego za Ciebie nie zrobi.

    Podobnie jak pisanie w asm znakomicie rozwija umiejętnośc tworzenia
    nastepnej implementacji fdiv która jak pierdyliard innych pisanych przez
    całe stada assemblerowców jest spieprzona.

    Jakość kodu nie wynika z pisania wszystkiego po swojemu a już na pewno
    nie z pisania wszystkiego na nowo za każdym razem.

    > Tak samo jak mogę sobie wpisać pod jakiś
    > adres w RAM-ie (gdzie planowany jest koniec stosu) jakąś wartość i nawet
    > podczas wykonywania programu sprawdzać, czy stos tego nie zamazał.

    Zupełnie jak w C.

    Oczywiście poza tym, że dzięki możliwości kompilacji kodu w C i
    testowania go w środowisku PC można zdobyc tą i mase innych ważnych
    informacji których nie sposób uzyskać mając do czynienia z kodem
    natywnym na uC. O takich drobnostkach jak unit testy nie wspominam, bo
    przecież assemblerowcy bez wątpienia mają jakieś własne, lepsze
    rozwiązania zagadnień jakości i testowania kodu produkcyjnego, prawda?

    > a jak nawet słyszał ten ktoś magiczną nazwę "stos", to ma
    > mgliste pojęcie jak działa.

    W każdym języku programowania można spotkać ignorantów, ludzi z
    doświadczeniem w Basicu/Delphi czy zwykłych idiotów. Co z tego?


  • 72. Data: 2011-02-02 01:12:53
    Temat: Re: książka o programowniu AVR w C
    Od: Adam Dybkowski <a...@4...pl>

    W dniu 2011-01-31 13:25 Piotr Gałka napisał(a):

    >> Po drugie C (avr-gcc) udostępnia ładne makro po którym od razu widać,
    >> że w tym miejscu zachodzi synchronizacja:
    >> ATOMIC_BLOCK(ATOMIC_FORCEON)
    >> {
    >> flags |= 0b00001001;
    >> }
    [...]
    > Tak z czystej ciekawości:
    > Czy takie makro patrzy co jest w jego wnętrzu i albo blokuje przerwania,
    > albo nie (jeśli wnętrze z natury jest operacją atomową) ?

    Nie, nie "patrzy". Blokuje przerwania na początku a na końcu odblokowuje
    (w tej postaci ATOMIC_FORCEON). Jest też bardziej pożyteczna wersja,
    która przywraca stan przerwań sprzed zablokowania - można takie kawałki
    bez stresu używać wtedy w przerwaniach.

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.


  • 73. Data: 2011-02-02 08:24:21
    Temat: Re: książka o programowniu AVR w C
    Od: Piotr Gałka <p...@C...pl>


    Użytkownik "Adam Dybkowski" <a...@4...pl> napisał w wiadomości
    news:iiab1p$7in$1@news.onet.pl...
    >
    > Nie, nie "patrzy". Blokuje przerwania na początku a na końcu odblokowuje
    > (w tej postaci ATOMIC_FORCEON). Jest też bardziej pożyteczna wersja, która
    > przywraca stan przerwań sprzed zablokowania - można takie kawałki bez
    > stresu używać wtedy w przerwaniach.
    >
    Wiem, że nic nie wiem, no i tego nie rozumiem.
    Przecież jeśli zablokuje przerwania to stan się w czasie gdy są zablokowane
    nie zmieni więc co tu przywracać.
    Czego nie chwytam ?
    P.G.


  • 74. Data: 2011-02-02 08:41:38
    Temat: Re: książka o programowniu AVR w C
    Od: Zbych <a...@o...pl>

    W dniu 2011-02-02 09:24, Piotr Gałka pisze:
    >
    > Użytkownik "Adam Dybkowski" <a...@4...pl> napisał w wiadomości
    > news:iiab1p$7in$1@news.onet.pl...
    >>
    >> Nie, nie "patrzy". Blokuje przerwania na początku a na końcu
    >> odblokowuje (w tej postaci ATOMIC_FORCEON). Jest też bardziej
    >> pożyteczna wersja, która przywraca stan przerwań sprzed zablokowania -
    >> można takie kawałki bez stresu używać wtedy w przerwaniach.
    >>
    > Wiem, że nic nie wiem, no i tego nie rozumiem.
    > Przecież jeśli zablokuje przerwania to stan się w czasie gdy są
    > zablokowane nie zmieni więc co tu przywracać.
    > Czego nie chwytam ?

    Wychodzisz z błędnego założenia, że ten fragment kodu zaczyna się zawsze
    przy włączonych przerwaniach, więc po zakończeniu blokady możesz je
    znowu włączyć (zamiast przywrócić stan poprzedni).


  • 75. Data: 2011-02-02 10:07:06
    Temat: Re: książka o programowniu AVR w C
    Od: janusz_kk1 <j...@o...pl>

    Dnia 01-02-2011 o 22:13:57 4CX250 <t...@p...onet.pl> napisał(a):

    >
    > Użytkownik "janusz_kk1" <j...@o...pl> napisał w wiadomości
    > news:op.vp8ouirl1cvm6g@jk-laptop...
    >
    >> Ale asm to nie kompilator tylko translator który zapis mnemoniczny
    >> przekłada na kod,
    >
    > Wiesz co, nie wiedziałem... Nawet nie wiedziałem że w 1991 roku w
    > paskalu napisałem sobie translator na 8085 :)
    A robił on coś więcej? bo jak nie to był tylko translatorem.
    Poczytaj jak jest zbudowany GCC, IMHO on ma trzy moduły,analizator składni
    i prekompilator,
    właściwy kompilator z optymalizacją i moduł translacji na kod maszynowy z
    linkierem.
    Trzeci moduł jest dostosowany do listy rozkazów procka dzięki czemu GCC
    jest uniwersalne
    i kompiluje od 51 po pic-a. To Tak w dużym skrócie.

    --
    Pozdr
    JanuszK


  • 76. Data: 2011-02-02 10:41:29
    Temat: Re: książka o programowniu AVR w C
    Od: J.F. <j...@p...onet.pl>

    On Wed, 02 Feb 2011 11:07:06 +0100, janusz_kk1 wrote:
    >> Wiesz co, nie wiedziałem... Nawet nie wiedziałem że w 1991 roku w
    >> paskalu napisałem sobie translator na 8085 :)
    >A robił on coś więcej? bo jak nie to był tylko translatorem.
    >Poczytaj jak jest zbudowany GCC, IMHO on ma trzy moduły,analizator składni
    >i prekompilator,
    >właściwy kompilator z optymalizacją i moduł translacji na kod maszynowy z
    >linkierem.
    >Trzeci moduł jest dostosowany do listy rozkazów procka dzięki czemu GCC
    >jest uniwersalne i kompiluje od 51 po pic-a. To Tak w dużym skrócie.

    Architekture musisz uwzglednic juz na etapie kompilacji.
    I optymalizacji tez.

    J.




  • 77. Data: 2011-02-02 11:09:49
    Temat: Re: książka o programowniu AVR w C
    Od: "4CX250" <taunusmtv@poćta.łonet.pl>

    Użytkownik "janusz_kk1" <j...@o...pl> napisał w wiadomości
    news:op.vp9s140z1cvm6g@jk-laptop...

    >A robił on coś więcej? bo jak nie to był tylko translatorem.
    >Poczytaj jak jest zbudowany GCC, IMHO on ma trzy moduły,analizator składni
    >i prekompilator,
    >właściwy kompilator z optymalizacją i moduł translacji na kod maszynowy z
    >linkierem.
    >Trzeci moduł jest dostosowany do listy rozkazów procka dzięki czemu GCC
    >jest uniwersalne
    >i kompiluje od 51 po pic-a. To Tak w dużym skrócie.

    Uśmieszków moich nie dostrzegłeś :)
    Chodziło mi tylko o to że gcc nie ma szans obliczyć głębokości stosu jeżeli
    będziemy zmieniali wartośc wskaźnika SP programowo. Tak ironizowałem tylko.

    Marek


  • 78. Data: 2011-02-02 11:22:00
    Temat: Re: ksišżka o programowniu AVR w C
    Od: "4CX250" <taunusmtv@poćta.łonet.pl>

    Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
    news:t3dik6lu6hjn6doh73rcl94j8vs48eol8l@4ax.com...
    > Architekture musisz uwzglednic juz na etapie kompilacji.
    > I optymalizacji tez.


    I tego nie da się nijak programowo załatwić choćby nie wiadomo jaki był
    uniwersalny ten gcc.

    Wystarczy też małe potknięcie programisty np. włączenie fuse bitu
    kompatybilności 103 w atmega 128 i żaden gcc nie wykryje błędu. Okaże się że
    pamięć za krótka i stos mamy na zmiennych i dodatkowo nie ma fiuczerów które
    sa tylko w 128 a które chce nasz program wykorzystać.


    Marek


  • 79. Data: 2011-02-02 11:25:38
    Temat: Re: ksišżka o programowniu AVR w C
    Od: J.F. <j...@p...onet.pl>

    On Wed, 2 Feb 2011 12:22:00 +0100, 4CX250 wrote:
    >Użytkownik "J.F." <j...@p...onet.pl> napisał w wiadomości
    >> Architekture musisz uwzglednic juz na etapie kompilacji.
    >> I optymalizacji tez.
    >
    >I tego nie da się nijak programowo załatwić choćby nie wiadomo jaki był
    >uniwersalny ten gcc.

    Java i .Net jakby to obchodza.

    >Wystarczy też małe potknięcie programisty np. włączenie fuse bitu
    >kompatybilności 103 w atmega 128 i żaden gcc nie wykryje błędu. Okaże się że
    >pamięć za krótka i stos mamy na zmiennych i dodatkowo nie ma fiuczerów które
    >sa tylko w 128 a które chce nasz program wykorzystać.

    Mozna sie upierac ze C powinien to sobie ustawiac sam :-)

    J.


  • 80. Data: 2011-02-02 11:28:27
    Temat: Re: książka o programowniu AVR w C
    Od: Michoo <m...@v...pl>

    W dniu 02.02.2011 11:07, janusz_kk1 pisze:
    > Trzeci moduł jest dostosowany do listy rozkazów procka dzięki czemu GCC
    > jest uniwersalne
    > i kompiluje od 51 po pic-a.
    Pudło. Ich budowa jest tak 'inna', że na te architektury nie ma portu gcc.

    Dzięki temu mogłem poznać rozkosze używania SDCC - np operuje się na
    liczbach zmiennoprzecinkowych, kod się kompiluje. Dopiero po
    sformatowaniu go przez printf i wyświetleniu na LCD widać napis
    informujący o braku jednostki zmiennoprzecinkowej. ;)

    --
    Pozdrawiam
    Michoo

strony : 1 ... 7 . [ 8 ] . 9 . 10


Szukaj w grupach

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: