Ausführen von eigenständigen U-Boot-APIs im spezifischen Kern

454
Edwin kaus

Ich arbeite an Imx6 sabre SD Free Scale Board. Wir haben u-boot für das Board kompiliert und auch eine Standalone-API (einfaches hallo_world-Programm) von u-boot ausgeführt. Aber jetzt möchte ich diese eigenständige Anwendung in einem der angegebenen Kern (außer Kern 0) laden und ausführen. Standardmäßig wird u-boot im Core 0 des Prozessors ausgeführt.

Was sind die Schritte, um einen neuen Kern zu initialisieren und auf einen neuen Kern zu wechseln.

Kann mir jemand weiterhelfen oder eine Referenz vorschlagen.

0
[Überprüfen Sie dies] (https://stackoverflow.com/q/20055754/1025421). Viel Glück. Daniel B vor 5 Jahren 0
Ich habe den vorgeschlagenen Thread durchgegangen, ich brauche eine Bare-Metal-Referenz, um den Kern mit meinem eigenen Standalone-Programm zu wechseln. Können Sie vorschlagen, welche Register ich bevorzugen muss, oder verwandte Dokumente? Edwin kaus vor 5 Jahren 0
Ich kann keine weitere Hilfe leisten, sorry. Wenn Sie keine entsprechende Dokumentation finden, müssen Sie sich wahrscheinlich an NXP (jetzt Besitzer von Freescale) wenden. Sehen Sie sich an, wie Linux es macht. Daniel B vor 5 Jahren 0

1 Antwort auf die Frage

0
Xypron

U-Boot selbst läuft immer Single-Threading auf einem einzelnen CPU-Kern. Bei den meisten Systemen unterstützt U-Boot kein SMP. Hier ist das Hochfahren weiterer CPU-Kerne als Aufgabe für das Betriebssystem übrig. Eine Ausnahme ist die x86-Architektur.

Sie können einen Teil des Linux-SMP-Codes in Ihre U-Boot-Anwendung kopieren, um zusätzliche Kerne zu starten.