Bibliteka / OS do AT91SAM7S

Apr 04, 2008 20 Replies

Witam!



Szukam czegoś ułatwiającego życie do AT91SAM7S. Najbardziej zależy mi na czymś w rodzaju mini systemu operacyjnego (potrafiącego zarządzać wątkami) oraz obsługą peryferiów.



Zerknąłem na FreeRTOS ale o ile dobrze widzę to jest wyłacznie kernel, nie ma tam obsługi peryferiów. Chciałbym podpiąć pod ten kontroler zewnątrzny scalak do ethernetu (zapewne ENC28J60) i wolałbym nie odkrywać Ameryki zarówno dłubiąc w tym salaku jak i implementując stos TCP/IP. Było by miło mieć "z głowy" obsługę USB kryjąc wszelkie sztuczki z rejestrami za jakimś sensownym API. Może obsługa wyświetlaczy LCD mogła by być gotowa do wykorzystania. Jakiś duperelek typu RTC na I2C. Coś jak avrlib ale dla SAM7S/SAM7X.



Ogólnie chodzi o zestaw elementów opakowujących bebechy procesora i zewnątrznych (popularnych) peryferiów wygodniejszym API w C/C++.



Jest taki projekt ? Googluje sobie i znalazłem tylko RTOS (chyba sam kernel) i NutOs (nie mogę wywnioskować czy obsługuje SAM7S, dokumentacja jest mocno niejasna, ponato on jest silnie nakierowany na net i nic więcej).



A może jest jakiś "napoczęty" projekt i nie skończony ale rokujacy nadzieje ? Od dawna miałem ochoptę przyłączyć się do czegoś dłubiącego kernel, najlepiej w C++...


Sebastian Bialy pisze:

W takim wypadku to tylko ARM9 i linux albo wince. ARM7 jest mały na jakiś sensowny i uniwersalny system operacyjny.

IMHO nie ma co przesadzać, nie jest mi potrzebny _AZ_ linux. Potrzebuje jedynie warstwę abstrakcji sprzętu i proste wątki + synchronizacja.

E tam. Zależy wyłącznie od jego wielkości. Skoro abstrakcje sprzętu można robić na 8 bitach to czemu nie na arm7.

[Sebastian Bialy] :

MicroC/OS-II ? Ponoć ceny mają niskie...

Sławek

Sebastian Bialy pisze:

Spojrzyj na Nut/OS, obsługuje TCP,UDP,IP,PPP,ICMP,ARP itp. Jest wersja na AVRy i na atmelowe ARMy.

formatting link
BTW: A dlaczego nie zastosujesz od razu ARMa z Ethernetem tylko dłubiesz dolepiając Ethernet MAC+PHY do AT91SAM7S? Zauważ, że taki np. AT91SAM7S64/128/256/512 nie ma interfejsu EBI więc ciężko będzie tam coś dolepić normalnego z magistralą równoległą. Nie lepiej od razu zmienić procka na tylko nieco większego AT91SAM7X256 / AT91SAM7XC256?

Zerkałem ale zabiła mie dokumentacja nic nie dokumentująca ... Będe się przez niego przegryzał niedługo.

Mam tu AT91SAM7X256 na płytce ewaluacyjnej Olimexu. Fajny. Ale scalak który robi za pośrednika uC->ether mnie wystraszył - ma więcej nóg niż ustawa przewiduje (to jakiś MICREL). Wygląda na to że SAM7X rozwiązuje problem ethernetu dodając inny podobnej wielkości ;)

Sebastian Bialy pisze:

Może niewłaściwego scalaka (starego typu) użyli? Najważniejsze w każdym razie, aby część MAC była w procesorze, wtedy masz do niej szybki dostęp wewnętrznymi rejestrami, transmisja przez DMA (PDC) i podpinasz wewnętrzne przerwania. A na zewnątrz trzeba dolepić tylko PHY czyli mały scalaczek zamieniający sygnał cyfrowy w "analogowy", do którego doczepiasz już tylko transformator z gniazdkiem ethernetowym. Dlatego tak to jest zrobione, aby uniezależnić bebechy leżące w procesorze (MAC) od samej warstwy fizycznej (PHY). Po prostu inny scalak PHY stosujesz dla połączeń po miedzi, inne dla różnych typów połączeń światłowodowych.

Z procesorów mających na pokładzie Ethernet MAC jeszcze w żadnym nie widziałem od razu wbudowanego PHY. Widocznie z jakichś względów się tak nie robi i już. A scalak PHY z magistralą [R]MII to malutki TQFP32 lub coś podobnego rozmiaru.

