Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

uClinux dla mikrokontrolera AVR

routex
-
-
Posty:10
Rejestracja:1 gru 2003, o 16:58
uClinux dla mikrokontrolera AVR

Postautor: routex » 7 mar 2005, o 17:53

Witam. Mam nietypowe pytanie odnośnie systemu operacyjnego dla mikrokontrolerów AVR (ATMega firmy Atmel). Czy jest to wogole wykonalne dla tych mikrokontrolerów? Czytałem coś o uClinux, ale nie wiem czy nadaje sie wlasnie do AVR'ow. Czy wogole jest sens stosowania OS'a do mikrokontrolerów ATMega? Dzieki

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 7 mar 2005, o 19:39

Moze sie myle, bo nie przygladalem sie temu projektowi (mam to w dalszych planach), ale nie sadze by byla mozliwosc upchania jakiejkolwiek pochodnej linuxa na jakiejs platformie 8 bitowej, pomijajac juz inne mozliwosci oferowane przez AVR (chocby pamiec).

A os dla AVR, prawdopodobnie jest to mozliwe i wykonalne, byc moze istnieje juz jakis. :roll:

Dexter
-
-
Posty:115
Rejestracja:29 kwie 2003, o 21:38
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: Dexter » 7 mar 2005, o 20:06

Nie wiem czy jest sens tworzenia OS-a dla procesorow AVR biorac pod uwage ze te procesory nie potrafia wykonywac programu z zewnetrznej pamieci RAM. A to jest glowne zadanie OS-a czyli zaladowanie i wykonywanie programow (wielowatkowo pewnie by bylo najlepiej). Owszem mozna by napisac takiego OS-a co wgrywa do flasha wykonywane programy ale szybko by sie ta pamiec zuzylo bo ma "tylko" 1000 ( a w nowszych chyba 10000) gwarantowanych cykli zapisu.
Pozdro
Dexter

Piotr
Moderator
Moderator
Posty:468
Rejestracja:14 lut 2003, o 13:53
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: Piotr » 7 mar 2005, o 22:20

Wszystkich zainteresowanych OS na AVR zapraszam do EP5/2005.
Pzdr
PZb

routex
-
-
Posty:10
Rejestracja:1 gru 2003, o 16:58

Postautor: routex » 8 mar 2005, o 09:41

Dziekuje za odpowiedź. W takim razie mam inne pytanie. Na jakich prockach pracują telefony komórkowe? Oczywiście z obsługą javy? Czy są one powszeechnie dostępne?

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 8 mar 2005, o 13:06

Nie wiem czy jest sens tworzenia OS-a dla procesorow AVR biorac pod uwage ze te procesory nie potrafia wykonywac programu z zewnetrznej pamieci RAM. A to jest glowne zadanie OS-a czyli zaladowanie i wykonywanie programow (wielowatkowo pewnie by bylo najlepiej). Owszem mozna by napisac takiego OS-a co wgrywa do flasha wykonywane programy ale szybko by sie ta pamiec zuzylo bo ma "tylko" 1000 ( a w nowszych chyba 10000) gwarantowanych cykli zapisu.
No niezupelnie, porownujesz flash uC do RAM'u, a moze by tak wlasnie flash=pamiec masowa ?? Ram przeciez jest osobno, a ze nie ma koniecznosci ladowania aplikacji do RAM'u... Porownaj raczej zaladowanie OS'u/programu do flashu, do jego instalacji na komputerze... a czy instalowales juz na swojej maszynie jakis program wiecej niz 1000 (10000) razy ?? A ze malo miejsca na to wszystko... no coz... albo rybka, albo... akwarium.


routex:

Tylko zgaduje (jakie by mogly)... ARM ??

routex
-
-
Posty:10
Rejestracja:1 gru 2003, o 16:58

Postautor: routex » 8 mar 2005, o 14:13

Dla wszystkich zainteresowanych systemem operacyjnym dla AVR (konkretnie ATmega 128) po spędzonym czasie w internecie i poszukiwaniach odsyłam do strony http://www.sics.se/~adam/contiki/index.html . Jest tam przedstawiony system operacyjny między innymi na mikrokontrolery 8-io bitowe. Proszę o opinie odnośnie tego systemu, gdyż mój angielski jest taki sobie...

tdolata
-
-
Posty:18
Rejestracja:6 gru 2004, o 10:56
Lokalizacja:Poznań

OS na avr

Postautor: tdolata » 9 mar 2005, o 14:27

1 - są systemy RTOS na AVR i wbrew pozorom całkiem dużo, a niektóre z nich mają ogromne możliwości.
2 - jest sens stosowania OS na uP. 4kb RAM i 128kB Flash daje już przeogormne możliwości.
Uproszczenie w pisaniu programów i dodatkowe funkcje, które dostarczają wątki z nawiązką rekompensują ewentualne wady.
3 - contiki nie jest zbyt dobry przedstawicielem systemu operacyjnego. Sugerowałbym coś innego. Moimi ulubionymi są: ethernut, pic]os, uCOS.
4 - uClinuxa nie pójdzie na AVR. Jest przeznaczony jednak na 'troszkę' większe uP.

routex
-
-
Posty:10
Rejestracja:1 gru 2003, o 16:58

Postautor: routex » 9 mar 2005, o 15:22

Czy istnieją może polskie strony z opisami tych systemów? Temat jest bardzo interesujący i mysle ze wart bliższego zainteresowania...

tdolata
-
-
Posty:18
Rejestracja:6 gru 2004, o 10:56
Lokalizacja:Poznań

Postautor: tdolata » 10 mar 2005, o 09:01

Czy istnieją może polskie strony z opisami tych systemów? Temat jest bardzo interesujący i mysle ze wart bliższego zainteresowania...
Obawiam się, że język angielski jest wymagany, aby cokolwiek zrobić w tym temacie.
Fajna witryna z RTOS i opisem jak to się robi jest na: http://www.freertos.org/
Zajrzyj też na: viewtopic.php?t=11425

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 11 mar 2005, o 22:56

Na jakich prockach pracują telefony komórkowe? Oczywiście z obsługą javy? Czy są one powszeechnie dostępne?
Komórki chodzą na ARM'ach. ARM'y są powszechnie dostępne.
Dla AVR'a jest dostępny minilinux. Wymaganie jakie stawia, to ATMEGA z 16MHz zegarem i 64KBRAM.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 12 mar 2005, o 02:48

Na jakich prockach pracują telefony komórkowe? Oczywiście z obsługą javy? Czy są one powszeechnie dostępne?
Komórki chodzą na ARM'ach. ARM'y są powszechnie dostępne.
Dla AVR'a jest dostępny minilinux. Wymaganie jakie stawia, to ATMEGA z 16MHz zegarem i 64KBRAM.
Mowa byla o obslugujacych jave, wiec i o takich (DCT4) jak rozumiem napisales, ze na ARM'ie (co zreszta sie pokrywa z moimi przypuszczeniami - a moze juz slyszalem to wczesniej gdzies). Lecz DCT3 chyba jednak sa na innych prockach. Niewazne zreszta...

A ten minilinux to ma coz wspolnego z linuxem poza nazwa ?? Bo jakos malo realne wydaje mi sie odpalenie jakiejkolwiek nawet miemozebnie okrojonej, przerobionej i przedziwnionej wersji kernela linuxa na maszynie 8 bit.

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 12 mar 2005, o 09:53

Na jakich prockach pracują telefony komórkowe? Oczywiście z obsługą javy? Czy są one powszeechnie dostępne?
Komórki chodzą na ARM'ach. ARM'y są powszechnie dostępne.
Dla AVR'a jest dostępny minilinux. Wymaganie jakie stawia, to ATMEGA z 16MHz zegarem i 64KBRAM.
Mowa byla o obslugujacych jave, wiec i o takich (DCT4) jak rozumiem napisales, ze na ARM'ie (co zreszta sie pokrywa z moimi przypuszczeniami - a moze juz slyszalem to wczesniej gdzies). Lecz DCT3 chyba jednak sa na innych prockach. Niewazne zreszta...

A ten minilinux to ma coz wspolnego z linuxem poza nazwa ?? Bo jakos malo realne wydaje mi sie odpalenie jakiejkolwiek nawet miemozebnie okrojonej, przerobionej i przedziwnionej wersji kernela linuxa na maszynie 8 bit.
Jeszcze raz powtarzam, że nowe komórki używają 16/32bitowych mikrokontrolerów m.in. Philips'a i Atmel'a, które się potocznie nazywają ARM, chociaż Atmel swoje produkty z rodziny AT7 nazywa AT Thumb.

