2009-09-12 12 views
6

Chciałbym móc mieć podstawowy system operacyjny i podstawowy system plików dla wysokiej klasy MSP430 prawdopodobnie MSP430F5438. Wiem, że mogę przejść z czymś takim jak FreeRTOS, IAR PowerPac lub Micrium, aby wymienić tylko niektóre opcje systemu operacyjnego i systemu plików. Jednak chciałbym mieć możliwość załadowania małych apletów lub wątków w późniejszym czasie, najlepiej w celu uzyskania dodatkowego kodu z systemu plików. Moim celem nie jest przeprogramowanie całego urządzenia, aby zmienić lub zaimplementować funkcję na urządzeniu wbudowanym. Nie wiem, dokąd się udać, aby wdrożyć tę umiejętność lub czy muszę przełączyć się na inny procesor taki jak ARM.Pisanie wbudowanej aplikacji dla msp430?

Odpowiedz

3

MSP430 to świetny kontroler, ale jeśli chcesz uruchomić system operacyjny i ładować aplikacje bez ich wypalania, powinieneś przełączyć na ARM (kolejna świetna platforma z wieloma mikrokontrolerami opartymi na ARM).

+0

Przestrzeń adresowa na MSP430 jest 16 bitowy, który obejmuje cały ROM i RAM. Nie, żebyś nie mógł uruchomić systemu operacyjnego i aplikacji w tym miejscu, ale nie sądzę, że znajdziesz msp430 z ilością pamięci, której pragniesz, chyba że użyjesz czegoś takiego jak openmsp430 na FPGA i dostosujesz ilość pamięci RAM i ROM. –

+0

Ta aplikacja jest napędzana kosztem, więc pochylam haczyki urządzenia flash. To, co chcę, to móc mieć stabilną część oprogramowania i część dynamiczną. Chciałbym móc wykonać zdalny reflash części dynamicznej bez dotykania części stabilnej. Jeśli aktualizacja idzie źle, nie chcę stracić części stabilnej. Byłem rzeczą, że mogłem skompilować część dynamiczną jako niezależny blok kodu niezależny od pozycji, a następnie mieć zaczepy do części stabilnej. Tylko nie wiesz, czy MSP430 sobie z tym poradzi. Alos może to wykorzystać ARM z pamięcią flash? –

+0

W obu przypadkach powinieneś być w stanie usunąć małą część (w stosunku do całości) lampy błyskowej podczas uruchamiania z innych części lampy błyskowej. Jeszcze nie zrobiłem bootloadera msp430, więc nie wiem, jak to jest na chipie, ale zrobiłem to z niektórymi ARMami, podczas gdy z flasha błysnęło z flesza. –

2

Jestem prawie pewny, że zawsze będziesz musiał odświeżyć MSP 430 za każdym razem, gdy chcesz zmienić kod programu. Oczywiście bootloader może sam zaktualizować flash, więc po prostu chcesz stworzyć program działający jak bootloader, ale tylko aktualizujący ceratinowe części pamięci programu - czyli tam, gdzie chcesz umieścić aplety. A potem będziesz musiał wiedzieć, w jakim miejscu pamięci jest każdy obszar flasha, w którym znajduje się twój kod apletu, abyś mógł go nazwać.

Wystąpiłby również problem z uruchomieniem kodu w tych apletach. Jeśli istnieje tylko jedno miejsce w pamięci, od którego chcesz je uruchomić, możesz je skompilować z myślą o tym. Jeśli chcesz mieć kilka różnych apletów, które mogą być uruchamiane z dowolnej "przestrzeni apletu" w pamięci, możesz wpaść w kłopoty, ponieważ nie będą wiedzieli, z jakiego adresu pochodzą.

Oczywiście żadna z tych apletów nie będzie w stanie być bardzo duża. Ile miejsca zajmie twoje RTOS?

0

Istnieje kilka części, które mogą być warte obejrzenia. Wciąż jednak nie jest to dużo pamięci.

1

Flash
Na MSP430 można skasować/przerobienia lampy pokładowy kawałkami 512 bajtów (lampa użytkownik może obsługiwać mniejsze kawałki).
Twój program ładujący/stabilny-RTOS może przeprogramować układ za pomocą "aplikacji".
Przekierowanie przerwań jest nieco trudne, ale można tego dokonać za pomocą skoku przekierowania z "rzeczywistego" stołu wektorowego do tabeli wektorów aplikacji.

Wywołanie stable/RTOS
Jest to także możliwe wywołanie funkcji stabilnej części z aplikacjami, można zbudować w stabilnej części stałej tabeli przeskoku dla każdej funkcji, więc aplikacja potrafi wywołać funkcję , nawet jeśli stworzysz kolejną wersję stabilną/RTOS.

RAM
Jeśli dopuszczasz tylko jedną Aplikację, jest to łatwe.
Musisz zarezerwować trochę pamięci RAM na stabilny czas RTOS, a pozostała część pamięci RAM może być używana przez aplikację.

Ale rozwiązanie problemu z umieszczaniem zmiennych może być trudne, jeśli chcesz użyć więcej niż jednej aplikacji.
Aby zarezerwować pamięć RAM z aplikacji, wolałbym alokację dynamiczną, ale nawet wtedy potrzebny jest wskaźnik dla dynamicznie przydzielanych bloków, a te wskaźniki są na stałe lub aplikacje używają zmiennych na stosie.

2

Kontroler Msp430 jest obsługiwany przez kilka systemów operacyjnych, które mogą zapewnić pożądaną funkcjonalność. Niektóre z nich zapewniają OTA (programowanie w powietrzu). Niektóre zapewniają systemy plików oparte na pamięci flash. Jednak często będzie to oznaczać użycie pamięci flash do przechowywania przesłanego programu.

Oto kilka aktualnie aktywnych OS-es MSP430 wspierające:

Contiki - OS dla "Internetu rzeczy". Zapewnia proto-wątki.

MansOS - uniksopodobny system operacyjny obsługujący wątki i OTA dla urządzeń msp430.

Powiązane problemy