互芯平台GSM软件简明教程(2)

2025-08-03

1.3、设置一个HOME的环境变量,如图:

双击桌面上的cygwin图标运行cygwin,在C:\\CSDTK\\cygwin\\home\\下会创建一个以当前用户名命名的目录(例如为yourname)。将D:\\projects\\gallite\\soft\\env\\win32\\.bashrc和D:\\projects\\gallite\\soft\\env\\win32\\cygenv.sh这两个文件拷贝到该目录下,并用UltraEdit编辑C:\\CSDTK\\cygwin\\home\\yourname\\.bashrc文件(打开时若UltraEdit提示要转换成DOS格式,请选择“否”),将116行: export PROJ_ROOT=/cygdrive/c/projects 替换成:

export PROJ_ROOT=/cygdrive/d/projects 将122行

export PATH=/usr/bin:/crosscompiler/bin:/cooltools/:

替换成 export

PATH=/usr/bin:/crosscompiler/bin:/cygdrive/c/CSDTK/cooltools/:/cygdrive/c/Program\\ Files/Xoreax/IncrediBuild:

保存并关闭C:\\CSDTK\\cygwin\\home\\yourname\\.bashrc,在cygwin窗口依次输入如下命令: $ source ~/.bashrc $ work gallite

若此时显示“Soft base SOFT_WORKDIR=/cygdrive/d/projects/gallite/soft,Project Switched to gallite”且当前路径切换到/cygdrive/d/projects/gallite/soft,如下图所示,则说明安装成功。以后每次打开新的cygwin窗口进行编译之前,都要先运行这两个命令。

注:建议将cygwin窗口的缓冲区高度增大一些,如图:

2、 如何编译代码?

2.1、正式发布的代码只有一个默认的资源包,位于\\soft\\application\\mmi_customer,由于长时间没有维护了,强烈不建议使用。一般来说每个项目都有自己的资源包,所以要创建一个\\soft\\application\\target_res目录,将该项目的资源包放到该目录下,例如我的代码里有如下的资源包:

如果需要特定的资源包,请联系FAE,因为资源包是不在ftp上发布的。然后运行如下命令: $ ctmake -j 8 CT_RELEASE=debug CT_TARGET=gallite_ms11_ap_qqvga_p0 CT_USER=FAE WITHOUT_WERROR=1 CT_OPT=dbg_size CT_RESGEN=yes CT_PRODUCT=110829_MS11_DEV

最后在\\soft\\hex\\gallite_ms11_ap_qqvga_p0_110829_MS11_DEV_debug下会生成如下文件:

说明编译成功。

2.2、编译命令的说明

ctmake:make的封装脚本,主要处理模块化编译、多进程编译和分布式编译,之后会调用系统的make; -j 8:ctmka默认设置为4进程,如果你的电脑速度较快,可以用“-j 8”设置成8个进程。 CT_RELEASE=debug/release:debug和release模式有几个区别,当出现软件原因的异常或者部分硬件原因的跑飞/死机和异常时,debug版本的软件会死循环等待调试工具的命令,直观看到的现象就是冻屏;而release版本的软件则会重启。另外debug版本的软件比releae的多占用一些(大概几十K)ROM和RAM空间。一般来说,开发调试的时候用debug模式,量产软件发布用release模式。

CT_TARGET=xxx:设置target。target是互芯平台特有的概念,里面包括某个项目的绝大部分硬件的配置信息和部分的软件配置信息。target位于\\soft\\target\\下,编译的时候必须用CT_TARGET=指定一个target。

CT_USER=ADMIN/FAE:由于发布给客户的代码中stack是库的形式,所以要用CT_USER=FAE;

如果有全部的源代码,则可以用CT_USER=ADMIN。一般客户都用CT_USER=FAE。 WITHOUT_WERROR=1/x:这个变量指定了对于编译时产生的警告错误的处理方式,值为1则显示警告信息编译继续进行,其它值则警告做错误处理,编译停止。

