QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2576|回复: 2

摩托E380/海尔N60/夏新E600/philips968

[复制链接]
发表于 2006-12-7 12:01:42 | 显示全部楼层 |阅读模式
http://bbs.chinaunix.net/viewthread.php?tid=866379&extra=page%3D1
深度剖析E680G应用五.Telnet与主题

草木瓜 20060903

相关资源下载 http://play.younet.com/view.php?tid=18578

一、前言

   这两方面的内容比较少,而且网上资料也很多,毕竟E680上市都两三年了,
再怎么写恐怕少不了拾人牙慧。所以这才做一些总结,本来这应该在介绍Loader
之后就详细介绍。相关下载文件,可以访问友人网。
   http://play.younet.com/view.php?tid=18578

二、Telnet

   E680G本身提供了大容量模式和Modem模式两种方式连接电脑,此外还可以
通过读卡器读取E680G的扩展卡(MMC/TF/SD)之类。但是不管什么方式,都不能
完全浏览手机操作系统的文件。这时我们就需要telnet来解决问题。

   Telnet是远程登录的一种程序,它可以让您的电脑通过网络登录到网络另
一端的电脑上,甚至还可以存取那台电脑上的文件。

   具体详细的方法如下:
   
   1.安装配置Loader
   
   参见《深度剖析E680G应用一.所谓的Loader》
   
   2.下载USBLIN.rar文件,解压缩出usbnet.lin文件,并复制到扩展卡上。
   
   其实就是如下内容:
   #!/bin/bash
   echo MotNet > /proc/motusbd

   3.默认安装btblan-demo-12b9-f001-07-05-2004.exe 这个文件(文件已上传资源帖),路径为C:\Program Files\Belcarra\USBLAN,再用usblan.rar 的内容覆盖USBLAN文件夹下内容。


   4.手机设置成Modem方式连接电脑后,如果是第一次连接,可能会提示安装Moto Modem
   的驱动程序,安装好,至于驱动,只要你安装了光盘自带的手机管理软件,系统会自动找
   到并安装,这个驱动不安装也可。再用Loader关联打开手机上的USB.lin。这时电脑会提示安装新驱
   动Usb Lan,把路径指向C:\Program Files\Belcarra\USBLAN即可。
   
   5.在命令行输入telnet 169.254.142.2,提示了一些信息之后,会要求输入用户名密码。
   这时输入root用户名,密码为空。回车确认!会出现#的提示符,这里就是Linux环境了。
   并支持常用Shell命令。
   
   6.打开一个浏览器窗口,在地址栏直接输入\\169.254.142.2\system,就可以看到手机
   里面所有内容了。
   
   
三、蓝牙无线Telnet



   1.准备电脑的USB蓝牙适配器
   
   2.安装蓝牙适配器驱动程序,光盘一般会自带。这里使用的是IVT BlueSoleil 1.6.3驱动,
   需要破解软件,否则有5MB的限制,可以上网搜索一下相应版本的破解。
   
   3.驱动安装重启后,运行会提示插入蓝牙设备,按提示操作。如果插了USB蓝牙适配器,没
   有反应,或者设备无效,多半是你的适配器是便宜货,多试几次,这个口不行换个另外的。
   有其他USB设置运行正常的(如鼠标),可以先拔下,然后迅速在拔下的USB口插上蓝牙适配器。
   
   4.成功后就可以搜索蓝牙设备了,不过这时候手机须要开启蓝牙,并设置为可被查找。
   
   5.找到蓝牙设置后,主界面上会显示E680I,点击右键,先创建绑定,成功之后会有两个服务
   内容,一是串口连接,另外是名片交换之类。无线Telnet需要用串口连接。
   
   6.点击创建串口连接,手机会提示,是否接收来自XXX的连接,点击是,完成连接,系统会
   提示通过COMn建立连接。这时蓝牙部分的工作就完成了。
   
   7.在网络连接中创建一个新连接->设置高级连接->直接连接的其他计算机->来宾->随便输入
   计算机名->选择刚才串口连接的COM端口->完成。
   
   8.在建立的连接右键属性->配置,在最高速度里选择最大921600。在网络->TCP/IP->属性->
   高级里面 把"在远程网络使用默认网关“勾去掉,否则就不能上因特网了。保存,完成。
   
   9.最后在手机里建立PPP服务器,将脚本PPP.lin复制到手机上。内容如下:
   #注释掉的,是我自已加的信号灯提示。可以看出这里建立的PPP服务,主机是192.168.1.100
   客户端地址是192.168.1.166,等你一会连接上,在Windows命令行输入ipconfig就可以看到。
   这里不仅要启动pppd服务,还要启动inetd,smbd服务,否则连接上随能ping上,但telnet无
   效。
   
#! /bin/bash

