ARM i ethernet

Witam.

Przymierzam sie do kontrolerow ARM. Chce użyc jakiegos z wbudowanym interfejsem Ethernet. Czy uzycie tego interfejsu jest kłopotliwe (pomijam tu systemy operacyjne) chciałbym uzyc go z poziomu procedur ARM GCC lub jakiejs biblioteki. Nie wiem jak sie do tego zabrac wiec pytam.

Hey.

Reply to
Look
Loading thread data ...

Podstawowe pytanie to o jakie ARMy chodzi? ARM7, ARM9?

Jeśli ARM7TDMI to z popularniejszych SAM7X, LPC23xx . Do obu znajdziesz stos TCP/IP uIP na

formatting link
. Źródła są pisane pod GCC. Dostępne są kompletne projekty razem z makefile. Testowałem oba projekty na modułach własnej produkcji (SAM7X256 i LPC2378) i działają stabilnie.

Jeśli ARM9 to aż się prosi odpalić Linuxa. Dlaczego pomijasz systemy operacyjne? Ze źródeł Linuxa można się wiele dowiedzieć.

pozdrawiam Krzysztof Kajstura

Reply to
Krzysztof Kajstura

Look pisze:

Obejrzyj schemat dowolnego starterkitu z procesorem AT91RM9200 - tam zobaczysz jak trzeba podłączyć Ethernet 10/100 do procesora (wymaga dodania układu PHY i oczywiście trafo+gniazka). Większość starterkitów ma preinstalowanego Linuxa na pokładzie więc z komunikacją po sieci nie ma problemów.

Jeżeli chcesz to dłubać po swojemu bez Linuxa - to najpierw napisz, z jakiego innego systemu operacyjnego korzystasz na ARMach. Stos sieciowy jest mocno zależny od systemu i niełatwo go przenieść na całkiem inny system. Bez jakiegokolwiek systemu operacyjnego nie zrobisz na piechotę więcej niż ping czy transmisję UDP. Ja coś takiego pisałem ręcznie kilka lat temu na DSPka ale teraz to bym od razu wziął raczej ARM9 z Linuxem:

formatting link

Reply to
Adam Dybkowski

Do tej pory uzywalem tylko Atmeli i troche sie boje systemow operacyjnych na mikrokontrolery. Powiedzcie mi czy jesli zastosuje ARM + Linux to nie bede mial problemu z realizacją pewnych operacji w scisle okreslonych odstepach czasowych? czy pod OS-em mam nad tym kontrole? Czy da sie tak skonfigurowac Linuxa zeby wykorzystywał jak najmniej zasobow srodowiska? chodzi np. o SDRAM itp.?

Reply to
Look

Look pisze:

Jako system czasu rzeczywistego lepiej użyć RTLinux albo QNX. Ostatnio wypuścili darmową wersję do użytku niekomercyjnego. Ale trzeba będzie nieco dłubaniny aby to odpalić na twoim sprzęcie.

Jeżeli wolisz jednak Linuxa a odstępy czasowe są krytyczne i mają wywoływać krótką operację to można zmajstrować prosty generator przerwań (na zewnątrz podpinany do ARMa) a na Linuxa napisać sterownik do jego obsługi. Jeżeli do ARMa nie podpinasz nieprzewidywalnych urządzeń (np. dysku twardego) to przerwania powinny ładnie działać nawet w zwykłym Linuxie.

Reply to
Adam Dybkowski

czyli tak to sie robi, rozumiem. A co z obsługą SDRAM? czy da sie w niej wydzielic jakis duzy bufor (powiedzmy 80% pojemnosci) na swoją tablicę danych z której będę korzystał?

Pozdrawiam.

Reply to
Look

Look pisze:

A czy jest jakiś problem z zaalokowaniem takiego obszaru pamięci przez własną aplikację? Ważne, aby cała reszta wystarczyła na potrzeby systemu i innych procesów.

Reply to
Adam Dybkowski

Apetycznie wylgada procesor ST str912: ! - wbudowany MAC 10/100 ! - darmowy bardzo prosty RTOS

formatting link
z pelnymi bibliotekami do tego procka ! - na stronie ST zrodla prostego servera WWW i stos TCP/IP ! - na stronie ST jest tez stos USB do "mass storage" i portu szeregowego ! - mnostwo wewnetrzengo RAM/FLASH (96kB/256kB) W polsce jakas firma robi sprzedaje gotowe moduly z tym prockiem z gniazdkiem ethernetu. Nie pamietam jaka ale widzielm. Powodzenia.

Reply to
michcior

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.