CT_OPT=dbg/dbg_opt/dbg_size/size/speed:这个变量指定了编译时的优化方式。dbg不开任何优化,只生成调试信息;dbg_opt使用-O2级优化,它会打开不涉及代码尺寸和运行速度权衡的所有优化,同时dbg_opt还会打开-falign-functions=16 -falign-jumps=16来优化运行速度,也会生成调试信息;dbg_size使用-Os级优化,它会优化代码尺寸,类似于-O2,但是将禁止任何为对齐而插入的空间,同时生成调试信息;size类似于dbg_size,只是不生成调试信息;speed类似于dbg_opt,只是不生成调试信息。另外,所有的优化都默认打开了-frename-registers选项。低端平台由于成本因素考虑,对空间的关注大于对速度的关注,所以一般都会在命令行上显式的指定CT_OPT=dbg_size。如果没有显式的指定,则在release时会使用speed,debug时会使用dbg_opt,最后往往会在link的时候由于ROM空间不够而报错。

CT_RESGEN=yes/no:这个变量指定是否编译资源。 CT_PRODUCT=xxx:这个变量影响了两个地方,一个是最后编译生成的路径和文件名字会包含CT_PRODUC指定的信息,一个是在手机运行时输入掩码(例如*#36*#)后查看版本信息的时候,会显示CT_PRODUC指定的信息。建议量产软件发布的时候都带PRODUCT信息,便于跟踪软件版本。

2.3、其它编译选项的说明

CT_USERGEN=yes/no:是否生成文件系统。选择yes后将会生成一个空的文件系统,并集成到最后生成的lod文件中,这样可以加快第一次开机时的开机速度(不必重建文件系统了),同时还会避免一些由于重建文件系统时引入的错误,缺点是如果文件系统过大,会导致下载时间稍长。建议采用CT_USERGEN=yes。

WITH_SVN=0/x:是否使用SVN自动生成版本信息。如果你的电脑上没有安装SVN,或者安装了较高版本的SVN,请指定WITH_SVN=0,否则会产生编译错误。推荐使用1.5.4版本的SVN。如果需要安装SVN server,请参考evn目录下的“SVN安装配置”。

ibuild:分布式编译,请参考env目录下的《互芯平台上使用IncrediBuild进行分布式编译.doc》。注意,建议使用IncrediBuild 3.51或更高版本,因为老版本对cygwin的支持不大好。

dump:反汇编。 :可以在编译命令行的任何地方指定,这样编译时会模块化编译,也就是只编译指定的模块,然后link。这样可以大大的加快编译的速度。一个例子:

$ ctmake -j 8 CT_RELEASE=debug CT_TARGET=gallite_ms11_ap_qqvga_p0 CT_USER=FAE WITHOUT_WERROR=1 CT_OPT=dbg_size CT_RESGEN=yes CT_PRODUCT=110829_MS11_DEV application/coolmmi/mmi/GUI application/coolmmi/mmi/Alarm

注意,模块化编译需要你的make版本为3.81或以上(CSDTK默认安装的是3.81),如果手动的修改为其它低版本会导致模块化编译失效。另外在模块化编译之前要进行过完全编译。

3、 下载、抓trace、调试

3.1、首先要安装usb转串口芯片CP2102的驱动,该驱动位于misc目录下的CP210x_VCP_Win2K_XP_S2K3(V5.30).zip。然后插入下载线,在设备管理器里面确保可以看到该设备,如下图(可能你看到的串口号和图示的不同)。如果找不到串口设备,请更换电

脑的USB口和下载线,或者检查驱动是否正确安装。

C:\\CSDTK\\cooltools\\coolwatcher.exe,显示如下界面:

3.2、运行

第一次运行coolwatcher时,需要在Profiles标签里选择Gallite,在lastcomport输入正确的串口号。以后运行coolwatcher时,会使用上次设置的信息。点击Ok,进入如下界面(你的界面可能和下图略有不同,因为我把不常用的一些标签给关掉了)。如果左边的Ruby Script栏下方显示“[COM OPEN OK]”,说明串口已经被成功打开了,否则要检查串口号是否正确。

点击工具栏的第6个图标

,选择要被下载的lod文件。点击工具栏的第7个图标

,选

择该项目用的flash的ramrun。常用的ramrun位于\\soft\\toolpool\\plugins\\fastpf\\flash_programmers下,你也可以自己编译ramrun。然后将手机开机。如果手机的flash是第一次下载,则左边Ruby Script栏会输出0xffffffff;


互芯平台GSM软件简明教程(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化工厂实习周记

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219