devname=`cat /tmp/bt_spp_devname`
if [ -c $devname ]
then
   #/mmc/mmca1/soft/public/led 2
   if [ ! -d /etc/ppp/peers ]
   then
     mkdir /etc/ppp/peers
   fi
   echo "$devname 921600 192.168.1.100:192.168.1.166  noauth crtscts local connect 'sleep 1; echo -n CLIENTSERVER' logfile /tmp/ppp.log" > /etc/ppp/peers/myhost
   start-stop-daemon --start -m -p /var/run/btppp.pid -x /usr/bin/pppd -- call myhost
  start-stop-daemon --start -c root -x /usr/sbin/inetd
  start-stop-daemon --start -c root -x /usr/sbin/smbd
   sleep 1s
else
   #/mmc/mmca1/soft/public/led 1
   sleep 1s
fi
#/mmc/mmca1/soft/public/led 0

   10.点击运行后,telnet 192.168.1.100即可,一次不行,可以多运行这个脚本几次,每次断
   开连接中,这个服务lin脚本都必须重新运行。蓝牙无线Telnet时,最好能断开USB Telnet
   否则可能会有一些问题。
   
四、主题

   下载口碑很好的主题就不用担心死机之类的问题!一般来说切换的新安装主题,
画面没有异常现象就不会导致死机并且开不了机。

   安装主题就是复制一些主题文件到手机上。
   主题文件可人为划分为主题配置文件和主题资源文件。配置文件都很小,几百字节。
资源文件相对就大多了。

   主题配置文件(通常扩展名是dhm,phm)须放在/ezxlocal/download/appwrite/setup下,
这样在配色方式就可以看到新主题。这是文件的配置内容及说明。

[THEME_CONFIG_TABLE]
ThemeIconDir = /diska/preload/themes/maiter/
ThemeName = Maitersoft Vista theme for Moto E680i
ThemeWallpaperFile = /diska/preload/themes/maiter/maiter.jpg
ThemePowerDownImage = /diska/preload/themes/maiter/maiter_off.gif
ThemePowerUpImage = /diska/preload/themes/maiter/maiter_on.gif
ThemeTextSize = 0
ThemeSkinFile= /diska/preload/themes/maiter/maiter.skn
ThemeLogoIcon = /diska/preload/themes/maiter/maiterlogo.jpg

[THEME_COLOR_PALETTE_TABLE]
ThemeBase = 0 0 0
ThemeBrightText = 0 0 0
ThemeButton = 0 0 0
ThemeButtonText = 255 255 255
ThemeForeground = 0 0 0
ThemeHighlight = 179 179 179
ThemeHighlightedText = 20 20 20
ThemeText = 0 0 0

THEME_COLOR_PALETTE_TABLE不要修改,具体可以参见 自已制作主题详细教程。

ThemeIconDir        ICON资源文件的位置
ThemeName           主题名
ThemeWallpaperFile  墙纸
ThemePowerDownImage 关机画面
ThemePowerUpImage   开机画面
ThemeSkinFile       主题的皮肤
ThemeLogoIcon       主题Logo,即在你选择配色方案时,预览到的图片

   这些的位置就随意了,不过需要于实际文件对应。包括.ezx,.skn和开关机画
面,主题Logo,主题墙纸。
   根据主题资源文件的位置不同,就延伸出不同的叫法。
   内存版:主题资源文件放在/ezxlocal下  显然有3M的限制,其他没有任何问题
   手机版:主题资源文件放在/diska下,不怕多了会死机之类,但是显然不能大容
量连接电脑了。
   卡版:主题资源文件放在/mmc/mmca1下,也不能大容量连接,更不能弹出SD卡。
   这里推荐放在/diska下,如果有了读卡器,大容量连接电脑其实作用了也就不大了。
 楼主| 发表于 2006-12-7 12:02:01 | 显示全部楼层
深度剖析E680G开发一.所谓的交叉编译环境

草木瓜

相关资源下载 http://play.younet.com/view.php?tid=18578

20060906

一、前言

   前面文章涵盖的内容对普通人来说应该都比较容易理解和运用,然而这
仅仅只能说明你会刚会用罢了,从本文开始,我们需要更深入一步,去探讨
E680G的操作系统的开发环境,自然内容也变专业了。
   很遗憾目前网上有关的资料都不尽如人意,也许是水平太高了吧,反而
写出来的文章让人看了一头雾水。为了能让更多人能跨过这个门槛,我会用
较多的篇幅来介绍相关专业知识。另外最好有真实的Linux环境,文中操作
皆使用虚拟机RedHatLinux9。
   希望看完这篇文章得出的结论是:搭建E680交叉编译开发环境并不难!
   

二、交叉编译理论准备

   我们经常会说平台,平台出现的根源要从处理器(CPU)说起,不同的CPU
采用不同的指令集。所谓指令集,则是CPU中用来计算和控制计算机系统的一
套指令的集合,而每一种新型的CPU在设计时就规定了一系列与其他硬件电路
相配合的指令系统。
   E680手机系列采用的是Inter XScale处理器,基于ARM v5TE体系结构,
扩展了ARM指令集的核心,本质还是ARM处理器。这和我们平时经常接触PC机
的CPU是不同的,PC机大多采用Inter X86的指令集。
   ARM处理器最大的特点就是:功耗低,应用方案灵活,可以方便为多媒体
信号添加指令集等。目前来说几乎所有的手持操作系统包括智能手机都采用了
ARM架构进行设计。
   我们如果要在E680系列所采用的操作系统----MontaVista Linux下开发,
就需要一个编译器能把C程序代码转换为兼容ARM指令集的机器语言。这种编译
就称为交叉编译。
   
   要深刻理解这个概念,我们再对比一下C,Java这两种语言。
   Java号称Compile once,run everywhere。即编译一次到处运行。事实
也确实如此,Java编译生成的是字节代码,然后由各个平台的Java虚拟机解
释执行。实际上在E680G上,J2ME的JAR包是由/usr/SYSjava/kvm解释执行的。
Java是通过提供各类平台的虚拟机程序来实现平台无关性。这样也很大的牺
牲了执行效率。
   C语言则不一样,主要特点就是接近低层,可根据不同处理器生成高效的
机器代码。适合做复杂的运算和实时的控制。所以针对C语言,会有很多不同
平台的编译器负责将代码直接编译成高效的机器指令。

   说到这里,我们显然明白了:普通Linux PC机上的GCC编译器编译的可执
行程序复制到E680上是不能够被执行的。要在E680平台上进行开发,需要构造
一个能兼容ARM的GCC了,这就是所谓的交叉编译环境。


三、构造E680交叉编译环境

   这里我们使用很简单的一个构造方法。在http://lsb.blogdns.net/ezx-crosstool
下载ezx-crosstool-0.5.tar.bz2文件,这个工具是由个人整理的,去掉了与ARM
无关的很多脚本,并且限定了需要编译的文件版本,使用起来比较简单。

   本机新建了一个用户gcc,准备用于编译,root用户会提示禁止操作的。
   这里使用的是在/home/gcc目录下用gcc用户解压:
   bunzip2 ezx-crosstool-0.5.tar.bz2
   tar xvf ezx-crosstool-0.5.tar
   系统会自动生成/home/gcc/ezx-crosstool-0.5这个目录。


   在ftp://ftp.gnu.org/pub/gnu下载如下四个文件,且必须是如下版本:
   
   binutils-2.15.tar.bz2              一组开发工具,包括连接器、汇编器
                                      和其他用于目标文件和档案的工具
   gcc-3.3.6.tar.bz2                  GCC编译器的源代码
   glibc-2.3.2.tar.bz2                提供系统调用和基本函数库
   glibc-linuxthreads-2.3.2.tar.bz2   用于支持POSIX线程的函数库  
   
   在http://www.kernel.org/pub/linux/kernel/v2.4/下载如下一个文件:
   
   linux-2.4.26.tar.bz2               Linux核心源代码
   
   全部下载后,放在/home/gcc/ezx-crosstool-0.5/downloads下,打开
/home/gcc/ezx-crosstool-0.5/build.sh文件,内容如下:
   
   #!/bin/sh
   set -ex
   CROSSTOOL_DIR=`pwd`
   TARBALLS_DIR=$CROSSTOOL_DIR/downloads
   RESULT_TOP=$CROSSTOOL_DIR/gcc-arm-iwmmxt
   export TARBALLS_DIR RESULT_TOP
   GCC_LANGUAGES="c,c++"
   export GCC_LANGUAGES
   ...
   
   详细内容以后会解释,这里只注意RESULT_TOP=$CROSSTOOL_DIR/gcc-arm-iwmmxt
这句,这是说明编译后的路径,可以自定义修改。
   如:
   RESULT_TOP=/home/gcc/arm
   
   到这里,准备工作就结束了。
   cd /home/gcc/ezx-crosstool-0.5
   ./build.sh
   
   我使用的笔记本(512M+PM1.7G)+虚拟机,大概不到两个小时。完成后在系统环境
PATH添加新路径内容。
   export PATH=$PATH:/home/gcc/arm/gcc-3.3.6-glibc-2.3.2/arm-linux/bin

      
四、测试环境

   hello.c
   
#include <stdio.h>
int main()
{
float myvalueA=1.9;
float myvalueB=2.8;
printf("Hello!My E680!\n");
printf("Testvalue:%f\n",myvalueA+myvalueB);
return 0;
}  

   输入:arm-linux-gcc -o moto hello.c,生成可执行文件,这里在Linux下显
然是不能执行的,复制到你的手机上,在telnet下进入可执行文件所在目录,输入
命令:./moto,显示:

   Hello!My E680!
   Testvalue:4.700000

可以看到正常显示,而且也没有所谓的浮点型Bug。这里我们没有使用图形化的
内容,所以不需要设置环境变量,以后会有更具体的例子说明,现在交叉编译环境
已成功搭建,终于迈开第一步了。我们也将在下文做进一步的讨论。




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1214750
回复

使用道具 举报

 楼主| 发表于 2006-12-7 12:13:19 | 显示全部楼层
这些都是linux手机
MOTO A728/E680(i)/A780/E680/A768(i)/A760/三星 SCH-i519/飞利浦 968/东信 ES1008(A)/TCL e767/中兴 E3/波导 DOEASY E898/DOEASY E859/DOEASY E858/DOEASY E868/CECT GS900/酷派 828/858(C)/688
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 06:40 , Processed in 0.036987 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表