how2 migrate ARM Apps to MIPS architecture

  • 9 Antworten
  • Neuester Beitrag
Diskutiere how2 migrate ARM Apps to MIPS architecture im Ainol Novo Allgemein im Bereich Ainol Novo Forum.
mash211

mash211

Erfahrenes Mitglied
Hallo alle, da hier das OT "ARM to MIPS Architecture Migration" aufkam werde ich dazu mal einen eigenen Thread aufmachen.

Bin leider gezwungen bei dem Thread "nur" mitzulesen, verfolge das Thema aber mit sehr grossem Interesse.

Die Fragestellung des Threads lautet "how2 migrate ARM Apps to MIPS architecture".

Es wäre schön, wenn sich alle die Ahnung vom Thema haben an der Diskussion beteiligen würden. Ziel sollte sein, möglichst schnell die Applikationsvielfalt auf MIPS-Tabs zu erhöhen.

Gruß

Markus
 
mash211

mash211

Erfahrenes Mitglied
Da mir wirklich die Ahnung fehlt, weiss ich nicht ob das angehängte how2 hier hilft. Es geht aber zumindest mal darum die ARM-Architektur auf die MIPS Architektur zu migrieren ....

Von Android ist leider nicht die Rede :-(

Gruß

Markus
 

Anhänge

  • MD00874-2B-MIPSARCH-WHT-0010.pdf
    684,9 KB Aufrufe: 1.019
C

Coldbird

Stammgast
Ich habe zwar einen großen Informations Schatz an mips Erfahrung aber ich kann trotzdem nur bedingt helfen da ich kein mips Tablet besitze.

Tut mir Leid Markus... :(

Momentan leider auch nicht das klimper Geld mir eines zu zu legen nach meiner Ramos Bestellung.

Sent from my NookColor using Tapatalk
 
A

altknecht

Fortgeschrittenes Mitglied
Wie funktioniert die magic app aus dem xda forum?

Greetz alt

Gesendet von meinem Milestone mit Tapatalk
 
C

Coldbird

Stammgast
Meine Vermutung ist dass die Magic app Autoren einen mips jit gebaut haben welcher als System Service läuft und die shared Arm Bibliotheken in mips Code übersetzt.

Wie immer Information ohne Gewähr.

Sent from my NookColor using Tapatalk
 
mash211

mash211

Erfahrenes Mitglied
Habe Dich @robertpic71 aus einem Post von gestern gegenüber MIPS zitiert.

Zitat

" Ein NDK für MIPS hilft uns vorläufig gar wenig. Im APK sind im Normalfall keine (C/C++) Sourcen mehr vorhanden. D.h. man kann das nicht einfach für MIPS neu compilieren. Es gibt zwar schon ein NDK (zumindest kompatibel mit Android 3.2), aber man hat wohl nicht oft die Sourcen. Schön wäre es, wenn MIPS offziell in die Google NDK einfließt (wie x86). "

Das ist die Antwort, die ich heute von MIPS zum Thema erhalten habe.

Hallo Herr Siegl,

wir arbeiten eng mit Google zusammen und wir erwarten, dass das MIPS NDK bald von Google direkt erhältlich sein wird. In einem ersten Schritt wurde zunächst das MIPS LLVM in die Google Sourcen mit aufgenommen.

Gruß

Markus
 
B

Biber5

Neues Mitglied
Kann das mal jemand für normal Sterbliche übersetzen?
Ich versteh nämlich nur Bahnhof, Zug und Abfahrt.
 
R

robertpic71

Fortgeschrittenes Mitglied
Zuerst noch zu mir: Ich habe derzeit kein Ainol bestellt, noch werde ich eines der ersten Modelle bestellen. Beim Modell Swordman (1024 x 600? Auflösung) könnte ich dann schwach werden. Als Entwickler wäre die MIPS-Architektur für mich zusätzlich reizvoll. :drool:

Zur Klarstellung: Eine Migration ist nur für Apps mit nativen Code erforderlich. Es gibt sehr viele APP's die in Java programmiert sind und ohne Anpassung laufen. Nativer Code wird vor allem für Spiele und Videoplayer eingesetzt, teilweise auch bei Portierungen (wenn Quellen C/C++ waren).

Derzeit gibt es folgende Migrationsmöglichkeiten:

1.) Mit der MIPS NDK neu kompilieren
Das erfordert allerdings die Sourcen der jeweiligen App. Die Sourcen hat man im Normalfall nur bei OpenSource-Produkten. Dieser Vorgang ist für Laien aber relativ mühsam. Hier braucht man eine komplette eingerichtete Entwicklungsumgebung.

Alles notwendigen Docs und Downloads gibt es unter: MIPS Technologies Developers Section Android (SDK, NDK)
wie gesagt...nichts für Anfänger.

2.) Mit MagicCode APK's direkt am Tablet umwandeln
Die App MagicCode wird am Ainol installiert und kann dort ein- und ausgeschaltet werden. Im eingeschalteten Zustand sollten die APK's (bzw. die *.so-files) on-the-fly für MIPS umgewandelt werden. Laut XDA-Thread soll das bei vielen Programmen funktionieren.
MagicCode kann im XDA-Thread / Seite 1 (zuletzt von duster900 gepostet) heruntergeladen werden.

Was ich nicht heraus finden konnte war, ob dafür root-Rechte notwendig sind.
Möglicherweise kann man mit root-Rechten die umgewandelten APK's wieder "rauskopieren" und so anderen zur Verfügung stellen.

Problem Market:
Im Market werden nur Apps angezeigt, welche für die Hardware geeignet sind. Apps die mit "nativen Code" gekennzeichnet sind, erscheinen also erst gar nicht zum Download. Hier muss man den Umweg über ein anderes (gerootetes) ARM-Device machen. Abhilfe könnten hier auch Custom-ROM's schaffen, welche den eigenen Gerätetyp "leugnen".

Problem CPU/GPU-spezifischer Code
In beiden Fällen ist kein 100% Erfolg sicher. Wenn Befehlserweiterungen von CPU/GPU verwendet werden, gibt es dazu keine "einfache" Übersetzung.
Aber das GPU-Problem gibt es auch in der reinen ARM-Welt.

3.) Beim Hersteller reklamieren
Man kann natürlich auch versuchen beim Hersteller die MIPS Kompatibiltät einzufordern. Einem App-Entwickler sollte der Link aus 1.) ausreichen. Aber solange MIPS noch nicht in die Standard-SDK (von Google) eingebunden ist, werden die Entwickler keine Freude haben, dass SDK durch das MIPS SDK zu ersetzen.

NDK durch Google
Wenn die MIPS-Umgebung von Google aufgenommen wird, sollten neuere Apps von Anfang an, a.) im Market und b.) schon richtig compiliert sein.

Sowohl der Google Market, als auch das SDK/NDK wurden in den letzten Versionen von Google so überarbeitet, dass Versionen unterschieder CPU-Architekturen gemanaged werden können. Die Schritte wurden wohl eher für den Einsteig von Intel (x86) gemacht, können der MIPS-Architektur aber genau so helfen.

Richtig konfiguriert, werden dann auf Knopfdruck automatisch die ARM, ARMv7, x86 und MIPS-Versionen erstellt (trotzdem Problematik GPU).
 
Zuletzt bearbeitet:
mash211

mash211

Erfahrenes Mitglied
Hallo Robert,

vielen Dank für Deine ausführliche und verständliche Ausführung der Thematik. Also ich glaube Du brauchst unbedingt ein MIPS-Tab schon um Dein Wissen praktisch anwenden zu können ;-)

Gruß

Markus