展讯开发指南
- 格式:doc
- 大小:656.50 KB
- 文档页数:16
展讯 build环境使用手册一、介绍1.1 前言在展讯(Exynos)处理器的开发环境中,build环境是非常重要的一环。
为了保证开发工作的顺利进行,展讯提供了一套完整的build环境使用手册,以帮助开发人员快速搭建和使用展讯的开发环境。
1.2 目的本文旨在介绍展讯build环境的搭建和使用方法,以帮助开发人员快速上手展讯处理器的开发工作。
二、环境搭建2.1 硬件要求在搭建展讯build环境前,首先需要满足一定的硬件要求。
建议使用高性能的计算机,配置至少16GB内存和500GB磁盘空间,以保证编译过程的顺利进行。
2.2 软件要求展讯build环境需要使用特定版本的操作系统和编译工具。
目前推荐使用Ubuntu 18.04 LTS操作系统,并安装必要的开发工具和编译器,如gcc、make等。
2.3 下载代码在搭建build环境之前,需要从展讯官方全球信息湾上下载最新的代码库。
开发人员可以通过Git工具将展讯的开发代码库克隆到本地,并根据需要切换到特定的分支或标签。
2.4 编译工具链展讯build环境需要使用特定的ARM交叉编译工具链,用于编译展讯处理器的应用程序和驱动程序。
开发人员可以从展讯官方全球信息湾上下载最新的编译工具链,并按照官方文档进行安装和配置。
2.5 系统配置在搭建build环境后,还需要进行一些系统配置工作,如设置环境变量、安装必要的依赖库等。
展讯官方文档中提供了详细的配置方法,开发人员可以根据文档进行操作。
三、使用方法3.1 编译应用程序一旦搭建好build环境,开发人员就可以开始编译展讯处理器的应用程序了。
通过使用展讯提供的Makefile和编译工具链,开发人员可以很方便地将自己的应用程序编译成可执行文件,并在展讯处理器上运行。
3.2 编译内核除了应用程序外,展讯的build环境还可以用于编译展讯处理器的内核。
开发人员可以从展讯官方全球信息湾上下载最新的内核代码,并使用展讯提供的配置文件和编译工具链进行内核的编译和定制。
L平台Norflash配置指南展讯通信主讲人:Nick.Zhaor e a dt r umC on f id en t ia lL上支持的Norflash类型¾Pagemode Flash¾Burstmode Flash¾ADP Flash¾ADM Flash注意:1. ADM Flash都是Burstmode2. ADM Flash需要配置Strapping Pin3. 手机对Norflash的选型尽量选择Burstmode Flash,因为从Memory对系统提供的性能来看:Burst>Page>Single4. 对Pagemode Flash一定要将其SRAM配置成Pagemode5. Flash只有Burst Read,没有Burst Write。
而SRAM既有Burst Read,也有Burst Write。
6. 由于共用总线的原因,LCM与Flash的供电电压要相同。
S pa d t r umC on f id en t ia lFlash空间划分S pr ea d t r umC on f id en t ia l对NORMCP_ENTITY_T的说明¾NORMCP_SPEC_T是对这款Nor MCP本身属性的描述,与它所应用的平台无关。
¾NORMCP_CONFIG_T是这款Flash在当前平台上应该配置成何种读写模式。
¾NOR_FLASH_CONFIG_T是用来描述Flash 空间应该如何划分。
S pr er e a dt r umC on f id en t ia l如何添加一款新的Flash1.按照Flash SPEC将NORMCP_SPEC_T描述正确。
如果是Pagemode Flash就将其放到Normcp_burst_not_support.c中。
如果是Burstmode Flash,请参照normcp_k5l2833ata_af66.c进行配置。
创建窗口的步骤:第一步:创建窗口数据表WINDOW_TABLE( MMIPB_MAIN_WIN_TAB ) ={WIN_FUNC((uint32)HandleMainWinMsg),WIN_ID( MMIPB_MAIN_WIN_ID ),CREATE_TAB_CTRL(GUI_TAB_ITEM_LEFT,GUITAB_STATE_NONEED_SCROLL|GUITAB_STATE_SINGLE_LINE,MMIPB_SEARCH_LIST_TAB_CTRL_ID),END_WIN};第二步:实现窗口处理函数:LOCAL MMI_RESULT_E HandleMainWinMsg(MMI_WIN_ID_T win_id,MMI_MESSAGE_ID_E msg_id,DPARAM param){MMI_RESULT_E recode = MMI_RESULT_TRUE;switch(msg_id){case MSG_OPEN_WINDOW:break;case MSG_GET_FOCUS:break;case MSG_LOSE_FOCUS:break;case MSG_FULL_PAINT:break;case MSG_CLOSE_WINDOW:break;default:break;}return recode;}第三步:调用MMK_CreateWin创建窗口5,在MS_MMI/source/mmi_app/app目录下添加新模块:修改app.mk文件中的宏:MSRCPATH、MINCPATH、SOURCES6,字库资源放在目录MS_MMI\source\resource\mmi_res_320x480_universe\FONT中7,铃声资源放在目录MS_MMI\source\resource\mmi_res_320x480_universe\RING中8,颜色资源表在目录MS_MMI\source\resource\mmi_res_320x480_universe\color_table.xls 9,开机log在MS_MMI\source\resource\mmi_res_320x480_universe\logo.bmp10,mmi_res_prj_def.h文件中:定义语言信息、定义全局信息、定义皮肤信息、定义模块信息、定义铃声信息、定义字库信息11,在每个模块中,基本上都有一个自己模块的资源ID 头文件,例如common模块的common_mdu_def.h头文件12,mmi_theme.c和mmitheme_xx.c中实现了几乎所有控件的风格。
展讯 build环境使用手册展讯 Build 环境使用手册一、简介展讯 Build 环境是为展讯公司开发团队提供的一套集成开发环境,旨在为开发人员提供便捷、高效的开发工具和平台。
本手册将详细介绍展讯 Build 环境的安装、配置和使用方法。
二、安装1. 下载展讯 Build 环境安装包展讯 Build 环境安装包可以从展讯公司的官方网站下载。
请确保从官方渠道下载,以确保安装包的安全性和完整性。
2. 执行安装程序双击下载的安装包,按照提示一步步进行安装。
建议选择默认安装路径,以便后续操作的顺利进行。
3. 完成安装安装完成后,会在您选择的安装路径下生成展讯 Build 环境的文件夹。
您可以在此文件夹中找到所有的开发工具和相关资源。
三、配置1. 环境变量设置为了能够方便地在任意路径下调用展讯 Build 环境,我们需要对环境变量进行一些配置。
- Windows 系统:右键点击“计算机”或“我的电脑”,选择“属性”->“高级系统设置”->“环境变量”。
在系统变量中找到“Path”,并选择“编辑”。
在弹出的窗口中,将展讯 Build 环境的安装路径添加到“Path”变量的值中,并点击“确定”保存。
- macOS / Linux 系统:在终端中输入以下命令,并将展讯 Build环境的安装路径替换为您的实际路径。
```shellexport PATH=/your/installation/path:$PATH```2. 配置开发工具根据您的开发需求,展讯Build 环境提供了多种开发工具和插件。
您可以根据需要进行安装和配置。
- IDE:展讯 Build 环境支持多种集成开发环境,如 Eclipse、Android Studio 等。
您可以根据个人喜好进行选择和安装。
- SDK:展讯 Build 环境提供了丰富的软件开发工具包,包括Android SDK、Java SDK 等。
您可以根据项目需要进行安装和配置。
展讯平台软件架构介绍展讯平台软件架构介绍Spreadtrum 12/19/20102010-12-19Proprietary and Confidential Information2培训目的对展讯平台软件架构有初步认识对各模块功能有初步概念2010-12-19Proprietary and Confidential Information3Table of Contents软件开发平台框架平台各模块介绍编译开发环境接口使用举例2010-12-19Proprietary and Confidential Information4软件开发平台框架软件开发平台框架软件架构平台提供的features2010-12-19Proprietary and Confidential Information5软件架构Call SMS CBS SS PB Game ….其他应用, e.g. wap,java, MMS,etc.Multimedia Audio/VideoOther applicationATCMMI Kernal/GUIOSA DAL(LCD,KPD,CHR)FS, AUDIO, VIDEO, Multimedia Engines MIDI MP3 MPEG4 H.263 Engines Digital Camera Drivers HAL) Proprietary and Confidential Information MN (Call, CB, SS, SMS, GPRS)Layer 3RTOSDiagnosti csLayer 2Layer 1 62010-12-19平台提供的Features完整的GSM/GPRS通信和数据服务功能. 统一的RTOS的APIs - Thread控制,Timer, Memory Management, Message Queue… 提供完整的TBIOS APIs,能快速的适应硬件和外设的更改。
L平台Norflash配置指南展讯通信主讲人:Nick.Zhaor e a dt r umC on f id en t ia lL上支持的Norflash类型¾Pagemode Flash¾Burstmode Flash¾ADP Flash¾ADM Flash注意:1. ADM Flash都是Burstmode2. ADM Flash需要配置Strapping Pin3. 手机对Norflash的选型尽量选择Burstmode Flash,因为从Memory对系统提供的性能来看:Burst>Page>Single4. 对Pagemode Flash一定要将其SRAM配置成Pagemode5. Flash只有Burst Read,没有Burst Write。
而SRAM既有Burst Read,也有Burst Write。
6. 由于共用总线的原因,LCM与Flash的供电电压要相同。
S pa d t r umC on f id en t ia lFlash空间划分S pr ea d t r umC on f id en t ia l对NORMCP_ENTITY_T的说明¾NORMCP_SPEC_T是对这款Nor MCP本身属性的描述,与它所应用的平台无关。
¾NORMCP_CONFIG_T是这款Flash在当前平台上应该配置成何种读写模式。
¾NOR_FLASH_CONFIG_T是用来描述Flash 空间应该如何划分。
S pr er e a dt r umC on f id en t ia l如何添加一款新的Flash1.按照Flash SPEC将NORMCP_SPEC_T描述正确。
如果是Pagemode Flash就将其放到Normcp_burst_not_support.c中。
如果是Burstmode Flash,请参照normcp_k5l2833ata_af66.c进行配置。
展讯android软件平台基础(for SC8810)目录1.Android基本概念 (2)2.开发环境搭建 (4)安装ubuntu操作系统 (4)设定安装源 (4)安装开发包 (5)展开IDH包 (5)3.代码目录结构 (6)4.编译方法和系统 (7)5.烧录image方法 (8)传统烧录方法 (8)fastboot烧录方法 (8)6.adb (9)7.Log系统 (11)8.Q&A (12)1.Android基本概念Software stack for mobile devices, including operating system, middleware and key applications.2.开发环境搭建安装ubuntu操作系统设定安装源$ sudo vi /etc/apt/sources.listubuntu-10.4:deb /ubuntu/ lucid main multiverse restricted universedeb /ubuntu/ lucid-backports main multiverse restricted universedeb /ubuntu/ lucid-proposed main multiverse restricted universedeb /ubuntu/ lucid-security main multiverse restricted universedeb /ubuntu/ lucid-updates main multiverse restricted universedeb-src /ubuntu/ lucid main multiverse restricted universedeb-src /ubuntu/ lucid-backports main multiverse restricted universe deb-src /ubuntu/ lucid-proposed main multiverse restricted universe deb-src /ubuntu/ lucid-security main multiverse restricted universedeb-src /ubuntu/ lucid-updates main multiverse restricted universe ubuntu-10.10:deb /ubuntu maverick partnerdeb-src /ubuntu maverick partnerdeb /ubuntu maverick maindeb-src /ubuntu maverick maindeb /ubuntu/ maverick main restricted universe multiversedeb /ubuntu/ maverick-backports restricted universe multiversedeb /ubuntu/ maverick-proposed main restricted universe multiverse deb /ubuntu/ maverick-security main restricted universe multiversedeb /ubuntu/ maverick-updates main restricted universe multiversedeb-src /ubuntu/ maverick main restricted universe multiversedeb-src /ubuntu/ maverick-backports main restricted universe multiverse deb-src /ubuntu/ maverick-proposed main restricted universe multiverse deb-src /ubuntu/ maverick-security main restricted universe multiverse deb-src /ubuntu/ maverick-updates main restricted universe multiverse安装开发包更新了安装源之后,需要执行下面的命令安装必要的包$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind eclipse vim ssh git libodbcinstq1c2 odbcinst1debian1展开IDH包3.代码目录结构最外层目录android:-- Makefile (全局的Makefile,里面只包含build/core/main.mk)-- 3rdparty (包含编译脚本,工具,第三方driver, hal, app,binary)-- bionic (bionic C库,bionic含义为仿生,这里面是一些基础的库的源代码)-- bootable (启动引导相关代码)-- build (存放系统编译规则及generic等基础开发包配置、脚本工具)-- cts (Android兼容性测试套件标准)-- dalvik (Dalvik JA VA虚拟机)-- development (应用程序开发相关,需要的模板和工具)-- device (设备厂商的示例文件)-- external (Android使用的一些开源的模组)-- frameworks (核心框架层——java及C++语言)-- hardware (部分厂家开源的硬解适配层HAL代码)-- kernel (Linux内核)-- ndk (一系列工具合集,帮助开发者快速开发C/C++动态库)-- out (编译完成后的代码输出与此目录)-- packages (应用程序包)-- prebuilt (x86和arm架构下预编译的一些资源)-- sdk (Android sdk及模拟器)-- system (Android底层文件系统库、应用及组件——C语言)-- u-boot (Bootloader,引导加载器)-- vendor (厂商定制代码)4.编译方法和系统$ cd 3rdparty/$ ./build.products.sh00). sp8810gaExample:*1* ./build.products.sh sp8810ga2 ./build.products.sh s p8810ga [subcmd]3 jobs=16 ./build.products.sh sp8810ga++++++++++++++++++++++++++ subcmd list ++++++++++++++++++++++++++prebuild [dirname] -- 编译android工程时脚本会将第3方chip的修改动态patch到android工程中lbuild [dirname] [clean] -- 调用第3方build.sh脚本中的function my_local_build函数(主要用来编译ko)nbuild -- 只编译标准androidfprebuild -- 快速build需要的前提配置自动设置,同时完成一次彻底编译(建议使用)fbuild -- 快速build,不编译3rdparty下的ko(一旦repo sync,务必重新执行fprebuild)fbuild2 -- 快速build,在fbuild基础上,再额外编译3rdparty下的文件(建议使用)clean -- 清除第3方对android的所有修改,恢复到原始的android版本,可以认为是unpatch.diff [dirname] -- 比较第3方代码和android标准代码的差异,即生成patchdiff2 [dirname] -- 用beyondcompare比较第3方代码和android标准代码的差异install [dirname] -- 将第3方编译结果安装到out/target/product/xxxx/system/sps*目录install2 [outdir ] -- 将product产品编译结果安装到outdir目录(用来在批量编译产品时完成自动拷贝)ramdisk -- 编译product产品对应的ramdisk.img,将init.3rdparty.rc修改内容添加到ramdisk.imgrecovery -- 编译product产品对应的ramdisk-recovery.img和recovery.img system -- 重新打包system文件夹生成system.imguserdata -- 重新打包data文件夹生成userdata.imgbootimage -- 生成boot.img和linux.bin内核文件bootimage2 -- 先删除.config,然后编译整个内核,最后生成boot.img和linux.bin 内核文件5.烧录image方法编译之后产生的image目录在:Out/target/product/hsdroid/sps.images.sp8810ga/可以看到,idh包编译出来的需要烧录的image是:fdl2.bin, u-boot-spl-16k.bin, u-boot.bin,boot.img, system.img, userdata.img, recovery.img另外,展讯还会release modem image:Vmjaluna.img, DSP.bin, nvitem.bin, Modem.bin传统烧录方法使用research downloader, upgrade downloader, factory downloader, 烧录上面所有的image。
Build环境使用手册Version: 0.2.52010-10-14修订历史重要声明版权声明本文档中的任何内容受《中华人民共和国著作权法》的保护,版权所有© 2006, 展讯通信有限公司,保留所有权利,但注明引用其他方的内容除外。
商标声明本文档中展讯通信有限公司的产品的所有商标是展讯通信有限公司专有,但注明属于其他公司拥有的商标除外。
在提及其他公司及其产品时将使用各自公司所拥有的商标,这种使用的目的仅限于引用。
不作保证声明展讯通信有限公司不对此文档中的任何内容作任何明示或暗示的陈述或保证,而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承担任何责任。
保密声明本文档(包括任何附件)包含的信息是保密信息。
接收人了解其获得的本文档是保密的,除用于规定的目的外不得用于任何目的,也不得将本文档泄露给任何第三方。
目录1说明 (6)2编译环境及相关软件 (7)3Source Code目录结构 (8)4基本编译命令 (10)4.1全新编译整个项目[new] (10)4.2更新项目[update] (11)4.3单独编译模块 (11)4.4清除模块编译结果 (11)4.5清除所有编译结果[cleanall] (11)4.6生成可执行文件 (11)4.7编译FDL/bootloader (11)4.8编译NV (11)4.9编译MMI Resource 文件 (12)4.10编译PC模拟器工程 (12)5其它编译命令 (15)5.1编译Logel工具 (15)5.2pclint 扫描 (15)5.3编译完成net send提醒功能 (15)5.4编译命令的简写 (15)5.5多线程编译 (15)5.6分布式编译 (16)5.7编译出错暂停 (16)5.8生成编译选项 (16)6Makefile 工作流程 (17)6.1重要脚本 (17)6.2Makefile 执行流程 (18)6.3两种编译方式 (19)7模块修改及项目定制 (21)7.1添加或删除模块 (21)7.2修改模块 (21)7.3创建新项目 (22)7.4修改项目Feature Options (23)8第三方编译选项说明 (24)9相关使用技巧 (25)9.1查看log文件 (25)9.2makefile 报错:No rule to make target ` XXX ', needed by `yyy'. (25)9.3makefile 报错:Can't return outside a subroutine at ./make/perl_script/sprd_macro_check.pl line XXX (25)9.4Source Insight和ClearCase配置 (25)9.5鼠标右键命令行快捷方式设置 (28)9.6DOS下输入命令时用Tab键进行命令自动填充 (28)1 说明Build环境中实现了项目开发和维护使用的GNU标准应用脚本,基于这些应用脚本和相关make工具,Build环境可以完成项目全部代码的编译和二进制文件的生成,同时在此环境中可以通过脚本执行的方式产生其他软件以及开发工具,如fdl, bootloader, nv_parameter,resource等。
展讯平台软件调试介绍Spreadtrum7/21/2009培训目的¾能够使用展讯提供的调试工具对开发中的问题进行调试¾能够分析几种常见ASSERT主要内容展讯调试工具简介调试方法展讯调试工具简介主要的调试工具有: ¾Dloader¾NVEditor¾Channel Server¾Logel¾Phone Tester¾DSP Log Dloader(1功能:下载程序设置界面:双击可以选择下载文件路径选择端口选择项目选择下载速率制作打包文件选择是否下载Nand Flash下载配置:大小页选择分区策略选择分区策略¾始终分区¾出现不兼容分区时停止下载¾出现不兼容分区,使用Flash中原有分区进行下载¾出现不兼容分区,使用FDL中的分区方式进行分区注:此配置项只对NAND FLASH有效备份信息配置:将NV保存到本地选择需要保留的信息正在下载:下载成功:下载失败:Dloader(4打包文件特别说明:展讯升级工具中使用打包文件来进行升级操作,打包文件中不仅包含了所有的下载文件,还包含了下载项目的地址信息,这样可以降低产线升级工具配置出错的可能性,同时简化了操作。
打包文件的制作方法:DloadeR 在配置好所有的配置项后,点击左图中的按钮,然后按照提示即可完成打包文件的制作。
点击这个按钮进行打包操作展讯调试工具简介¾Downloader¾NVEditor¾Channel Server¾Logel¾Phone Tester¾DSP Log功能:•对fixed NV参数进行读取,编辑,保存,下载•擦除NV•从手机中读出NV Item修改某项数据:选择菜单[File\save image]保存并生成二进制数据文件:选择菜单[File\Save to phone]直接下载到手机中——手机需要在下载模式如果需要保留校准参数需要选择上获取手机NV数据:选择菜单[File\LoadFromPhone(boot mode]来获取数据在下载模式下从保留区域处获取下载的nvitem数据。
展讯平台socket使用常见疑问解答及接口调用示例1. 请问一次完整的socket通信流程是怎样的呢?完整的socket通信流程主要包括:1)GPRS PDP 激活;2)数据通信(通过 socket 接口收发数据);3)GPRS PDP 去激活;PDP 激活操作类似于给 PC 接上网线,表示将终端连到网络;网络连接成功后,本地应用通过一个或多个 socket 进行通信,来传输数据;而应用使用完毕后,应及时进行 PDP 去激活操作,表示断开终端同网络之前的连接。
2.我应该怎样激活GPRS PDP呢?如果gprs应用采用一个task来实现,方法如下(不含异常处理):1、注册gprs消息。
SCI_RegisterMsg(MN_APP_GPRS_SERVICE,(uint8)EV_MN_APP_SET_PDP_CONTEXT_CNF_F,(uint8)(MAX_MN_APP_GPRS_EVENTS_NUM-1),SCI_NULL);2、发起pdp激活请求。
MNGPRS_SetAndActivePdpContextEx();3、等待接收APP_MN_ACTIVATE_PDP_CONTEXT_CNF。
4、收到APP_MN_ACTIVATE_PDP_CONTEXT_CNF后,如果消息中result值为0,则pdp激活成功了。
5、与网络进行数据通信。
展讯mocor平台gprs应用是在mmi task中实现的,gprs消息已经注册过了。
因此客户基于该平台开发socket通信应用时,无需重新注册gprs消息。
只需发起pdp激活请求后,在相应的应用回调中通过APP_MN_ACTIVATE_PDP_CONTEXT_CNF消息后,判断pdp是否激活就可以了。
3.我怎么才能知道PDP激活成功了?注意:MNGPRS_SetAndActivePdpContextEx 调用成功只是表明 PDP 激活请求发送成功,并不代表PDP已经激活成功。
展讯开发指南samuel.song.bc@1基本情况 (3)1.1市场情况 (3)1.2产品情况 (3)1.3与MTK对比 (4)1Roadmap (4)2硬件 (4)3细节 (5)3.1Internal RAM (5)3.2内存 (5)3.3操作系统 (5)3.4C++ (5)3.5audio (5)3.6Camera (5)3.7Socket部分 (5)3.8MMI (6)3.9调试 (6)2平台 (6)2.1软件版本 (6)2.2中文支持 (7)3编译 (7)3.1添加模块 (7)3.2C++编译 (8)3.3添加资源模块 (9)4GUI (10)4.1窗口 (10)4.2消息 (10)4.3List控件 (10)4.4Lable控件 (11)5资源 (12)5.1应用程序 (12)5.2图片资源 (12)5.3字符串资源 (12)5.4窗口ID (13)5.5添加菜单 (13)6调试 (14)6.1消息 (14)7模拟器 (14)8电话簿 (15)9窗口模板 (15)好好学习,天天向上。
1基本情况1.1 市场情况2011-8-3:展讯和MTK,MStar都在搞类智能机的概念,去年炒Android版本的千元智能机,中兴和华为做的还不错,但是山寨搞的并不好,MTK的6516基本没有做起来。
所以他们提出了类智能机的概念,或者叫做PDA,成本可以控制在300RMB,且效果很好,展讯的6800+WRE 就是这个模式,对农民工兄弟,似乎可以以假乱真Android了。
MTK对应的是35/36,MStar 的是33C1/33N。
2011-7-29:目前展讯的主力产品是66xx系列,6600l的潜力已经被挖掘殆尽,再做下去也赚不到钱。
6610/20还没有冲量,他们本身就是6600l的costdown产品,所以6620的担子很重,如果做不起来,今年展讯的业绩会很难看。
6800H只是过渡产品,为未来的6810铺路,6800H存在的意义在于便于6810快速切入,展讯的未来基本上都压在6810上了。
6810今年必须出来!2011-01-11:占据国内25%的Feature phone市场份额,主打是6600L,2个多美金,与之对应的是MTK的53平台(3.5美金开始降价)。
出货手机国内和国外市场大概是6/4开。
国内比较大的方案公司是闻泰和天宇。
1.2 产品情况打算内置一些重要应用,包括:JavaQQCStar输入法全浏览浏览器(爱可信(ACCESS)),TTS(Text To Speech)其中的全浏览目前主要在8800上实现。
UCWeb目前是Java版本的。
目前在主推自己开发的中间件平台-WRE,打算6月份量产。
1.3 与MTK对比1Roadmap展讯基带芯片的演进如下6600L是基于arm7的armv4的一个芯片,比MTK6225的armv5的arm7要低一个档次前者是三级pipeline, 后者是五级pipeline6600D→6600M→6600R(相对高端)→6600H(相对低端)→进一步cost down 6600L,但对多媒体支持有提升此外还有一个6800的芯片,arm9,失败也就是目前,只有6600L在撑场面2硬件目前市场主流应用为6600L,存储器配置为nor flash 128x32,以及少量的nand flash。
Design house的常用软件配置未知(08A,08B?)cpu设计主频96M?,但只能工作在78M(13x6),因为受外围的nor flash速度拖累,如果使用nand flash可全频率工作。
MTK6225主频104M,有cache,且internal ram等片上资源较mtk丰富6600L没有cache6600L片上资源,硬件特性不明需进一步了解3细节3.1Internal RAM内部内存,总共可用空间为0x3800,14k bytes非常小,看目前的情况,常用来放critical task 的栈和队列。
估计我们也需要这么使用。
3.2内存大约有1M多,情况估计比MTK略好,但内存使用的冲突估计同样存在,需要事先考虑。
3.3操作系统RTOS采用threadX,和MTK的nucleus无大的差别,可动态创建线程3.4C++展讯平台不支持C++源文件编译,如果是C++源文件,建议用ADS编译成静态库。
3.5audio简单看了下,接口简洁支持AMR播放仅支持ADPCM录音,3.6Camera目前展讯已提供相应接口,可获取jpeg,yuv422,rgb565格式的数据,是否需要yuv420,省得还要转换3.7Socket部分标准的unix socket形式,和mtk不太一样,MTK平台提供了一层抽象,使应用程序可以使用异步消息机制使用网络,而展讯没有做这层抽象,只提供了同步的select等机制,需要应用程序自己封装异步机制。
3.8MMI类似于一个退化的windows概念,结构清晰,可快速开发3.9调试调试工具使用和MTK无大的差别模拟器上网需验证?2平台8800:3G的TD方案6800:ARM9-200M6600L:ARM7-78M其中8800是3G解决方案,TD-SCDMA的,软件版本是09B分支。
其中6800目前是版本是D,2月份打算上H版,主要竞争对手是MTK的35和36,属于中高端系列,.软件代码是10A分支。
其中的6600L是低端版本,主频78M,软件版本是09A,现在是6600L2,到6600L6会将主频升至104MHz,6600L7是3卡3待的产品,在印度和印尼这样运营商众多的国家很有市场,MTK也在跟进。
2.1 软件版本W09.37,P3W09.37,P6W10.25W11.09 C8(2011.5.3)quasim:3卡/4卡?2.2 中文支持MULTI_LAN_SUPPORT = CSTAR ### Multi Language Support: 金拇指为展讯平台提供了中文支持和多语言支持。
3编译编译选项:CFLAGS = -cpu ARM7TDMI -O2 -bi -g+ -apcs /interwork/ -fy -D_RTOS -D_DEBUG -Ec -WallAFLAGS = -cpu ARM7TDMI -keep -bi -g -apcs /shlclient/interwork/编译选项的设置在Makefile.rules里面定义。
编译bin:make p=sc6600l_sp6601l new编译模拟器:make p= sc6600l_sp6601l m=simulator生成的dsw工程文件在build下面的win下面,需要用VC6来打开。
3.1 添加模块在make目录下,添加模块的makefile,(参考已有的格式)例如要添加xx模块,在make文件夹下创建xx目录,里面添加xx.mk即可。
在总的project_sc6600l_sp6601l.mk中,先添加总的开关:BAIDU_IME_SUPPORT = TRUE ### BAIDU_IME_SUPPORT:# Option1:TRUE# Option2:FALSE注意:# Feature Options (For User)在Makefile.third-party中添加外部库引用##============== baidu start ===================ifeq ($(strip $(BAIDU_IME_SUPPORT)), TRUE)ifeq ($(strip $(STACK_CHECK_SUPPORT)), TRUE)3RD_LIBS +=MS_MMI/source/mmi_app/app/im/baidu_ime/lib/baidu_works_arm7_bi.lib3RD_LIBS +=MS_MMI/source/mmi_app/app/im/baidu_ime/lib/libbicore_arm7_bi.libelse3RD_LIBS +=MS_MMI/source/mmi_app/app/im/baidu_ime/lib/baidu_works_arm7_bi_swst.lib 3RD_LIBS +=MS_MMI/source/mmi_app/app/im/baidu_ime/lib/libbicore_arm7_bi_swst.lib endifendif##============== baidu end ===================在Makefile中添加编译模块##============== baidu start =================ifeq ($(strip $(BAIDU_IME_SUPPORT)), TRUE)COMPLIBS_DBG += baidu_imeendif##============== baidu end ===================注意位置:Segment: COMPLIBS注意:如果出现了宏定义和sprd_macro.txt里面的定义不匹配的问题,需要注意添加的位置。
3.2 C++编译不支持C++源文件在系统里面编译,必须是C文件。
晕死。
3.3 添加资源模块在make文件夹下面的resource,有资源的makefile,在SOURCES中添加模块的资源头文件,命名规则为moduleName下划线mdu_def.h。
然后在SRCPATH中添加路径ifeq ($(strip $(BAIDU_IME_SUPPORT)), TRUE)SOURCES += baidu_ime_mdu_def.hSRCPATH += MS_MMI/source/mmi_app/app/im/baidu_ime/incendif模块的资源文件是通过该makefile下面的命令拷贝到最后build文件夹中的,脚本会在build\sc6600l_sp6601l_builddir下面创建res文件夹,为每个在makefile里面单独编译的module创建一个文件夹,例如baidu_ime,然后把baidu_ime_mdu_def.h拷贝到这个里面。
这样,在mmi_res_prj_def里面添加module的路径就是://start baidu code#if defined(BAIDU_IME_SUPPORT)RES_ADD_MODULE(MMI_MODULE_BAIDU_IME, "\\baidu_ime\\baidu_ime_mdu_def.h")#endif //BAIDU_IME_SUPPORT//end baidu code这是在build下面的临时路径,而不是这个文件真正的路径。