Na Sieci można znaleźć wiele projektów opartych na systemie Nut/OS i zmodyfikowanej platformie Ethernut, wystarczy pożyczyć stamtąd kod źródłowy do wykonania konkretnych zadań. Chociaż standardowy przykładowy serwer www jest dla niektórych i tak całkiem wystarczający.

Ostatnio była mowa np. o odbiorniku radia internetowego, właśnie opartego na Ethernucie:

formatting link

Nie wiem.

formatting link

Nie potrzebuję hiper prędkości. Zasadniczo w zupełności wystarczyło by bieganie przez SPI.

Tutaj natychmiast pytanie: jaki PHY jest łatwo dostępny i _mały_ ale nie w sensie gabarytu tylko ilości nóżek? Możesz coś pokazać palcem, żebym poczytał?

No oczywiście wiem o tym. Czasami tylko było by fajnie żeby z CPU wychodziły ściezki wprost do transformatora :)

Zastosowany w Olimex to TQFP48. IMHO dużo za dużo.

Adam Dybkowski przemówił ludzkim głosem:

Robi się, np. microchip, freescale, asix i pewnie jeszcze inni.

U¿ytkownik "Sebastian Bialy" snipped-for-privacy@poczta.onet.pl> napisa³ w wiadomo¶ci news:ft8nig$fvp$ snipped-for-privacy@atlantis.news.neostrada.pl...

Scalak Micrela akurat jest mniejszy od tego ARMa :) Je¶li masz p³ytkê, to dlaczego narzekasz? Komunikacja uk³adu PHY z MACem w uC odbywa siê automagicznie, nie trzeba specjalnie do tego u¿ywaæ interfejsu szeregowego czy równoleg³ego i babraæ siê w przesy³anie nadmiarowych informacji (adresowanie, czytanie rejestrów, buforów, przerwania itp.). Poza tym do p³ytki Olimexu SAM7-EX256 w Ethernucie ju¿ jest zrobiona konfiguracja, tylko skompilowaæ biblioteki kilkoma klikniêciami. U mnie demo http ruszy³o od pierwszego kopa.

4 druty potrzebuje interfejs SMII, ale Atmel chyba jeszcze ich nie ma, przynajmniej w ARM7.

Micha³

Michał Lankosz pisze:

RMII? Jest w ARM9.

Owszem, ale i tak ma dużo połaczeń.

Płytka jest dobra to testów. Ale nie do finalnej wersji ...

ok, to jasne.

Tylko ja bym wolał ich nie używać produkcyjnie :)

W zasadzie ... kil z atmelem. Może coś podobnej skali (ARM7) bardziej przyjazne Ethernetowi?

U¿ytkownik "Adam Dybkowski" snipped-for-privacy@45wp.pl napisa³ w wiadomo¶ci news:ft8pu6$m9b$ snipped-for-privacy@atlantis.news.neostrada.pl...

RMII ile potrzebuje po³±czeñ? Przynajmniej o 2 mnie w RX i TX. SMII ma po jednym na TX i RX. Trzeba mieæ na uwadze, ¿e Atmel ma problemy z RMII w SAM7X.

Hm, ja w³a¶nie jestem w trakcie projektowania PCB. Na jednostronnej p³ytce bez zworek siê nie obejdzie, ale dwie warstwy spokojnie wystarczaj±.

"Lutowalne" i z PHY na pok³adzie:

formatting link
rodzina

O widzisz, nie brałem pod uwagę innych architektur. Pytania:

a) czy to MC68000 ? Jesli tak to jestem w domu, byłem koderem na amidze kiedyś ...

b) czy to jest kupowalne w polsce ?

c) ile to wymaga peryferiów żeby "wystartować na golasa" ?

d) jakie ceny ? SAM7S można kupić za kilkanaście zł.

Zbych pisze:

ja wiem jeszcze o cortexach z luminary

Czekamy na u¿ytkowników :) Ja tylko przyuwa¿y³em te procesory i mam je zakolejkowane do poznania. Rodziny 68k nie znam. Zerknij mo¿e tu:

formatting link
tu:
formatting link
Micha³

jest, i to kilka

ARMy firmy Luminary Micro Freescale i jego 16 bit MC9S12 Microchip Pic 18FxxJ66 Jest jakas 8051 z tajwanu

Luminary Micro produkuje male ARM'y na rdzeniu Cortex-M3 z wbudowanym MAC+PHY. Maja nawet dystrybutora w Polsce i tanie plytki startowe.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required