Smartphone Acer M900 - HaReT S3C6410

Après quelques semaines de travail sur le HTC Kaiser (TyTn 2), mon premier Smartphone WinCE ayant pu démarrer sour Linux,
je m'attaque à un projet d'une autre ampleur, permettre à un Smartphone récent de démarrer sous linux.... L'ACER M900.

Vous pourrez trouver sur ces pages wiki mes premiers pas concernant cet appareil et le cpu Samsung S3C6410XL (en Anglais):

  • http://htc-linux.org/wiki/index.php?title=M900
  • http://wiki.xda-developers.com/index.php?pagename=Acer_M900
  • Je travaille actuellement sur l'outil HaReT, qui permet de déterminer les entrées/sorties de l'appareil...
    Apres une journée de travail, HaReT reconnait l'appareil et permet de tracer les IRQ et d'afficher l'état des GPIOS.


    large_haretm900.png large_M900.jpg large_M900_JTAG.png large_M900_PCB.jpg

    Ci joint les sources modifiées de HaReT (pre-0.5.3) ainsi que l'executable pour Windows Mobile...
    PS: Les scripts de la console doivent rester en phase avec l'executable, ils sont regénérés lors de la compilation d'HaReT

    Commandes utiles (et qui fonctionnent) dans haret console :

    /* afficher un instantanné des GPIOS */
    watch gpios
    /* tracer les changements des GPIOS */
    watch gpios <seconds>
    /* tracer les IRQ (voir sources pour redéfinir le Masque) */
    wirq <seconds>
    /* afficher la memory map (addresses virtuelles -> addresses physiques) */
    dump mmu
    /* afficher une portion de la mémoire physique */
    pdump <0xphysical_addr> <0xsize>
    /* NEW ! 21-nov-2009 affiche la table de configuration des ports GPIO (type/direction, level) */
    dump gpios
    /* NEW ! 21-nov-2009 Modifie l'état d'un port GPIO */
    set gplr(46) 1
    /* NEW ! 21-nov-2009 Modifie la direction d'un port GPIO */
    set gpdr(46) 1

    Site officiel (Documentation) : http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentation

    haret_m900ico.jpg haret_m900wm.jpg gpiogfx200.gif

    [21-nov-2009]
    Mise à jour, nouveau jeu de commandes pour les gpios (spécifique à la platforme S3c64xx)

    [23-nov-2009]
    Mise à jour, bug de direction "dump gpios"
    Nouvelles commandes pour les gpios (S3c64xx)

    ========  Connecting to haret  ========
    Minimal virtual address: 0x2f000, maximal virtual address: 0x5
    Detected machine M900/s3c64xx (Plat='PocketPC' OEM='M900V030')
    CPU is ARM arch ARMv6(15) Rev 0 PN 0x36 stepping 6 cpuid: 0x410fb766, running in system mode
    Enter 'HELP' for a short command summary.
     
    HaRET(1)# dump gpios
    GPIO B## V D S P S |GPIO B## V D S P S |GPIO B## V D S P S |GPIO B## V D S P S
    -------------------+-------------------+-------------------+------------------
       0 A00 1 2 0     |  47 F14   X 0     |  94 K00   O 0     | 141 N10 1 X 0
       1 A01 1 2 0     |  48 F15   2 0     |  95 K01 1 O 0     | 142 N11 1 X 0
       2 A02   2 0     |  49 G00   2 0     |  96 K02 1 I 0     | 143 N12   X 0
       3 A03   2 0     |  50 G01 1 2 0     |  97 K03   O 0 U   | 144 N13   O 0
       4 A04 1 2 0     |  51 G02 1 2 0     |  98 K04 1 O 0     | 145 N14 1 I 0
       5 A05 1 2 0     |  52 G03 1 2 0     |  99 K05   O 0     | 146 N15   I 0
       6 A06   2 0     |  53 G04 1 2 0     | 100 K06   O 0     | 147 O00 1 2 0
       7 A07   2 0     |  54 G05 1 2 0     | 101 K07   O 0     | 148 O01   O 0
       8 B00   O 0     |  55 G06   2 0     | 102 K08   O 0     | 149 O02   I 0 D
       9 B01   O 0     |  56 H00   O 0     | 103 K09   O 0     | 150 O03   O 0
      10 B02   I 0     |  57 H01   O 0     | 104 K10   O 0     | 151 O04   I 0 D
      11 B03   O 0 D   |  58 H02   O 0     | 105 K11 1 O 0     | 152 O05   I 0 D
      12 B04   O 0     |  59 H03   O 0     | 106 K12 1 O 0     | 153 O06   I 0 D
      13 B05 1 2 0     |  60 H04   O 0     | 107 K13 1 O 0     | 154 O07   I 0 D
      14 B06 1 2 0     |  61 H05   O 0     | 108 K14   O 0     | 155 O08   I 0 D
      15 C00 1 2 0     |  62 H06   O 0     | 109 K15   O 0     | 156 O09   I 0 D
      16 C01   2 0 D D |  63 H07   O 0     | 110 L00   O 0     | 157 O10   I 0 D
      17 C02 1 2 0 D D |  64 H08   O 0     | 111 L01   O 0     | 158 O11   I 0 D
      18 C03 1 2 0 U U |  65 H09   O 0 U   | 112 L02 1 O 0     | 159 O12   I 0 D
      19 C04   2 0     |  66 I00   O 0     | 113 L03 1 O 0     | 160 O13   I 0 D
      20 C05   2 0     |  67 I01   O 0     | 114 L04   O 0     | 161 O14   I 0 D
      21 C06 1 2 0     |  68 I02 1 O 0     | 115 L05 1 O 0     | 162 O15   I 0 D
      22 C07   O 0     |  69 I03 1 2 0     | 116 L06 1 O 0     | 163 P00   I 0 D
      23 D00   O 0     |  70 I04   2 0     | 117 L07   I 0     | 164 P01   I 0 D
      24 D01   O 0     |  71 I05   2 0     | 118 L08 1 I 0     | 165 P02 1 2 0
      25 D02   O 0     |  72 I06   2 0     | 119 L09 1 I 0     | 166 P03   2 0 D
      26 D03   O 0     |  73 I07   2 0     | 120 L10   O 0     | 167 P04   2 0 D
      27 D04 1 O 0     |  74 I08 1 O 0     | 121 L11 1 3 0 U   | 168 P05 1 2 0 D
      28 E00   3 0     |  75 I09   I I     | 122 L12   3 0 D   | 169 P06 1 2 0 D
      29 E01   3 0     |  76 I10 1 2 0     | 123 L13 1 3 0     | 170 P07 1 2 0
      30 E02 1 3 0     |  77 I11   2 0     | 124 L14 1 3 0     | 171 P08   O P
      31 E03   3 0     |  78 I12 1 2 0     | 125 M00 1 3 0     | 172 P09   O 0
      32 E04   3 0     |  79 I13 1 2 0     | 126 M01   3 0     | 173 P10   I 0
      33 F00   O 0     |  80 I14 1 2 0     | 127 M02 1 3 0     | 174 P11   O 0
      34 F01   I 0 D   |  81 I15 1 2 0     | 128 M03   3 0     | 175 P12   O 0
      35 F02   I 0 D   |  82 J00 1 I I     | 129 M04   O 0     | 176 P13   O 0
      36 F03   O 0     |  83 J01 1 O 0     | 130 M05   O 0     | 177 P14   O 0
      37 F04   I 0 D   |  84 J02 1 O 0     | 131 N00 1 X 0     | 178 Q00   I 0
      38 F05   I 0 D   |  85 J03 1 2 0     | 132 N01   X 0     | 179 Q01   O 0
      39 F06   I 0 D   |  86 J04 1 2 0     | 133 N02 1 X 0     | 180 Q02   O 0
      40 F07   I 0 D   |  87 J05   2 0     | 134 N03   O 0     | 181 Q03   I 0 D
      41 F08   I 0 D   |  88 J06 1 2 0     | 135 N04 1 X 0 U   | 182 Q04   I 0 D
      42 F09   I 0 D   |  89 J07   2 0     | 136 N05   O 0     | 183 Q05   I 0 D
      43 F10   I 0 D   |  90 J08 1 2 0     | 137 N06 1 X 0     | 184 Q06   I 0 D
      44 F11   I 0 D   |  91 J09 1 2 0     | 138 N07 1 X 0     | 185 Q07   I 0 D
      45 F12   I 0 D   |  92 J10 1 2 0     | 139 N08   X 0     | 186 Q08   I 0 D
      46 F13   O 0     |  93 J11 1 2 0     | 140 N09 1 X 0     |
    -------------------+-------------------+-------------------+------------------
      V:Value - D:Dir/Mode S:Sleep Dir/State - P:PullUp/Down S:Sleep PullUp/Down
      Directions       : I:Input, O:Output, X:Ext IRQ, 2-7 (cf. doc)
      Sleep Directions : 0:Ouput 0, 1:Output 1, I:Input, P:Previous state

    See page about the GPIOgfx tool...

    Copiez ce script dans un fichier startup.txt placé dans le répertoire de HaReT pour passer le M900 de 533 à 667Mhz

    pfh 0x7e00f000 1 0x1000
    pfw 0x7e00f00c 1 0xc14d0301
    msgbox overclock "frequency set to 667Mhz" 0
    exit

    Note: These features are now in HaReT main Git since february 2010...

    23 Mar 2010 : New release with last git updates and 6x8 font to be readable on this "HD" device...

    AttachmentSizeDownloadsLast Download
    Sources + Patches Git : haret.s3c64xx.pre-0.5.3-20091123_0853.tar.bz2933.99 KB87856 days 10 hours ago
    Executable + Console : haret.s3c64xx.pre-0.5.3-20091123_0853.zip111.3 KB86096 days 10 hours ago
    font6x8.patch.zip Terminal Font for HD Devices3.83 KB78067 hours 15 min ago
    Executable + Console : HaReT-pre-0.5.3-100323-6x8font.zip (official git / incl. patches)145.34 KB81886 days 10 hours ago
    HaretScripting.1.02.zip (GUI Tool to switch between scripts)25.52 KB78951 week 5 days ago

    Comments

    Comment viewing options

    Select your preferred way to display the comments and click "Save settings" to activate your changes.

    J'ai une question qui n'a

    J'ai une question qui n'a rien à avoir avec ta présentation ci dessus qui a l'air d'être un travail de génie. J'ai un Acer M900 depuis peu, avec lequel je n'arrive pas à mettre de sonneries perso pour le réveil ni à afficher la météo.
    Vraiment navrée de poster ce genre de commentaire, mais j'ai l'impression d'être bête depuis que j'ai ce smartphone. Merci d'avance

    il suffit de laisser le

    il suffit de laisser le stylet appuyé sur un mp3 ou un autre fichier son dans le gestionnaire de fichiers, puis "Utiliser comme sonnerie"

    Bonjour Excellent article,

    Bonjour

    Excellent article, je vais bientôt reçevoir un acer m900 que j'ai commandé .
    Linux étant ma plateforme préféré , je l'ai essayé beaucoup de distributions sur du moults architectures, de préférance X86, PPC, 68K et autres classiques.
    J'aimerais installer en multi boot si possible avec Windows 6.1 de l'acer M900 , une distribution linux .
    Donc vous article m'intéresse . En faite , je viens juste de le commencer et je cherche le type d'install , le support etc. Je ne l'ai pas encore trouvé, mais je pense que je suivrais votre "tuto".
    De toute façon, je vais essayer de le faire, si vous voulez je pourrais vous tenir au courant sur mes recherches.

    Salutations et bonne continuation

    Merci, je vous conseille de

    Merci, je vous conseille de regarder du coté de la tablette SmartQ5, qui est tres similaire à cet appareil..

    what changes need be done

    Hi
    great work. can i know what changes to the haret needs to be done to recognise any new device.
    br
    sayiram

    yes...

    Each machine has an identifier... you need to update the file src\mach\machlist.txt

    Sample :

    Jornada9xx0,OMAP850 ,"HP, Jornada 900",           JORNADA928
    Acer_S200  ,QSD8xxx ,"Acer S200",                 ACER_S200
    M800,       S3c2442 ,M800V02,                     M800 
    X800,       S3c2442 ,X800,                        M800 
    DX900,      S3c6400 ,DX900V040,                   DX900
    X900,       S3c6400 ,V900V050,                    ACER_ETEN_X900
    M900,       S3c6410 ,M900V030;GT-I8000,                    ACER_TEMPO_M900

    Just add your machine ident on the 3rd column.... 2nd is the haret cpu Class (dont change if class code not in sources), and last (or first) is from official linux mach-types.h... the other is Haret (i think the first) is haret machine description code for user settings

    hi thanks for the response

    hi thanks for the response
    i want to add my new CPU PXA320 with ZYLONITE. can you pl. help me out what will be the final entry>?

    the cpu ident is shown in

    the machine ident is shown in haret console... i dont know it

    from a linux pc, type ./console 169.254.2.1 from the haretconsole subdirectory (need python)

    i am trying to use console

    i am trying to use console app from the Windows. can you help me out how to connect the device to windows?? i am using active sync currently

    re: console

    you need to install python... then same command with python first (like php in command line)

    Hi i have added in to

    Hi
    i have added in to machlist for PXA320. but while compiling its giving error under out/mach-pxa27x.cpp says "PXA320 class is not defined".infact i haven't defined any class. i think once i add in to the machlist its trying to autogenrated the framework for the PXA320.
    any idea how to resolve it?
    current there is no code changes to support the PXA320

    rmm...

    as i said... just change string ident, third column....

    Dear sir, No Idea of

    Dear sir,

    No Idea of android, any way a normal user can install a android on a M900?
    regards

    TAVO
    from la colombie