E8开发环境搭建

来源:互联网 发布:移动网络电视维修电话 编辑:程序博客网 时间:2024/04/30 10:25

 

1、搭建交叉编译环境

 

https://opensource.motorola.com/sf/sfmain/do/home是有交叉编译工具链源码的(X86_Targeted_Toolchain_Source.tgz),不过目前编译好的只有linux环境下的(e8-gcc.tar.lzma),所以我使用的开发环境是Vmware+Ubuntu 9.04,下载下来解压到任意目录下,这里我解压到/LinuxDev/work/phone/moto/e8/toolchain目录下。

 

为方便调用,写了一个脚本cross.sh:

 

 

2、SDK开发环境

 

指的是motorola封装的QT图形库以及一些系统API的开发包,下载下面几个包即可:

E8SDK_by_ilove3d.tar.gz                      --- 1.0版开发包

E8 EZX SDK v1.1 by tulanix.zip              --- 1.1版开发包,修复了1.0版本的一些错误

bin和tmakelib目录                                   --- 1.1版本的SDK中不带这两个目录,可以从1.0版本中复制过来

E8-lib.tar.bz2                                         --- 库文件,也可以从手机复制出来,不过不同的软件版本库文件有所不同,可能不通用

ilove3d_ezxSample_zn5_e8.tar.gz        --- 示例代码

 

这里我把SDK放在/LinuxDev/work/phone/moto/e8/sdk/e8_ezx_sdk-1.1.0目录下,这个目录即是${QTDIR}。下载的那个E8-lib包整的不好,很多链接都变成真实文件了,大概是没有在手机中打包出来,将示例代码解压出来的ezxSample目录放到${QTDIR}/test路径下,按照下面的方法进行编译。

 

其中修改了一些文件:

${QTDIR}/env.sh

 

${TMAKEPATH}/tmake.conf

第一次不修改此文件编译通过了,但是第二天再编译不知怎的就老是出现动态链接库(liblm.so等)找不到的错误,${QTDIR}/lib目录下是存在这个文件的,并且也将这个目录加到库文件的搜索路径中了,设置了LIBRARY_PATH、LD_LIBRARY_PATH等环境变量都没有用,将库文件复制到toolchain的lib目录下则可以找到。后来google了一下,链接时强制设置一下rpath就OK了。

 

增加以下文件:

${QTDIR}/make.sh

 

${QTDIR}/test/ezxSample/build.sh

 

编译ezxSample:

 

(1) 进入E8_EZX_SDK_v1.1所在目录,执行:

     . env.sh

(2) 进入ezxSample目录,执行:

     ./build.sh

 

不过把编译出来的elf放到手机上不能运行了,执行出错,后来发现是FTP上传elf文件传输不全,几十KB的文件到了手机上就只有几百字节了,难怪运行出错,索性直接拷贝了一个现成的mgx,将编译出来的ezxSample替换进去重新打包成mgx,再用FTP上传到手机中安装,在MagicBox中运行成功。

 

原创粉丝点击