eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › AT91SAM7/9 i Linux
Ilość wypowiedzi w tym wątku: 11

  • 1. Data: 2018-08-21 08:29:36
    Temat: AT91SAM7/9 i Linux
    Od: Atlantis <m...@w...pl>

    Jakiś czas temu, przy okazji zakupów w TME albo AVT kupiłem kilka sztuk
    mikrkontrolerów Atmela z rodzin SAM7 i SAM9. Lata ich popularności już
    minęły, ja skupiłem się głównie na PIC32 i STM32. Niemniej nie wykluczam
    możliwości, że kiedyś je do czegoś wykorzystam.

    Z tego względu rozglądam się za narzędziami, które pozwoliłyby mi
    przygotować i skompilować kod na MCU z tych rodzin. Jednak z tego co
    widzę, to:

    1) Atmel Studio nie obsługuje w ogóle tych mikrokontrolerów. To znaczy
    nie obsługiwało, gdy sprawdzałem ostatnio, jakieś dwa lata temu. Kreator
    nowego projektu pozwalał wybrać z listy tylko nowsze układy z rodziny
    AT91SAM3. Potem Atmel został przejęty przez Microchipa. Ja zresztą
    ostatecznie przeniosłem się na Linuksa i przestałem korzystać z tego
    programu. Nowy MPLABX potrafi ponoć obsługiwać AVR-y (na razie funkcja w
    wersji beta) jednak nie sądzę, żeby dodali stare ARM-y.
    2) Na stronie Microchipa znajduje się co prawda ARM 8-bit [sic!]
    Toolchain 6.3.1, jednak z tego co widzę jest to sam kompilator
    (arm-none-eabi). Nie widzę tam żadnych plików nagłówkowych, które
    definiowałyby poszczególne modele mikrokontrolerów.

    Czy ktoś mógłby mnie odesłać do jakiejś sprawdzonej instrukcji i
    narzędzi, pozwalających przygotować projekt dla tych MCU? Na dobrą
    sprawę nie potrzebuję jakiegoś rozbudowanego IDE. Wystarczy zestaw
    narzędzi, pozwalających obsłużyć to z poziomu Make. Byle tylko był to
    kompletny zestaw...


  • 2. Data: 2018-08-21 19:11:37
    Temat: Re: AT91SAM7/9 i Linux
    Od: Jakub Rakus <s...@o...pl>

    W dniu 21.08.2018 o 08:29, Atlantis pisze:

    > Czy ktoś mógłby mnie odesłać do jakiejś sprawdzonej instrukcji i
    > narzędzi, pozwalających przygotować projekt dla tych MCU? Na dobrą
    > sprawę nie potrzebuję jakiegoś rozbudowanego IDE. Wystarczy zestaw
    > narzędzi, pozwalających obsłużyć to z poziomu Make. Byle tylko był to
    > kompletny zestaw...
    >

    Może to? https://www.triplespark.net/elec/pdev/arm/at91sam7.h
    tml

    --
    Pozdrawiam
    Jakub Rakus


  • 3. Data: 2018-08-21 22:01:00
    Temat: Re: AT91SAM7/9 i Linux
    Od: Sebastian Biały <h...@p...onet.pl>

    On 8/21/2018 8:29 AM, Atlantis wrote:
    > Czy ktoś mógłby mnie odesłać do jakiejś sprawdzonej instrukcji i
    > narzędzi, pozwalających przygotować projekt dla tych MCU?

    W przypadku SAM7 w minimalistycznej formie potrzebujesz:

    a) gcc dla ARMa
    b) skrypt linkera pod konkretny procesor
    c) startup pod konkretny procesor
    d) OpenOCD + jakiś programator JTAG

    i można zaczynać. Jeśli potrzebujesz exampla typu "miganie diodami" to
    takowy mogę podesłać, to jest bare metal, żadnych środowisk tylko
    wołanie gcc i linkera.

    Ogóle w przypadku rodziny SAM7 natkniesz się na kilka pułapek:

    a) Atmel miał gdzieś jakość, wszystkie pliki typu inkludy czy startup w
    kazdym examplu sa inne, inaczej poprzerabiane, z błedami i wylewającym
    się dziadostwem, zawsze inaczej przerobione. Warto wiedzieć że np. jakiś
    kretyn wyciął ze skryptu linkera sekcję odpowiadającą za tablice
    wirtualne obiektów czym uczynił moje debugowanie ciekawszym... Oczekuj
    więc sciągania ze śmietnika o nazwie internet kolejnych z trudem
    działajacych definicji rejestrów w ktorych zawsze czegoś brakuje i
    startupów które zawsze zapominają czegoś zainicjować i makefiles których
    nikt nie rozumie wliczając autora, ale wszedzie są podpisy Atmela.

    b) SAM7 szybciej wykonuje kod z ram niż z flash. Czasem trzeba funkcje
    przepisać do ramu.

    c) GPIO jest bardzo wolne jak na te częstotliwości taktowania, byle AVR
    jest szybszy.

    d) procesor jest dośc delikatny, przynajmniej sprawia wrażenie
    resetującego się z byle powodu.

    e) ceny SAM7 w pewnym momencie osiągnęły przebieg piły. Efektem czego
    nikt ich nie uzywa bo troche niefajnie zastać nastepnego dnia ten sam
    procesor co wczoraj tylko 5x droższy.

    Zrobilem dośc przywoity system uC na SAM7, napisalem częściowo wlasne
    GUI, filesystem, makefiles itd itp. Jak już masz skrypty linkera i
    jesteś w stanie pisać abstrakcyjnie kod to nie ma znaczenia czy to sam7
    czy stm32 czy target PC.

    Natomiast SAM9 nie dotykałem za dużo. To już pamięc wirtualna i procesor
    bardzo skomplikowany. Nie warto, atemala wszak już nie ma a SAM9 na
    rynku nie jest chyba nawet szumem.


  • 4. Data: 2018-08-22 07:48:36
    Temat: Re: AT91SAM7/9 i Linux
    Od: Atlantis <m...@w...pl>

    On 21.08.2018 19:11, Jakub Rakus wrote:

    > Może to? https://www.triplespark.net/elec/pdev/arm/at91sam7.h
    tml

    Dzięki. Wygląda na to, że przykład kompiluje się po podmienieniu w
    Makefile nazw narzędzi na te z paczki ściągniętej ze strony Microchipa.
    Czyli dobrze rozumiem, że Atmel w tamtym okresie nie rozpowszechniał
    żadnego zintegrowanego środowiska, a ten toolchain to tak naprawdę tylko
    kompilator? Nie ma w nim żadnych plików nagłówkowych z definicjami
    portów/peryferiów procesora i trzeba je sobie ręcznie dodać do projektu,
    tak samo jak plik crt0.s?

    Mam nadzieję, że znajduje się tam przynajmniej standardowa biblioteka C? ;)


  • 5. Data: 2018-08-22 08:08:35
    Temat: Re: AT91SAM7/9 i Linux
    Od: Atlantis <m...@w...pl>

    On 21.08.2018 22:01, Sebastian Biały wrote:

    > W przypadku SAM7 w minimalistycznej formie potrzebujesz:
    >
    > a) gcc dla ARMa
    > b) skrypt linkera pod konkretny procesor
    > c) startup pod konkretny procesor
    > d) OpenOCD + jakiś programator JTAG

    GCC udało mi się ściągnąć ze strony Microchipa. Programator JTAG
    posiadam. Pozostałe zasoby można gdzieś jeszcze znaleźć w Sieci?
    Najlepiej cały zbiór, żeby mieć pod ręką kompletny zestaw, dla
    wszystkich przedstawicieli tej rodziny mikrokontrolerów...

    > i można zaczynać. Jeśli potrzebujesz exampla typu "miganie diodami" to
    > takowy mogę podesłać, to jest bare metal, żadnych środowisk tylko
    > wołanie gcc i linkera.

    Link do takiego przykładu podesłał już przedmówca. Kompiluje się po
    podmienieniu nazw narzędzi, najwyraźniej konwencja zmieniła się w
    ostatnich wersjach, wydanych przez Atmela jeszcze przed przejęciem przez
    Microchipa.


    > Ogóle w przypadku rodziny SAM7 natkniesz się na kilka pułapek:

    Tak naprawdę nie mam zamiaru robić na tym jakichś poważnych projektów.
    Mam od tego PIC32 i STM32. Niemniej nie wykluczam, ze pewnego dnia
    najdzie mnie ochota, żeby złożyć na tym jakąś prostą płytkę i
    poeksperymentować, tworząc jakiś projekt. Tak samo jak kiedyś zabrałem
    się za eksperymenty z 8051, a obecnie z 6502 - w celu tylko i wyłącznie
    edukacyjnym.

    Chciałbym jednak zgromadzić potrzebne narzędzia, zanim okaże się, że
    zniknęły z Sieci, a nikt nie ma kopii zapasowej, bo przecież "wszystko
    jest w Internecie".


    > Zrobilem dośc przywoity system uC na SAM7, napisalem częściowo wlasne
    > GUI, filesystem, makefiles itd itp. Jak już masz skrypty linkera i
    > jesteś w stanie pisać abstrakcyjnie kod to nie ma znaczenia czy to sam7
    > czy stm32 czy target PC.

    No i właśnie dzięki eksperymentom z bardziej "egzotycznymi"
    architekturami powoli dochodzę do tego etapu. ;)


  • 6. Data: 2018-08-22 13:59:54
    Temat: Re: AT91SAM7/9 i Linux
    Od: Atlantis <m...@w...pl>

    Jeszcze jedno pytanie przyszło mi do głowy.
    Mianowicie jak wygląda kwestia obsługi bardziej skomplikowanych
    peryferiów? Taki UART czy SPI można obsłużyć dysponując podstawowymi
    definicjami rejestrów. Ale co z USB? Tutaj potrzebny jest jakiś
    sterownik/stos. Atmel opublikował odpowiednie biblioteki?


  • 7. Data: 2018-08-22 14:56:11
    Temat: Re: AT91SAM7/9 i Linux
    Od: wujekSamoZło <c...@g...com>

    On Wednesday, August 22, 2018 at 1:59:55 PM UTC+2, Atlantis wrote:
    > Jeszcze jedno pytanie przyszło mi do głowy.
    > Mianowicie jak wygląda kwestia obsługi bardziej skomplikowanych
    > peryferiów? Taki UART czy SPI można obsłużyć dysponując podstawowymi
    > definicjami rejestrów. Ale co z USB? Tutaj potrzebny jest jakiś
    > sterownik/stos. Atmel opublikował odpowiednie biblioteki?
    Advanced Software Framework (ASF)
    http://www.microchip.com/mplab/avr-support/advanced-
    software-framework


  • 8. Data: 2018-08-22 15:05:02
    Temat: Re: AT91SAM7/9 i Linux
    Od: wujekSamoZło <c...@g...com>

    On Wednesday, August 22, 2018 at 8:08:38 AM UTC+2, Atlantis wrote:
    > On 21.08.2018 22:01, Sebastian Biały wrote:
    >
    > > Zrobilem dośc przywoity system uC na SAM7, napisalem częściowo wlasne
    > > GUI, filesystem, makefiles itd itp. Jak już masz skrypty linkera i
    > > jesteś w stanie pisać abstrakcyjnie kod to nie ma znaczenia czy to sam7
    > > czy stm32 czy target PC.
    >
    > No i właśnie dzięki eksperymentom z bardziej "egzotycznymi"
    > architekturami powoli dochodzę do tego etapu. ;)

    IMHO pora wybrać jakiś RTOS i jego się trzymać. Przeciętny RTOS zapewnia i dirvery i
    warstwę abstrakcji tzw. HAL-a.


  • 9. Data: 2018-08-22 22:02:08
    Temat: Re: AT91SAM7/9 i Linux
    Od: Jakub Rakus <s...@o...pl>

    W dniu 22.08.2018 o 07:48, Atlantis pisze:

    >
    > Dzięki. Wygląda na to, że przykład kompiluje się po podmienieniu w
    > Makefile nazw narzędzi na te z paczki ściągniętej ze strony Microchipa.
    > Czyli dobrze rozumiem, że Atmel w tamtym okresie nie rozpowszechniał
    > żadnego zintegrowanego środowiska, a ten toolchain to tak naprawdę tylko
    > kompilator? Nie ma w nim żadnych plików nagłówkowych z definicjami
    > portów/peryferiów procesora i trzeba je sobie ręcznie dodać do projektu,
    > tak samo jak plik crt0.s?
    >
    > Mam nadzieję, że znajduje się tam przynajmniej standardowa biblioteka C? ;)
    >

    Tak jak inni Ci już zdążyli odpowiedzieć wsparcie producenta dla tych
    procków było (i jest) właściwie żadne. To takie były pierwsze (a może
    raczej ostatnie?) podrygi Atmela z 32-bitowymi ARMami. Do czego to
    doprowadziło to wszyscy widzimy.

    PS: Czasem lepiej sprawdzić najpierw dostępność narzędzi niż kupować co
    wydaje się tanie ;)

    --
    Pozdrawiam
    Jakub Rakus


  • 10. Data: 2018-08-22 22:22:00
    Temat: Re: AT91SAM7/9 i Linux
    Od: Sebastian Biały <h...@p...onet.pl>

    On 8/22/2018 3:05 PM, wujekSamoZło wrote:
    > IMHO pora wybrać jakiś RTOS i jego się trzymać.

    Na sam7 popedzalem FreeRTOSa. Miał nawet port więc niewiele trzeba robić.

strony : [ 1 ] . 2


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: