Uruchamianie autonomicznych interfejsów API U-boot w specyficznym rdzeniu

0

Pracuję nad darmową płytą SD szabli Imx6, mamy u-boot skompilowany dla płyty, która również uruchamia samodzielny API (prosty program hello_world) z u-boot. Ale teraz chcę załadować i uruchomić tę autonomiczną aplikację w dowolnym określonym rdzeniu (innym niż rdzeń 0). Domyślnie u-boot działa w rdzeniu 0 procesora.

jakie są kroki, aby zainicjować nowy rdzeń i przejść na nowy rdzeń.

Czy ktoś może mi pomóc lub zasugerować dostępne odniesienia.

Edwin kaus
źródło
Sprawdź to . Powodzenia.
Daniel B
Przeszedłem sugerowany wątek, potrzebuję czystego metalu, aby przełączyć rdzeń z moim własnym niezależnym programem. Czy możesz zasugerować, jakie są rejestry, które wolę lub inne powiązane dokumenty.
Edwin kaus,
Przepraszam, nie mogę udzielić dalszej pomocy. Jeśli nie możesz znaleźć odpowiedniej dokumentacji, prawdopodobnie będziesz musiał skontaktować się z NXP (obecnie właścicielem Freescale). Poza tym, spójrz jak Linux to robi.
Daniel B,

Odpowiedzi:

0

Sam U-Boot zawsze działa w jednym wątku na jednym rdzeniu procesora. W większości systemów U-Boot nie obsługuje SMP. Tutaj uruchamianie kolejnych rdzeni procesora jest zadaniem systemu operacyjnego. Wyjątkiem jest architektura x86.

Możesz skopiować część kodu SMP systemu Linux do aplikacji U-Boot, aby uruchomić dodatkowe rdzenie.

Xypron
źródło