eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › avr-gcc - dane w flash
Ilość wypowiedzi w tym wątku: 29

  • 11. Data: 2009-08-08 23:47:39
    Temat: Re: avr-gcc - dane w flash
    Od: Adam Dybkowski <a...@4...pl>

    identyfikator: 20040501 pisze:

    > z okazji okazji zapytam (może nikt mnie nie pobije), pojawiły się w
    > sieci jakieś tutoriale na temat programowania w c avr i arm?

    O C na AVRach był kurs chyba w EP.

    No ale w końcu nic wielkiego i tak się nie wyczyta - C jak C, wszędzie
    takie samo. "AVR"owatość polega tylko na obsłudze urządzeń I/O i
    zagraniach niestandardowych jak właśnie omawiany wcześniej dostęp do
    pamięci programu.

    A i tak do większości peryferiów albo samemu sterowniki trzeba sobie
    napisać, albo szukać gotowców w Sieci. Albo od razu przejść na
    rozwinięty system operacyjny z masą gotowych sterowników np. Nut/OS,
    który w gruncie rzeczy polecam. Łatwiejsza jest potem ew. przesiadka na
    ARMa (na którego Nut/OS także jest, z tym samym API).

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

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


  • 12. Data: 2009-08-09 10:40:35
    Temat: Re: avr-gcc - dane w flash
    Od: "identyfikator: 20040501" <N...@o...eu>

    > O C na AVRach był kurs chyba w EP.

    dzięki faktycznie był

    > No ale w końcu nic wielkiego i tak się nie wyczyta - C jak C, wszędzie
    > takie samo. "AVR"owatość polega tylko na obsłudze urządzeń I/O i
    > zagraniach niestandardowych jak właśnie omawiany wcześniej dostęp do
    > pamięci programu.

    jeśli można zapytać, najbardziej szukam informacji jak łączyć program w C z
    assemblerem - nie przy użyciu INLINE... wiem, że procedury asm trzeba
    umieszczać w pliku *.s który trzeba później w jakiś szczególny sposób
    kompilować... tylko jak?
    no i jak deklarować zmienne w procedurach asm, jak wywoływać procedury asm z
    c, no i najważniejsze jak tworzyć procedury obsługi przerwania w asm? jeśli
    Ktoś mógłby coś napisać to będę zobowiązany.


  • 13. Data: 2009-08-09 12:58:40
    Temat: Re: avr-gcc - dane w flash
    Od: __Maciek <i...@c...org>

    Fri, 07 Aug 2009 21:09:04 +0200 Sebastian Biały <h...@p...onet.pl>
    napisał:

    >> Do flasha programu? Taki jak w oficjalnym manualu:
    >> http://www.nongnu.org/avr-libc/user-manual/pgmspace.
    html
    >
    >Tak wiem, ale czy to nie jest rozszezenie tylko dla AVRów ? Zastanawiam
    >sie co bedzie jak gcc oficjalnie bedzie miec taki support, zebym nie
    >musial tegp progmema wywalac z setek miejsc zastepujac czyms nowym-lepszym.

    Zawsze możesz zrobic w jednym pliku źródłowym dwie wersje kodu
    wybierane przez #ifdef / #ifndef
    Moim zdaniem, gdy pisze się na mikrokontrolery, to trzeba sie pogodzić
    z tym że niektóre rzeczy muszą być "architekturo-specyficzne".


  • 14. Data: 2009-08-09 13:07:18
    Temat: Re: avr-gcc - dane w flash
    Od: Zbych <a...@o...pl>

    identyfikator: 20040501 pisze:

    > jeśli można zapytać, najbardziej szukam informacji jak łączyć program w
    > C z assemblerem - nie przy użyciu INLINE... wiem, że procedury asm
    > trzeba umieszczać w pliku *.s który trzeba później w jakiś szczególny
    > sposób kompilować... tylko jak?

    Kompiluje się tak samo jak plik c. Gcc po rozszerzeniu (albo jeśli
    znajdzie opcję -x) rozpoznaje typ pliku i wywołuje
    kompilację/asemblację/linkowanie. Trzeba tylko pamiętać, że porty gcc na
    niektóre architektury automatycznie dostawiają pokreślenie przed nazwami
    procedur w c i trzeba w plikach asm rozpoczynać nazwy procedur od
    podkreślenia.

    --
    przeciez moje rozumowanie bylo bez skazy,
    no sam bym wskoczyl do tego wulkanu,
    ale kto by tak pieknie gwizdal...


  • 15. Data: 2009-08-09 13:23:12
    Temat: Re: avr-gcc - dane w flash
    Od: "identyfikator: 20040501" <N...@o...eu>

    > Kompiluje się tak samo jak plik c. Gcc po rozszerzeniu (albo jeśli
    > znajdzie opcję -x) rozpoznaje typ pliku i wywołuje
    > kompilację/asemblację/linkowanie. Trzeba tylko pamiętać, że porty gcc na
    > niektóre architektury automatycznie dostawiają pokreślenie przed nazwami
    > procedur w c i trzeba w plikach asm rozpoczynać nazwy procedur od
    > podkreślenia.

    dzięki! mógłbyś napisać jakiś edukacyjny programik typu zapisz do zmiennej w
    procedurze asemblerowej, wywoływanej z C? P.S. przypomniało mi się, te pliki
    *.s obowiązują w AVRstudio...


  • 16. Data: 2009-08-09 14:07:24
    Temat: Re: avr-gcc - dane w flash
    Od: Zbych <a...@o...pl>

    identyfikator: 20040501 pisze:

    > dzięki! mógłbyś napisać jakiś edukacyjny programik typu zapisz do
    > zmiennej w procedurze asemblerowej, wywoływanej z C? P.S. przypomniało
    > mi się, te pliki *.s obowiązują w AVRstudio...

    plik main.c:

    #include <avr/io.h>

    uint8_t zmienna;

    uint8_t procedura_w_asemblerze(uint8_t arg);

    void main( void ){

    PORTC = procedura_w_asemblerze(PORTB);
    PORTB = zmienna;
    }

    --------------------------------------------------
    plik utils.S:

    .global procedura_w_asemblerze
    .global zmienna

    .section .text


    procedura_w_asemblerze:

    ; modyfikacja zmiennej globalnej
    lds r25, zmienna
    inc r25
    sts zmienna, r25

    ;obróbka parametrów i zwrócenie wyniku
    inc r24
    ret

    Zanim zaczniesz pisać procedury w asemblerze koniecznie musisz doczytać,
    w jakich rejestrach przekazuje się parametry, zawartość jakich rejestrów
    możesz zniszczyć, a które koniecznie musisz zwrócić nienaruszone:

    http://www.nongnu.org/avr-libc/user-manual/FAQ.html#
    faq_reg_usage

    Do kompilacji używam standardowego makefile'a, więc pliki asemblerowe
    wystarczy dopisać w linii "ASRC =" (pamiętając o dużym S w rozszerzeniu).


    --
    przeciez moje rozumowanie bylo bez skazy,
    no sam bym wskoczyl do tego wulkanu,
    ale kto by tak pieknie gwizdal...


  • 17. Data: 2009-08-09 14:19:15
    Temat: Re: avr-gcc - dane w flash
    Od: "identyfikator: 20040501" <N...@o...eu>

    > .global procedura_w_asemblerze
    > .global zmienna
    >
    > .section .text

    dzięki!!! a gdzie można poczytać o dytektywach asemblera jak wyżej?


  • 18. Data: 2009-08-09 14:23:28
    Temat: Re: avr-gcc - dane w flash
    Od: Zbych <a...@o...pl>

    identyfikator: 20040501 pisze:
    >> .global procedura_w_asemblerze
    >> .global zmienna
    >>
    >> .section .text
    >
    > dzięki!!! a gdzie można poczytać o dytektywach asemblera jak wyżej?

    W manualu do gasa (gnu assembler) - na stronie gcc.


    --
    przeciez moje rozumowanie bylo bez skazy,
    no sam bym wskoczyl do tego wulkanu,
    ale kto by tak pieknie gwizdal...


  • 19. Data: 2009-08-09 16:00:03
    Temat: Re: avr-gcc - dane w flash
    Od: "identyfikator: 20040501" <N...@o...eu>

    a jeszcze pierdółka... jak w avrstudio pisząc program w C:
    a. wygenerować plik wynikowy z przetłumaczonym i skompilowanym z C kodem
    assemblera?
    b. jak uruchomić symulację/debugowanie z pułapkami dla plików w C?


  • 20. Data: 2009-08-09 16:16:09
    Temat: Re: avr-gcc - dane w flash
    Od: "identyfikator: 20040501" <N...@o...eu>

    symulację debuggerem, bez procesora oczywiście...

strony : 1 . [ 2 ] . 3


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: