OpenAMP
Więcej informacji
- Typ
- Framework
- Licencja
- BSD-3-Clause
- Kod źródłowy
- github.com/OpenAMP
- Oficjalna strona
- openampproject.org
Odpowiednik Linuksowych remoteproc i RPMsg dla strony, która Linuksa nie uruchamia, dzięki czemu RTOS lub program bare-metal mogą mówić tym samym protokołem.
Jądro Linuksa ma RPMsg wbudowany, ale rdzeń pomocniczy nie ma jądra, z którego mógłby pożyczyć kod. OpenAMP wypełnia tę lukę samodzielną biblioteką w C, implementującą kolejki virtio, punkty końcowe oraz tablicę zasobów, którą remoteproc czyta przy ładowaniu firmware’u. Pod spodem działa libmetal — cienka warstwa ukrywająca różnice między FreeRTOS, Zephyrem, bare metal i przestrzenią użytkownika Linuksa w zakresie przerwań, pamięci współdzielonej i blokad.
Projekt zapoczątkowali Xilinx i Mentor Graphics, a w 2019 roku trafił pod skrzydła Linaro jako projekt społecznościowy. To domyślna droga do AMP na układach m.in. Xilinx, ST i NXP, co oznacza, że przykłady producenta działają od pierwszego dnia, a kłopoty zaczynają się, gdy ktoś edytuje mapę pamięci.