Programme für’s Fairphone compilieren

Rein technisch unterstützt das Fairphone Bluetooth Low Energy (BLE), aber es gibt (nach  unserem Kenntnisstand) kein Android-Image, was diese Fähigkeit des SoC aufgreifen könnte, da erst ab 4.3 (API Level 18) ein Interface für BLE implementiert ist.

Wir kamen daher auf den Gedanken, evtl. auf einer „tieferen Linux-Ebene“ außerhalb der Android-VM die BLE-Fähigkeiten des SoC zu testen. Unter Umständen besteht nämlich die Möglichkeit, BLE durch eine in der APK mitgelieferte System-Bibliothek auch dann einer App zur Verfügung zu stellen, wenn die VM kein Interface dafür anbietet.

Der im Fairphone verbaute SoC ist der MediaTek MT6589. Er hat vier Kerne, die den ARMv7-Instruktionssatz (Quelle) implementieren und enthält außerdem laut Spezifikation den besagten Bluetooth 4.0-fähigen Transceiver.

In einem ersten Test versuchten wir mithilfe eines ARM-Cross-Compilers ein simples printf(„Hello world2“); – Programm zu übersetzen. Dabei darf man nicht vergessen, mit dem Kommandozeilenparameter -static zu linken:

Mit adb push haben wir die resultierende, ausführbare Datei auf das Telefon gespielt und konnten sie dann in der adb shell ausführen.

Nun können wir beginnen, unsere Werkzeuge auf das Telefon zu spielen und testen, ob wir von der Kommandozeile aus Bluetooth nutzen können.

Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte die Buchstaben des captcha Bildes im Eingabefeld eintippen

Please type the characters of this captcha image in the input box