Linux手机DIY.夏新E600和飞利浦968移植软件的开始
草木瓜 2006-10-29
一、序
不过几天的时间,我们已经能获取夏新E600和飞利浦968的大量内部信息,
我曾经考虑过先实现telnet,不过现在我觉得还是应该加快移植第三方软件的
步伐了,因为所有的条件都已成熟!
二、重要提示
为了方便更好的理解本文,提供下面链结。
全系列的文章地址,手机应用开发专栏:http://blog.csdn.net/liwei_cmg
相关的重要成果的下载地址:http://play.younet.com/view.php?tid=24045
三、目前的契机
自从被搞搞震提示,做出_run.prg这个安装包以来,shell研究测试效率是
大大提高了,随意更改shell.txt便能快速运行相应的shell命令。
另外,在安装包专题一文中,曾经提到Install.conf的问题,经过多天来的
综合考虑,觉得去破译那一堆数字,实在不是聪明的方法!何况安装多个应用软
件的方法,已经于28晚与搞搞震测试成功。
下面是详细方法:
1.准备softtest.desktop文件,这个文件是在菜单显示图标用的。内容如下:
[Desktop Entry]
Comment=softtest
Exec=softtest
Icon=common/menu/C8000_menu_user_define_Games.png
Type=Application
Name=softtest
Name[en]=softtest
Name[zh_CN]=测试
Name[zh_TW]=测试
2.准备softtest的可执行文件或shell脚本。内容如下:
#!/bin/sh
echo 'DIY E600' > /mnt/sd/diy.txt
3.把上面两个文件复制到SD卡上,并将shell.txt,改为如下内容,即复制
两个文件到相应目录:
#!/bin/sh
cp /mnt/sd/softtest.desktop /mnt/user/cec/apps/6Self-Defined/.
cp /mnt/sd/softtest /mnt/doc/cec_local/bin/.
4.运行菜单中的qnes,重启,就会看到新图标了,运行测试图标,即会在
SD卡根目录建立文件!
以上的方法完全抛开了Install.conf的束缚,装多少个应用软件现在都不
是问题了,未来猜测可以将系统进程winmgr(可用ps -ef查看)kill掉再启动,
这样就不需要重启机器了。
四.目前移植软件的成果
关于上篇文章移植968的qnes模拟器,希望有DX实际完成一下。
这几天我与新号码和长鸿小叶对移植第三方软件也做了一些测试,成果如下:
1.我使用手里可用的交叉编译工具(ARM,Linux 2.4.3)版本编译的一个命令
行程序,发现完全能在E600上成功运行!结果显示和E680G完全一致。(交叉编译
方面知识可以参看E680G的开发系列,已经说得比较清楚了。)这完全解除了先前
我的疑虑,不能不说是一个惊人的好消息!
关键脚本(1,2是重定向输出和错误)
/mnt/sd/hello 1>ok.txt 2>error.txt
源代码
#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;
}
输出
Hello!My E680!
TestValue:4.700000
2.我使用E680的一些现有qt程序,ezx程序,发现均不能在E600上成功运行,
错误提示如下:Inconsistency detected by ld.so: dynamic-link.h: 62:
elf_get_dynamic_info: Assertion `! "bad dynamic tag"' failed!显然是最后
最后链结动态库文件执行时,出现不兼容的代码。最后再让小叶测试时,我忽然想
起,E600的qte版本是2.3.8,而我编译的是qte 2.3.10,高版本让低版本运行时,
这是比较正常的错误,不过是否是这个原因,还需要做进一步证实。