免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: cwmould
打印 上一主题 下一主题

MOTO手机嵌入式LINUX使用感想 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-12-20 13:33 |只看该作者
原帖由 cwmould 于 2005-12-16 10:06 发表
intel Xcale 312Mhz CPU, 具体指令集不太详细,估计应该是X86的,软件为montaVista 消费电子版LINUX 3.0,他们还有一个专业版,估计那个功能的指令应该多些,其实如果这个如果能提供开发环境,那么大部分的LINUX/ ...


montavista光盘中应该有for arm的gcc编译器,这位同学能否把你所看到的进程再列的详细一些?

论坛徽章:
0
22 [报告]
发表于 2005-12-20 23:41 |只看该作者
好像不行吧,
像一楼说的,指令集不一样。。。
听说ARM和INTER的指令是反过来用,不知是不是~

论坛徽章:
0
23 [报告]
发表于 2005-12-21 14:35 |只看该作者
原帖由 huxiao45 于 2005-12-20 23:41 发表
好像不行吧,
像一楼说的,指令集不一样。。。
听说ARM和INTER的指令是反过来用,不知是不是~


反过来?怎么反啊?

论坛徽章:
0
24 [报告]
发表于 2005-12-21 15:49 |只看该作者
这款手机用的是迁入式linux,,大概是 monte viste的版本,,,,里面的命令busybox命令集,,你如果有了他的内核代码和界面的开发工具包(有,gtk,gdk,qt,etc具体moto使用的不太清楚)就可以开发自己的应用程序了.

这方面开放源码的pda很多,,,大多使用linux的都开发源码,,,比较流行的有opie,gtk版本的.

论坛徽章:
0
25 [报告]
发表于 2005-12-22 14:15 |只看该作者
以下是PS结果,E680可以安装OPIE,很多网友已经安装成功了,而且很多软件就是OPIE移植过来的,像超任的模拟器,还有QUAKEQT,据说,外国的网友已经成功在680上运行上VNC SERVER


Linux 192.168.1.11 2.4.20_mvlcee30-mainstone #7 Fri Feb 13 15:39:51 CST 2004 arm
v5tel unknown

MontaVista Linux Consumer Electronics Edition 3.0

No directory /root!
Logging in with home = "/".
# ps -el
  F S   UID   PID  PPID  C PRI  NI ADDR SZ  WCHAN TTY          TIME CMD
100 S     0     1     0  0  75   0 -   344  32b4c ?        00:00:00 init
040 S     0     2     1  0  75   0 -     0  374dc ?        00:00:00 keventd
040 S     0     3     1  0  94  19 -     0  2f450 ?        00:00:00 ksoftirqd_CP
040 S     0     4     1  0  75   0 -     0  44d4c ?        00:00:00 kswapd
040 S     0     5     1  0  85   0 -     0  50c08 ?        00:00:00 bdflush
040 S     0     6     1  0  75   0 -     0  32b4c ?        00:00:07 kupdated
040 S     0     7     1  0  85   0 -     0  ddd08 ?        00:00:00 mtdblockd
040 S     0     8     1  0  75   0 -     0  eff20 ?        00:00:00 khubd
040 D     0    10     1  0  85   0 -     0  1dbb8 ?        00:00:00 swapper
040 D     0    36     1  0  65 -10 -     0 235f68 ?        00:00:02 tffs1
100 S     0    73     1  0  75   0 -   541  32aec ?        00:00:01 tapisrv
100 S     0    77     1  0  75   0 -   409  32aec ?        00:00:01 apmd
100 S     0    96     1  0  75   0 -  5493  32b4c ?        00:00:12 windowsserve
100 S  2000    98     1  0  76   0 -   370  32aec tty1     00:00:00 bash
100 S     0   102    96  0  60 -15 -  1458  32aec ?        00:00:00 soundmanager
100 S     0   104    96  0  75   0 -  6672  32b4c ?        00:00:39 am
040 S     0   105   102  0  85   0 -   907  93800 ?        00:00:00 soundmanager
040 S     0   106   102  0  60 -15 -  1458  32b4c ?        00:00:00 soundmanager
140 S     0   107   106  0  60 -15 -  1458  93800 ?        00:00:00 soundmanager
040 S     0   108   106  0  70 -15 -  1458  93800 ?        00:00:00 soundmanager
040 S     0   109   106  0  60 -15 -  1458  93800 ?        00:00:00 soundmanager
040 S     0   110   106  0  70 -15 -  1458  93800 ?        00:00:00 soundmanager
040 S     0   111   106  0  60 -15 -  1458  32aec ?        00:00:00 soundmanager
100 S     0   112    96  0  60 -17 -  6403  32b4c ?        00:00:15 phone
100 S  2000   119   104  0  75   0 -  3252  32aec ?        00:00:00 browser
000 S  2000   120   119  0  75   0 -  4994  32aec ?        00:00:01 mielserver
040 S  2000   121   120  0  75   0 -  4994  32b4c ?        00:00:00 mielserver
040 S  2000   122   121  0  75   0 -  4994  1e548 ?        00:00:00 mielserver
040 S  2000   123   121  0  75   0 -  4994  32b4c ?        00:00:00 mielserver
040 S  2000   124   121  0  85   0 -  4994  32aec ?        00:00:00 mielserver
100 S  2000   127   104  0  75   0 -  7173  32aec ?        00:00:16 messaging
000 S  2000   134     1  0  75   0 -  5638  32aec ?        00:00:01 db_daemon
000 S     0   139    96  0  75   0 -   861  32aec ?        00:00:00 dsm
100 S  2000   142   104  0  75   0 -  5950  32aec ?        00:00:01 addrbk
100 S     0   147    96  0  75   0 -  3976  32aec ?        00:00:00 mmcsdapp
040 S     0   148   147  0  75   0 -  3976  32b4c ?        00:00:00 mmcsdapp
140 D     0   149   148  0  77   0 -  3976 2221e4 ?        00:00:00 mmcsdapp
040 S  2000   150   134  0  75   0 -  5638  32b4c ?        00:00:00 db_daemon
040 S  2000   151   150  0  75   0 -  5638  32b4c ?        00:00:00 db_daemon
040 S  2000   154   150  0  75   0 -  5638  32aec ?        00:00:01 db_daemon
040 S  2000   155   150  0  75   0 -  5638  32aec ?        00:00:00 db_daemon
100 S  2000   157    96  0  75   0 -  6088  32b4c ?        00:00:04 openwindow
040 S  2000   161   150  0  75   0 -  5638  32aec ?        00:00:00 db_daemon
100 S     0   163    96  0  75   0 -  5905  32aec ?        00:00:04 misc1
040 S  2000   168   150  0  76   0 -  5638  32aec ?        00:00:00 db_daemon
040 S  2000   169   150  0  76   0 -  5638  32aec ?        00:00:00 db_daemon
040 S     0   194    96  0  75   0 -  5493  32b4c ?        00:00:00 windowsserve
040 S     0   195   194  0  75   0 -  5493  1e548 ?        00:00:00 windowsserve
040 S  2000   203   150  0  75   0 -  5638  32aec ?        00:00:00 db_daemon
040 S  2000   253   150  0  76   0 -  5638  1e548 ?        00:00:00 db_daemon
100 S  2000   266   104 11  82   0 -  5369  32aec ?        00:00:02 mystuff
140 S     0   283     1  0  75   0 -   362  32aec ?        00:00:00 inetd
140 S     0   286     1  0  79   0 -   644  32aec ?        00:00:00 smbd
000 S     0   287   283  4  75   0 -   425  32aec ?        00:00:00 in.telnetd
100 S     0   288   287  2  75   0 -   365  2de5c pts/0    00:00:00 bash
100 R     0   291   288  0  77   0 -   704      - pts/0    00:00:00 ps

论坛徽章:
0
26 [报告]
发表于 2005-12-22 16:28 |只看该作者
原帖由 cwmould 于 2005-12-14 11:13 发表
俺前一阵买了一个MOTO E680I(水的,没钱呀), 使用的是嵌入式LINUX,一直停留在看电影听歌看书的应用基础上,最近由于要装主题,必须要使用TELNET,一番探索之后终于成功了,进去一看,HOHO,原来竟然内核为2.4.2 ...


去debian 下针对arm 编译的包吧,都能用,只要你能搞定动态库

论坛徽章:
0
27 [报告]
发表于 2005-12-22 16:30 |只看该作者
原帖由 wgd0909 于 2005-12-21 15:49 发表
这款手机用的是迁入式linux,,大概是 monte viste的版本,,,,里面的命令busybox命令集,,你如果有了他的内核代码和界面的开发工具包(有,gtk,gdk,qt,etc具体moto使用的不太清楚)就可以开发自己的应用程序了.

这方面 ...


图形用的是嵌入式qt

论坛徽章:
0
28 [报告]
发表于 2005-12-22 16:36 |只看该作者
以下是在移动天使看到的文章,俺在手机装了个OPIE,感觉好爽呀,只是不是专门为680开发的,有一部分程序不能用,下面的DX讲的构建环境,我想问一下所谓的QT到底啥意思呀



构建E680的开发环境- -

www.CCMOVE.com


最近买了个E680的水货手机。本来我手里手机很多了,不过没有一个是Linux的,觉得比较可惜,这可是我的职业 。听说E680水货比较便宜,而且在"移动天使"(http://club.ccmove.com/)上的fans正DIY地热火朝天,比较眼热。 冲着E680的DIY性能,我决定买了一个。

www.CCMOVE.com

在“移动天使”论坛上,大部分DIY的程序是从OPIE拿过来的,所以在E680上必须加载另外一个QT库和OPIE的库,比较浪费资源。幸亏liuto大侠拿到了EZX的SDK,我赶紧下载下来了。很可惜,是A760系列的SDK,E680上没法用。

www.CCMOVE.com

幸好liuto的ezx SDK有一些头文件,象Moto这种大公司,开发上应该保持连续性。所以我猜测EZX SDK的头文件应该变化不大,这样我就可以使用A760的EZX SDK 的头文件配合E680上的qt,ezx的库文件进行程序的交叉编译了。 果然,我成功了。

www.CCMOVE.com

下面就是具体步骤:
所需要的资源:
1. xscale-gcc-vfp-3.3.tar.gz
2. ezx-sdk.tar.gz qt-2.3.tar.gz Other_lib_headers.tar.gz
3. tmake-1.8.5
说明:
1. 本来我手头上有一份 montavista 的gcc交叉编译环境,但是它没有包含VFP的支持,需要自己编译一份。在“移动天使”的2号ftp上(ftp://hbsztvu.cn) 9====工具====/编程工具 下有编译好的GCC。
2. 在移动天使的3好服务器上有EZX.rar,这是A760系列的开发包,不能直接用在E680上,不过没有关系,我们只需要这个包里面的ezx-sdk.tar.gz 和 qt-2.3.tar.gz 中的一些头文件。
3. 这个是Trolltech (qt的开发商)公司的一个为Qt项目生成Makefile的工具。当然你也可以使用自己的qmake (在Qt 3.x中使用 qmake, 而在qt 3.0 以前一直是使用tmake的).我懒得编译Qt了,所以直接使用了tmake,tmake是用perl写的,呵呵,不用编译。

www.CCMOVE.com


步骤:
1. 安装 xscale-gcc-vfp-3.3.tar.gz:
#tar xvzf -C / xscale-gcc-vfp-3.3.tar.gz
gcc 的编译器就装在了/usr/local/arm下。
2. 解开 ezx-sdk 和 qt-2.3 的包

www.CCMOVE.com

3. 去Trolltech (http://www.trolltech.com) 的网站上去down tmake,安装。

www.CCMOVE.com

4. 创建一个目录比如我的:
mkdir /home/kerberos/e680/
cd /home/kerberos/e680
tar xvzf /qt-2.3.tar.gz的路径/qt-2.3.tar.gz
qt 的目录是 qt-2.3.6
tar xvzf /ezx-sdk.tar.gz的路径/ezx-sdk.tar.gz
tar xvzf /Other_lib_headers的路径/Other_lib_headers.tar.gz
ezx-sdk 的目录是 ezx, Other_lib_headers 的目录是other

www.CCMOVE.com

5. 拷贝头文件:
把ezx-sdk 和 other_lib_headers 解开的包的头文件拷贝到qt的头文件目录中:
cp ezx/include/* other/include/* qt-2.3.6/include

www.CCMOVE.com

6. 拷贝E680上的库文件:
首先要把E680的的一些库文件拷贝出来,方便的方法是telnet到E680以后,使用samba协议拷贝
\\169.254.142.2\system\usr\lib\ezx\lib\ 的库到qt-2.3.6的lib目录下
\\169.254.142.2\system\usr\lib\libezx* 到qt-2.3.6的lib目录下
拷贝过程中要注意,不要拷贝符号链接的库。 只有版本号最长的文件名的库才是真正的库文件。

www.CCMOVE.com

7. 安装tmake:
随便把tmake解开到某个目录中,比如我的在/home/kerberos/e680/tmake-1.8
由于生成Makefile文件需要一些设置,我们这样来做:
cd tmake-1.8/lib/qws
cp linux-arm-g++ linux-e680-g++ -r
vim linux-e680-g++/tmake.conf
来修改tmake.conf文件,具体改这么几行:
54 行: TMAKE_LIBS_QT_THREAD = -lqte-mt
改成 TMAKE_LIBS_QT_THREAD = -lqte-mt-xscale-r -lezxappbase-xscale-r -lezxappsdk-xscale-r -lezxjpeg-xscale-r -lezxtapi-xs cale-r -lezxfunlight-xscale-r
这样是为了连接 EZX库

www.CCMOVE.com

8. 设置环境变量:
修改 /home/kerberos/.barshrc (你的可能在不同的用户目录下)
增加以下几行:
PATH=/usr/local/arm/binPATH
QTDIR=/home/kerberos/e680/qt-2.3.6
TMAKEPATH=/home/kerberos/e680/tmake-1.8/lib/qws/linux-e680-g++
export PATH TMAKEPATH QTDIR

www.CCMOVE.com


使环境变量生效:
source /home/kerberos/.bashrc

www.CCMOVE.com

9. 测试程序:

www.CCMOVE.com

cd /home/kerberos/e680/
mkdir test
cd test
编辑一个工程文件: testezx.pro
=====================以下是文件内容:
TEMPLATE = app
CONFIG += qt thread release warn_off
TARGET = testezx

www.CCMOVE.com

HEADERS +=

www.CCMOVE.com

SOURCES += test.cpp
LIBS +=
================文件内容结束

www.CCMOVE.com

编辑源文件:
===================== test.cpp 文件内容如下:

  1. #include <ZApplication.h>
  2. #include <ZMainWidget.h>
  3. #include <ZMultiLineEdit.h>
  4. #include <qlineedit.h>
  5. #include <ZScrollView.h>
  6. #include <qframe.h>
  7. #include <ZPushButton.h>
  8. #include <qpushbutton.h>

  9. www.CCMOVE.com

  10. int main (int argc, char** argv)
  11. {
  12.         QWidget* cst;
  13.         ZScrollView* sv;
  14.         ZMultiLineEdit* ml;

  15. www.CCMOVE.com

  16.         ZApplication app (argc, argv);
  17.         ZMainWidget* w = new ZMainWidget (true,0);
  18.         sv = new ZScrollView (w, "sv");
  19.         w->setContentWidget (sv);
  20.         sv->show ();

  21. www.CCMOVE.com

  22.         /*
  23.         QPushButton* bt = new QPushButton ("Hello E680!", sv->viewport());
  24.         sv->addChild (bt, 0, 0, true);
  25.         bt->show ();
  26.         */

  27. www.CCMOVE.com

  28.         ml = new ZMultiLineEdit (sv->viewport(), true, 6);
  29.         sv->addChild (ml, 0, 0, true);
  30.         ml->show ();

  31. www.CCMOVE.com

  32.         cst = w->getCSTWidget();

  33. www.CCMOVE.com

  34.         QPushButton* mybt = new QPushButton ("quit button", cst);
  35.         mybt->show();

  36. www.CCMOVE.com

  37.         QObject::connect ( mybt, SIGNAL(click()), qApp, SLOT (slotQuickQuit()) );

  38. www.CCMOVE.com

  39.         app.setMainWidget (w);
  40.         w->showWithInputMethod(IMID_ENGLISH_KB);
  41.         app.showMainWidget (w);
  42.         return app.exec();
  43. }
复制代码

==================test.cpp文件内容结束

www.CCMOVE.com

编译程序:
tmake testezx.pro > Makefile
make

www.CCMOVE.com

10. 运行程序:
把 testezx 拷贝到SD卡上,telnet 到小E上。运行:
. /home/native/.profile
注意 点后面有一个空格的。
./testezx
你就看见一个空的窗口和一个英文键盘了。

www.CCMOVE.com


基本上还是我没有拿到小E时候的思路,呵呵,看来我的感觉越来越灵敏了。

www.CCMOVE.com

论坛徽章:
0
29 [报告]
发表于 2005-12-22 17:03 |只看该作者
这是QT的资料,看来,在搞透这个手机,要好好研究一下编程喽(俺以前LINUX,C啥都会点,什么都不精,看来,要学习一下了)

http://www.qiliang.net/qt/index.html

论坛徽章:
0
30 [报告]
发表于 2005-12-22 21:34 |只看该作者
原帖由 cwmould 于 2005-12-14 11:13 发表
俺前一阵买了一个MOTO E680I(水的,没钱呀), 使用的是嵌入式LINUX,一直停留在看电影听歌看书的应用基础上,最近由于要装主题,必须要使用TELNET,一番探索之后终于成功了,进去一看,HOHO,原来竟然内核为2.4.2 ...

呵呵,终于有人发现了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP