Zaprogramowanie telefonu MSM7227A/MSM8227

0

Cześć. Bawil się ktoś z Was w programowanie telefonow/smartfonow? Mam 2 telefony sony xperia j oraz nokia lumia 720 z w/w CPU. Żeby cokolwiek na tym uruchomić trzeba klepac kod w asm? Czy raczej c/c++ wystarczy? Chciałbym pobawić się w napisanie prostego systemu. Czy w ogóle jest możliwe z tymi urządzeniami?

0

Można w Javie, C#, Pascalu - o sensownym narzędziu w C++ nie słyszałem.
Z mojego doświadczenia najsensowniejszym narzędziem jest Typhone (pascal)

2

Nie sądzę, aby ktokolwiek się tym zajmował, z dosyć prostej przyczyny - każdy smartfon ma wewnątrz upchane co innego i tak naprawdę mało Ci po tym, że będziesz wiedział, co tam jest za procesor, skoro reszta układów to albo jakieś LDxxxxxxxxx z chińską dokumentacją, albo coś tworzonego na zlecenie tylko dla danego producenta, gdzie dokumentacja jest w ogóle niedostępna. Poza tym wiele procesorów ma blokowane bootloadery oraz pewnie regiony pamięci flash, a omijanie tego nie jest prostą sprawą (afair dla Motoroli Milestone, którą miałem, zajęło to ludziom z XDA parę lat).
Mógłbyś popróbować najwyżej wgrać tam swoją wersję zmodyfikowanego kernela/OSa (na podobnej zasadzie jak działa Cyanogenmod), ale wydaje mi się, że z Twoim brakiem umiejętności (wnioskuję po sposobie zadawania pytań), pierwsza-lepsza zmiana nieopisana w poradniku spowoduje permanentne zcegłowanie Twojego telefonu :P

Najsampierw kup sobie Arduino, pobaw się z Atmegami - w razie zepsucia nowa Atmega328 to koszt ~20zł, czyli żadna strata, w porównaniu do przepalenia płyty głównej telefonu. Gdy poznasz jak bardzo skomplikowane są same ośmiobitowce, zobaczysz, jak złożony jest temat w przypadku 32/64 bitowych ARMów ;)

0

Tak zgadza się nie mam w tej dziedzinie za bardzo doświadczenia aczkolwiek zawsze interesowało mnie napisanie jakiegoś prostego os'a na telefon np żeby tylko wykonać jakieś połączenie na początek. Równie dobrze może być to jakiś stary sony ericsson bo i takie gdzieś leżą po szufladach więc takich telefonów nie będzie szkoda.

Może udałoby się jakoś nie wiem "odciąć" pewną warstwę oprogramowania np zostawić sterowniki i wszystko co tam potrzebne i dopiero na tym co tam jest zacząć pisać soft ale podejrzewam że jest to wręcz niewykonalne. Prawda jest taka że nie wiemy co jest w oprogramowaniu poupychane a być może gdyby tego nie było telefony z niższej półki zaczęłyby tak samo szybko działać jak te top'owe bo większość zasobów zabiera zbieranie jakichś informacji i analizowanie tego :D

1

Wykonywanie połączeń wcale nie jest takie proste - samo odtwarzanie dźwięków to nie jest taka łatwa sprawa, a do tego dochodzi komunikacja AT, obsługa modemu GSM (...).
Naprawdę, zacznij od podstaw :P

0

Czyli mam złożyć własny telefon? :D

Edit:
ale hola hola. Przecież jak wywołam instrukcję na procesorze pobrania nie wiem np jakiejś wartości z komórki pamięci o danym adresie to mnie to nie interesuje co z czym pracuje bo samą instrukcję już przetwarza procesor, a to jak ten procesor to zrobi to mi to lotto. Źle mówię?

Ale i tak sądzę że w asm to tylko tam przeróżne sterowniki są napisane reszta już w języku wyższego poziomu od asm z jakąś biblioteką...

1

Przecież jak wywołam instrukcję na procesorze pobrania nie wiem np jakiejś wartości z komórki pamięci o danym adresie to mnie to nie interesuje co z czym pracuje bo samą instrukcję już przetwarza procesor, a to jak ten procesor to zrobi to mi to lotto. Źle mówię?

Nie no, dobrze mówisz - ale nie ma już takiej instrukcji jak zadzwoń pod numer xyz ;)

Ale i tak sądzę że w asm to tylko tam przeróżne sterowniki są napisane reszta już w języku wyższego poziomu od asm z jakąś biblioteką...

Mało które sterowniki się pisze w całości w assemblerze już. Ja aktualnie piszę w C++ obiektowo snejka na swoją Atmegę328 (2kb pamięci RAM i da się? da, a jeszcze mi zostało :P) - ale i tak nie rozumiem w jaki sposób to się odnosi do kontekstu.
To że piszesz w C/C++ wcale nie oznacza, że możesz zapomnieć, że pracujesz na innej architekturze. Zupełnie inaczej pisze się na komputery, a inaczej na mikrokontrolery. W przypadku ARMów masz ten plus, że to jest architektura von Neumanna, Atmegi są w całości harwardzkie (choć co kto lubi).

0

Ok to może przyjmijmy inny wariant. Wyświetlenie jakiegoś tekstu na ekranie telefonu. W asm bez problemu powinno się to udać. Jednak z tego co mówisz tego typu telefony są tylko i wyłącznie na śmietnik, nie mogę nic z nimi zrobić? Kupiłem telefon (przyjmijmy że jako hardware) i nie mam możliwości niczego na nim zrobić. Taka polityka korporacji?

0

Wyświetlenie jakiegoś tekstu na ekranie telefonu. W asm bez problemu powinno się to udać.

Widać, że nie zabierałeś się za to wcześniej, bo to nie jest takie hop siup ;) Zacznijmy od czegoś prostszego: wyświetlanie pojedynczego piksela na ekranie.
To teraz nasuwają się pytania: jaki jest kontroler tego wyświetlacza? W jakim formacie przyjmuje komendy? Jakie są jego timingi? Czy aby na pewno operuje na RGB? Może działa jako I2C? A może ma jakieś inne połączenie?
Generalnie ekraniki do smartfonów nie mają praktycznie żadnych dokumentacji (ponieważ są robione pod danego producenta) i aby odnaleźć odpowiedzi na te pytania trzeba się bawić z oscyloskopem i zgadywaniem. Język nie ma tutaj żadnego znaczenia.

Jednak z tego co mówisz tego typu telefony są tylko i wyłącznie na śmietnik, nie mogę nic z nimi zrobić?

Porządny elektronik z zamiłowania wraz z garścią dużej ilości wolnego czasu mógłby coś z tego jeszcze wykorzystać (choćby właśnie wyświetlacz, albo nawet już jakoś ten procesor), ale to wymaga naprawdę dużo czasu, nerwów i przede wszystkim wiedzy.

Taka polityka korporacji?

Co? :|
No możesz sobie ten kupiony telefon rozebrać na części i mieć do innego takiego samego telefonu, gdyby np. zbił się w nim digitizer. Ale jak mówiłem - zabawa w boga nie jest niczym prostym, że budzisz się rano i dzisiaj stworzę sobie własny system operacyjny na telefon. Korporacja nie miałaby żadnego zysku utrudniając inżynierom tworzenie telefonu poprzez stawianie wymagania no bo ktoś może zechcieć go sobie sam zaprogramować.

0

Ostatnio coś takiego spotkałem:
http://web.media.mit.edu/~mellis/cellphone/

1 użytkowników online, w tym zalogowanych: 0, gości: 1