Nie wgłębiałem się w features tego minilinux'a, więc nie mogę dokładnie podać szczegółów co to jest. Od tego jest google.com
Unix na 8bitowe środowisko istnieje, bo między innymi, na mojej byłej uczelni, jeden gość zrobił pracę dyplomową na ten temat. Jednak to był najprawdopodobnie jakiś procek z rodziny MCS-51. Bo jeszcze wtedy o AVR'ach nikt nie słyszał.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 12 mar 2005, o 17:45

Jeszcze raz powtarzam, że nowe komórki używają 16/32bitowych mikrokontrolerów m.in. Philips'a i Atmel'a, które się potocznie nazywają ARM, chociaż Atmel swoje produkty z rodziny AT7 nazywa AT Thumb.

Niom... czyli sie praktycznie w pelni zgadzamy. Obecnie powstaja juz chyba tylko DCT4. Ale starsze modele (zgodne z DCT3 i starsze) nie byly na ARM'ach.

A temu minilinuxowi sie trzeba bedzie przyjrzec... ot, tylko z ciekawosci co to ludzie nazywaja linuxami/unixami.

Kret
-
-
Posty:8
Rejestracja:5 lut 2005, o 22:23
Lokalizacja:Wrocław
Kontaktowanie:

:-)

Postautor: Kret » 13 mar 2005, o 20:39

Komórki chodzą na procesorach z rdzeniem firmy ARM. Niekoniecznie są to znane procesory Atmela i Philipsa. Bardzo często są to procesory sygnałowe zbudowane w oparciu o rdzeń firmy ARM produkowane na specjalne zamówienie.
Jeśli chodzi o systemy operacyjne na mikrokontrolery 8-bitowe, to aplikacje w stylu Linuks nie mają chyba zastosowań a co za tym idzie sensu bytu. Co innego RTOS - programy działające na mikrokontrolerze jedynie jako software'owy driver przydzialjący czas procesora dla procedur - w aplikacji kilkuwątkowej (ciężko nazwać to aplikacją wielowątkową). RTOS korzysta z jednego licznika i zajmuje maks. 1-2 kb pamięci ROM. Jako ciekawostkę podam, iż istnieją systemy czasu rzeczywistego dla procesorów rodziny '51 :-) i umożliwiają pracę do 8 równoległych wątków programu. Taki RTOS jest dostępny np. razem z pełnym pakietem uVision firmy Keil.

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 13 mar 2005, o 22:35

W gruncie rzeczy, OS dla 8bit kontrolera to jest RTOS.

Kret
-
-
Posty:8
Rejestracja:5 lut 2005, o 22:23
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Kret » 13 mar 2005, o 22:54

W gruncie rzeczy, OS dla 8bit kontrolera to jest RTOS.
Bez dwóch zdań:-) Real Time Operating System.
Ale zgodnie z definicją system operacyjny "jest to zbiór programów pośredniczących pomiędzy aplikacjami użytkownika a sprzętem". Tylko czy taki prosty RTOS w jakikolwiek sposób pośredniczy między aplikacją a sprzętem?
Pozdrawiam!

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 25 mar 2005, o 16:29

Nie ma co się czarować, na 8bit procku, który nie ma rejestrów indeksowych to trudno wyczarować multitasking. Ale jak powiadają, dla chcącego nic trudnego.
Systemem operacyjnym będą wszystkie procedury zajmujące się sprzętem, jak podprogramy wysyłające przez UART jakiś tekst, podprogramy wypisujące znaki na LCD, czy odczytujące stan przycisków dołączonych do kontrolera. Programem użytkownika (chociaż tu będzie tylko jeden program) będzie dowolny program np. odczytujący temperaturę z DS'a i przesyłający za pomocą procedur OS, odczytaną temperaturę na LCD dołączonego do uC, czy przez UART'a, nieważne, czy przez sprzętowego, czy emulowanego programowo, ale jest procedurą systemu operacyjnego, bo odwołuje się do sprzętu.

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości