2016-04-12 20 views
4

Ich war die Überprüfung Projekt Embedded ECG data acquisition system from instructables und es gibt Mension a todo:Es ist möglich, Linux (ein Kern) und Bare-Bone-Firmware (zweiter Kern) auf einem Dual-Core-Computer zu verbinden?

Combining the OS and bare-bone firmware 

UNDER CONSTRUCTION 
** Since the bootloader only loads one firmware to the Core, 
I need to modify the ELF file, to have Linux and bare-bone Core at the same time ** 

Es scheint mir, als interresting Ansatz, wie voll funktionsfähige Linux und kritische Echtzeit-Betriebssystem auf einem Board machen (zum Beispiel Raspberry PI). Es ist wirklich möglich? Ich habe gehört, dass Linux so eingerichtet werden kann, dass einige Kerne nicht verwendet werden. Aber ich nehme an, dass Linux virtuellen Speicher und bare-bone Firmware normalerweise nicht verwendet. Kann der Speicher zwischen diesen Betriebssystemen geteilt werden? Was ist mit Unterbrechungen? Können diese beiden Betriebssysteme Unterbrechungen getrennt behandeln? Kann der Bootloader diese beiden Systeme gleichzeitig auf beide Core laden? Ich kann mir vorstellen, dass ein Thread im Bootloader die Adresse des Betriebssystems mit dem bloßen Knochen überspringen wird. Es ist richtiger Ansatz?

Antwort

1

Ja, es ist möglich, auch wenn die vollständige Setup nicht einfach ist. Ein paar Beispiele:

1

Art. Dies ist, was die Leute bereits mit Netzwerk-Stack/Treiber tun. Zum Beispiel funktioniert IsoStack Idee in ähnlicher Weise. Es gibt ein Projekt, das dies tatsächlich auf Linux implementiert, indem man Kernen Netzwerkkarten widmet, aber mein Google-Fu versagt mir.