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
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).
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?
Istnieje kilka części, które mogą być warte obejrzenia. Wciąż jednak nie jest to dużo pamięci.
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.
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.
- 1. Pisanie wbudowanej wtyczki Javascript z React & Webpack
- 2. Kompresja Zlib na MSP430
- 3. Jak uruchomić ustawienia wbudowanej aplikacji z naszej aplikacji?
- 4. Maksymalny rozmiar stosu potrzebny dla programu C na MSP430
- 5. Pisanie funkcji dla UIAlertView?
- 6. Pisanie prostej aplikacji GUI dla systemu Windows 7 w Ruby
- 7. pisanie skojarzeń dla rekurencyjnej relacji
- 8. pisanie DSL dla platformy .Net
- 9. Pisanie pomocy dla skryptu Pythona
- 10. Pisanie Maven Zależność dla javax.persistence
- 11. Pisanie reguł niestandardowych dla cppcheck
- 12. Jak rozwiązywać problemy z pamięcią w aplikacji wbudowanej?
- 13. Pisanie aplikacji z aktorami Scala w praktyce
- 14. Pisanie aplikacji internetowej z "bez zaplecza"
- 15. Pisanie aplikacji czasu rzeczywistego za pomocą NodeJS
- 16. redefiniowanie wbudowanej funkcji
- 17. Pisanie czystego, wydajnego kodu dla iPhone'a
- 18. Czy kolejność elementów ma znaczenie dla wbudowanej SVG?
- 19. Robotium. waitForActivity() zwraca wartość false dla wbudowanej aktywności w TabHostActivity
- 20. Pisanie języka dla Windows Scripting Host (WSH)
- 21. Pisanie wybór funkcji dla wybranego produktu Kucyk
- 22. Pisanie nowej wtyczki refaktoryzacji dla Eclipse?
- 23. Pisanie wydajnej pętli iteracyjnej dla monady ST
- 24. Pisanie testu urządzenia dla Play websockets
- 25. Pisanie sterowników dla systemu DOS. Gdzie zacząć?
- 26. Pisanie wyjścia do konsoli z aplikacji C# WinForm
- 27. Uzyskiwanie dostępu do wbudowanej listy automatycznego odrzucania
- 28. Pisanie przenośnej aplikacji Java za pomocą JOGL i Androida OpenGL
- 29. Jak korzystać z wbudowanej obsługi wielojęzycznej Delphi?
- 30. Pisanie systemu C# Plugin
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. –
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? –
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. –