欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    互芯平台GSM软件简明教程.docx

    • 资源ID:9066433       资源大小:1.37MB        全文页数:106页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    互芯平台GSM软件简明教程.docx

    1、互芯平台GSM软件简明教程互芯平台GSM软件简明教程一、 综合1、 如何建立软件开发环境?1.1、从ftp的/Tools/ CSDTK3.5_Cygwin1.5.25_Svn_1.5.4_Full_Setup.rar下载CSDTK,目前版本的CSDTK只支持windows xp和windows 2000平台。CSDTK集成了cygwin环境和一个强大的开发调试工具cooltools,以及一套交叉编译工具链。在安装之前,请检查电脑是否已经安装过cygwin,若是请先将以前安装过的cygwin卸载掉。之后双击CSDTK3.0_Cygwin1.5_Svn_1.5_Full_Setup.exe进行安装

    2、,如下图:注:建议使用专门的ftp软件来下载,例如FileZilla、cuteftp等等。注:第一次建立编译环境,请严格按照文档来配置(包括路径名称,目录结构,大小写等),有很多客户自己乱改名字导致各种问题。对环境熟悉了之后再按照自己的需要定制。选择“Next”,进入下图:这里选择的是CSDTK的安装路径,建议用默认的C:CSDTK,选择“Next”,进入下图:选择“Next”,进入下图:选择“Install”,进行安装。这里安装的是cooltools和交叉编译器,安装完成后会出现如下界面:选择“下一步”,进入下图:选择“下一步”,进入下图:这里选择的是cygwin的安装路径,建议使用默认的C

    3、:CSDTKcygwin。在“Install For”标签里建议选择“All Users”,在“Default Text File Type”标签里必须选择“Unix / binary”。 选择“下一步”,进入下图:这里要选择cygiwn的本地安装包的路径,我们在之前的安装过程中已经将其保存在C:CSDTKcygwin,所以直接选择“下一步”即可,进入下图:这一步是要选择安装的包,直接选择“下一步”,然后选择“安装”。cgywin安装完成后,出现CSDTK的安装完成界面,如下图,说明整个CSDTK已经安装完成。然后下载ftp的/Software Package/Gallite1129_BV_V

    4、1_0_3_20110713_1050/ cooltools_release_1107141450.rar,解压缩后替换C:CSDTKcooltools目录。1.2、从ftp的/Software Package/Gallite1129_BV_V1_0_3_20110713_1050/soft.rar下载源代码,解压源代码,建议放到某个盘(例如d:)的如下目录d:/projects/gallite,目录结构如下图所示,注意有个soft目录。然后从ftp的/Software Package下获取所有的补丁包(以patch_BV1_0_3_xxx形式命名),打上这些补丁。1.3、设置一个HOME的环

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

    6、rt 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:CSDTKcygwinhomeyourname.bashrc,在cygwin窗口依次输入如下命令:$ source /.bashrc$ work gallite若此时显示

    7、“Soft base SOFT_WORKDIR=/cygdrive/d/projects/gallite/soft,Project Switched to gallite”且当前路径切换到/cygdrive/d/projects/gallite/soft,如下图所示,则说明安装成功。以后每次打开新的cygwin窗口进行编译之前,都要先运行这两个命令。注:建议将cygwin窗口的缓冲区高度增大一些,如图:2、 如何编译代码?2.1、正式发布的代码只有一个默认的资源包,位于softapplicationmmi_customer,由于长时间没有维护了,强烈不建议使用。一般来说每个项目都有自己的资源包

    8、,所以要创建一个softapplicationtarget_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最后在softhexgallite_ms11_ap_qqvga_p0_11082

    9、9_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的多占用一些(大概几

    10、十K)ROM和RAM空间。一般来说,开发调试的时候用debug模式,量产软件发布用release模式。CT_TARGET=xxx:设置target。target是互芯平台特有的概念,里面包括某个项目的绝大部分硬件的配置信息和部分的软件配置信息。target位于softtarget下,编译的时候必须用CT_TARGET=指定一个target。CT_USER=ADMIN/FAE:由于发布给客户的代码中stack是库的形式,所以要用CT_USER=FAE;如果有全部的源代码,则可以用CT_USER=ADMIN。一般客户都用CT_USER=FAE。WITHOUT_WERROR=1/x:这个变量指定了对

    11、于编译时产生的警告错误的处理方式,值为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

    12、_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指定的信息

    13、,一个是在手机运行时输入掩码(例如*#36*#)后查看版本信息的时候,会显示CT_PRODUC指定的信息。建议量产软件发布的时候都带PRODUCT信息,便于跟踪软件版本。2.3、其它编译选项的说明CT_USERGEN=yes/no:是否生成文件系统。选择yes后将会生成一个空的文件系统,并集成到最后生成的lod文件中,这样可以加快第一次开机时的开机速度(不必重建文件系统了),同时还会避免一些由于重建文件系统时引入的错误,缺点是如果文件系统过大,会导致下载时间稍长。建议采用CT_USERGEN=yes。WITH_SVN=0/x:是否使用SVN自动生成版本信息。如果你的电脑上没有安装SVN,或者安

    14、装了较高版本的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 C

    15、T_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、调试31、首先要安装usb转串口芯片CP210

    16、2的驱动,该驱动位于misc目录下的CP210x_VCP_Win2K_XP_S2K3(V5.30).zip。然后插入下载线,在设备管理器里面确保可以看到该设备,如下图(可能你看到的串口号和图示的不同)。如果找不到串口设备,请更换电脑的USB口和下载线,或者检查驱动是否正确安装。3.2、运行C:CSDTKcooltoolscoolwatcher.exe,显示如下界面:第一次运行coolwatcher时,需要在Profiles标签里选择Gallite,在lastcomport输入正确的串口号。以后运行coolwatcher时,会使用上次设置的信息。点击Ok,进入如下界面(你的界面可能和下图略有不同

    17、,因为我把不常用的一些标签给关掉了)。如果左边的Ruby Script栏下方显示“COM OPEN OK”,说明串口已经被成功打开了,否则要检查串口号是否正确。点击工具栏的第6个图标,选择要被下载的lod文件。点击工具栏的第7个图标,选择该项目用的flash的ramrun。常用的ramrun位于softtoolpoolpluginsfastpfflash_programmers下,你也可以自己编译ramrun。然后将手机开机。如果手机的flash是第一次下载,则左边Ruby Script栏会输出0xffffffff;如果手机里面已经有正常运行的软件,则Ruby Script栏会输出0xffff

    18、ffff和0x57,可以依次来判断手机和coolwatcher之间的通讯是否正常。点击工具栏的第8个图标,就开始下载,右下角会显示下载的进度条。3.3、抓trace首先要确保编译出含有trace输出的软件。当前由于ROM空间的限制,默认trace输出都是关闭的。打开trace需要编辑相应项目的target.def文件,如下几行:# 31 # trace 设置GLOBAL_EXPORT_FLAG += MMI_NO_TRACEGLOBAL_EXPORT_FLAG += EDRV_NO_TRACEGLOBAL_EXPORT_FLAG += HAL_NO_PRINTFGLOBAL_EXPORT_FL

    19、AG += PAL_NO_TRACEGLOBAL_EXPORT_FLAG += SXS_NO_PRINTFGLOBAL_EXPORT_FLAG += APS_NO_PRINTFGLOBAL_EXPORT_FLAG += ARS_NO_PRINTFGLOBAL_EXPORT_FLAG += SXS_NO_DUMPGLOBAL_EXPORT_FLAG += MCI_NO_TRACEGLOBAL_EXPORT_FLAG += CSW_NO_TRACEGLOBAL_EXPORT_FLAG += CALIB_NO_PRINTFGLOBAL_EXPORT_FLAG += UMSS_NO_PRINTFGLO

    20、BAL_EXPORT_FLAG += UCTLS_NO_PRINTFGLOBAL_EXPORT_FLAG += VOIS_NO_PRINTFGLOBAL_EXPORT_FLAG += STACK_NO_PRINTFGLOBAL_EXPORT_FLAG += RFD_NO_TRACE 例如如果要打开MMI的trace,则修改为:#GLOBAL_EXPORT_FLAG += MMI_NO_TRACE#GLOBAL_EXPORT_FLAG += SXS_NO_PRINTF也就是说,打开任何一个或者几个trace,GLOBAL_EXPORT_FLAG += SXS_NO_PRINTF都要被注释掉。然后

    21、全部重编(将softbuild相应的目录删掉,再编译),这时的软件就是含有trace输出信息的。如果ROM空间不够,可以只保留英文打开coolwatcher的Plugins菜单,选择Activate Trace Tool,右边会出现新的Trace tool标签,如下图:选择图标,可以设置trace level,如下图:点击Apply,将手机开机,点击,就可以输出trace信息了。3.4、上面提到的trace输出是非实时的,系统在空闲的时候输出trace,而且输出的数据量比较大的时候可能会输出不完整。另外有一种更简单的调试手段,使用hal_HstSendEvent()函数输出一个32bit的数据

    22、,这个输出是实时的,也不会被冲掉,输出的数据显示在Ruby Script栏里。事实上上面提到的开机输出的0x57就是调用这个函数输出的。3.5、如果程序遇到异常,debug版本的软件会冻屏。这时连上coolwatcher,点击第5个图标,选择C:CSDTKcooltoolsrbbasecommonpluginsCoolGDBprofilesgallite_xcpu.cgd文件(选择一次即可,以后系统会默认用上次选择的)。然后选择第4个图标,即可进入gdb调试窗口。第一次使用的时候windows防火墙会提示拦截,请放行。常用如下gdb命令,可以用来帮助debug:bt和bt f,输出出现异常的t

    23、ask异常现场的call stack;print或p,输出全局变量的值,如p gIsOnSearchingScreen;其它常用gdb命令请查看gdb手册,在gnu目录下的GDB Quick Reference.pdf。4、 开始一个新项目我们的整个软件由三部分构成:target配置、代码、资源包。一套软件里面,有很多target配置,也有很多资源包,但是只有一套代码。新建一个target,选择一个现有的资源包或新建一个资源包,进行适当的编辑,再和当前的代码一起编译,就会生成一个新的项目的lod。注意:下面提到的gallite若不特意说明指的是CT1129/30/31(8806),不包括CT1

    24、128。4.1、target配置。一个新的项目,第一步是要配置其target。一般来说,我们可以选择一个现有的和新项目硬件配置比较接近的target作为基础,修改成新项目的target。我们在softtarget目录下面可以看到很多目录,每个目录是一个项目的target配置。 target配置分成三个文件 target.def : 主要是配置芯片型号和全局参数 tgt_board_cfg.h : 主要是配置gallite芯片接口和外设 tgt_app_cfg.h : 主要是配置文件系统和内存分配下面我们详细描述一下这几个文件的具体参数的定义4.1.1、target.def详细描述输入资料:原理

    25、图和产品定义 参与人员:原理图设计者、驱动工程师 开始配置target之前,需要问清楚,项目所使用的 FLASH、LCD(模组和 IC 的 SPEC)、Sensor、RF PA、Audio PA、蓝牙等型号,以及支持的SIM卡数等。先看一个模板,我们以gallite_r440_3232为例说明,蓝色部分是源文件内容,黑色部分是我对会经常修改的部分的注释。这里只是贴一个例子,后续对于专门问题会专门讨论:#下面是gallite集成配置,不能随意改动#CT_ASIC ?= galliteCT_ASIC_CFG ?= chip3GPP_MODE ?= gsmROM_TYPE ?= chip#chip

    26、package for different sram size:CT1129/CT1130/CT1131#CT1129: 16Mbit sram#CT1130: 32Mbit sram#CT1131: 64Mbit sramCT_CHIP_PKG ?= CT1130#chip DIE:8805/8806/8808CT_CHIP_DIE ?= 8806CT_ROMULATOR ?= noPM_MODEL ?= rda1203_gallite_CT1129XCV_MODEL ?= xcv_rda6220_gallite_CT1129AD_MODEL ?= codec_gallite#上面是gall

    27、ite芯片集成的配置。根据内置psram和spi flash大小的不同,gallite目前分为CT1129,CT1130和CT1131。根据贴的具体的芯片型号和批次,这里要给CT_CHIP_PKG和CT_CHIP_DIE赋正确的值。其它部分不必修改。注:CT_CHIP_PKG和CT_CHIP_DIE在bv3及以前的版本中不必定义。#触屏驱动 gallite集成,需要则配rda1203_gallite,否则为空#TSD_MODEL ?=#FM驱动 gallite集成,需要则配rda5802e_gallite,特别注意的是若是使用ATV RDA5888S或RDA5888E中集成的FM时,需要配成r

    28、da5888e# FM_MODEL ?= rda5802e_gallite#有的带atv的项目客户对内置fm的效果不满意,要求使用外置fm,这里就需要修改成rda5888e#上面是gallite集成配置,不能随意改动#注意1:除非特别说明,module的名字必须和edrv目录下面的目录名保持一致,#否则编译的时候找不到对应的目标。如果edrv下面没有相关的目录,#说明暂时没有这个设备的驱动,需要驱动工程师自己去开发一个新的驱动,#驱动程序可以根据设备的SPEC参考已有的驱动进行修改。# 1 #RF PA型号 驱动程序在edrv/rfd目录# pa_rda6212 # pa_rda6216 #

    29、pasw_rda6218 # pasw_rda6231 # pasw表示集成PA和Switch# 推荐使用pasw_rda6231 PA_MODEL ?= pasw_rda6231#对于4频的项目,一般会贴6232,但是软件驱动是通用的,这里也配成pasw_rda6231就行了。#Switch型号SW_MODEL ?= # 2 #选择FLASH型号,驱动程序edrv/memd#ADMUX MCP#1 Numonyx M36L0R7050U3ZS 128+32# Numonyx M36L0R7050L3ZS 128+32# Numonyx M36L0R7050T4 128+32# Numonyx

    30、 M36L0R7050T3 128+32# Numonyx M36P0R8060N0ZS 256+64# Numonyx M36W0R6050U4ZS 64+32#2 Spansion S71NS128PB0 128+32# Spansion S71NS256NB0 256+32# Spansion S71NS256PC0 256+64# Spansion S71WS256NC0 256+32# Spansion S71WS256PD0 256+32#3 TOSHIBA TY5701111183KC 128+32# TOSHIBA TY671111184KC 128+64#Normal MCP#1 Samsung K5L6331CAA_D270 64+32# Samsung K5L2731CAA_D770 128+32# Samsung K5J6332CTM-D770 64+32# Samsung K5L3316CAM 32+16#2 TOSHIBA TV00560002EDGB 64+32# TOSHIBA TV00570002ARGQ 128+32#3 EON EN71PL0640B0 64+32# EON EN71GL064B0 64+32# EON EN


    注意事项

    本文(互芯平台GSM软件简明教程.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开