展讯学习笔记1
展讯平台SI仿真总结
展讯平台SI仿真总结由于目前我们展讯平台项目SI仿真通过率低,严重影响我们项目进度,故在此总结出我们以往项目SI仿真经验,为帮助大家在今后的项目中能尽快通过仿真,提高效率,缩短项目周期。
首先一个大原则:能按照展讯给出的PCB DEMO或者我们已仿过的项目走的尽量按照模版摆件和布线。
但仍需注意:1.确认叠层文件是板厂最新叠层文件;2.SC7715平台我们已有的展讯DEMO有问题,目前项目中只有H616,H617,H619是仿真PASS的,请以后参考模版的兄弟注意;3.展讯平台不同于MTK平台,BB与MEM摆件高度差不能像MTK平台拉开过大,否则SI仿真将会非常困难。
摆件环节就要注意(特别是展讯套模MTK项目),不然将会浪费大量的时间,甚至推到重来!根据我们的实践探索:8层板最好不要大于H628,4层板最好不要大于H651。
如果摆件空间有限,请及时提出,与基带,结构的兄弟商讨对策,优先保证高度差在合理范围内。
根据SC7731 PCB GUID ,SI走线基本原则:展讯平台的SI走线不像MTK那样有严格的规则可言,但是通过总结还是可以得出我们仿真经常出问题的地方:1.数据线byte0和byte2间距要拉大一点,尽量完善地回路。
他们相互之间的串扰比较大,已经有好几个项目都提到了这个问题。
2.展讯没有严格要求走线临层错开,但是每次FAIL都会提到,所以我们能错开的还是要错开。
3. 在满足PCB GUID的基本规则的基础上,发出仿真还是经常FAIL,主要原因是串扰和参考地的问题。
所以在发出仿真之前要把相应的地孔和地线都做一下完善。
以7715平台为例,图示的BB内部的地管脚的表层,内层连通性对SI仿真结果影响非常大。
不同的板层和布件,仿真情况可能都有不同,我们还是应该在平时的工作中多积累,多交流,这样才能提高效率,保证项目进度。
展讯 build环境使用手册
展讯 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环境还可以用于编译展讯处理器的内核。
开发人员可以从展讯官方全球信息湾上下载最新的内核代码,并使用展讯提供的配置文件和编译工具链进行内核的编译和定制。
展讯的芯片
展讯的芯片展讯是一家领先的半导体公司,专注于移动通信和物联网芯片的研发和生产。
自公司成立以来,展讯一直致力于提供高性能、低功耗的芯片解决方案,为全球客户提供优质的产品和服务。
展讯的芯片具有多种功能和应用领域。
其中,移动通信芯片是展讯的核心产品之一。
展讯的移动通信芯片依靠先进的技术和设计,实现了高速、低功耗和可靠的无线通信。
这些芯片广泛应用于智能手机、平板电脑、移动路由器等移动设备中,为用户提供快速、便捷的移动通信体验。
除了移动通信芯片,展讯也在物联网领域取得了显著的成就。
物联网芯片是连接各种设备和传感器的核心组件,展讯的物联网芯片通过低功耗、高性能的设计,为物联网设备提供稳定、可靠的连接。
这些芯片广泛应用于智能家居、智能城市、智能工厂等各种物联网场景中,为实现智慧生活和智能化生产提供了重要支持。
展讯的芯片不仅在性能和可靠性方面具有优势,而且在功耗方面也取得了重要突破。
公司通过不断创新和优化技术,成功降低了芯片的功耗,提升了设备的续航能力。
这对于消费者来说意味着更长时间的电池寿命,更低的日常使用成本。
展讯的芯片还具有良好的兼容性和可扩展性。
公司的芯片可以与多种操作系统和软件平台配合使用,为开发者提供更灵活的开发环境和工具。
此外,展讯还积极参与开放标准和产业联盟,与各方合作,推动芯片技术的进步和应用。
展讯的芯片在国内外市场上取得了巨大的成功,并赢得了众多客户的信赖。
公司一直致力于提供高品质的产品和服务,不断满足客户的需求和期望。
展讯的芯片已广泛应用于全球各个领域,为人们的生活和工作带来了便利和福利。
展讯作为一家半导体公司,也意识到对环境保护和可持续发展的重要性。
公司积极采取措施,减少芯片生产过程中的资源消耗和环境污染。
展讯的芯片符合相关的环境保护标准和规定,为客户提供更可持续的解决方案。
展讯的芯片展示了公司在移动通信和物联网领域的领先技术和创新能力。
公司将继续致力于研发和生产高品质、低功耗的芯片产品,推动移动通信和物联网技术的进步和应用。
展讯学习笔记(整理)
创建窗口的步骤:第一步:创建窗口数据表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 环境是为展讯公司开发团队提供的一套集成开发环境,旨在为开发人员提供便捷、高效的开发工具和平台。
本手册将详细介绍展讯 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 等。
您可以根据项目需要进行安装和配置。
展讯芯片定义方法
展讯6600D的CPU 是用RX TX来刷机的,也就是说可以用我们的数据线来刷机,这些主板没有多种,只是改了一个牌子,主板都是一样的,像18脚的尾插来说总共有四种定义,QQ570021528 QQ570021268交流群111480299 制作,所以说这种芯片找定义比较简单。
展讯6600M 6600E 6600R等是用USB刷机的,五根线来定义即VCC,D+,D- ,BOOT ,GND。
D+,D-就是下面测量出来的下载线的D+和D-,电脑USB 口只有四根线,而上面说的刷展讯的是五根,多了一个BOOT(启动脚),我们只需把BOOT接到VCC 或者GND 上面就可以了,USB刷机原理就是这样子的。
VCC和GND 容易找,就是通电池正负极,如果我们的定义找对了,电脑的USB口会发现新硬件,提示装驱动(QQ570021528 QQ570021268交流群111480299 制作),装好了驱动电脑的设备管理器里面会显示端口。
展讯D+ D- 和BOOT的手动定义方法把我们的万能插头插入手机一:首先找出地(GND)和充电脚,量插头板上的点和电池触点负极相通就是地脚,接稳压电源的负极,装好手机电池开机,用稳压电源的正极(可以夹在镊子上)轮流碰插头板上的其它点的同时观察手机屏幕,如果显示充电器已插入或者电池符号跑动的就是充电脚。
现在市面有很多充电器检测仪也是用这种方法找充电脚,也可以用测量电压的方法大概判断充电脚,充电脚的电压有的是0.2V左右,有的量不出电压。
高于这个电压的就不可能是充电脚。
这个就是做充电器的方法,提醒一下:有的后配的充电器在充电过程中会显示充电器接触不良,是充电器的输出功率不够导致这种现象,换5V-500MA的充电器就可以了。
二:测USB启动线和D+ D-线同上方法,通过稳压电源的正极摄子碰插头板上的其它点,当触致手机屏幕上显示手机将进入U盘模式时,这个脚就是U盘启动脚,做好记录,继续往下点触,当手机屏幕再次显示手机将进入U盘模式时再次做好记录,又继续往下触,当手机屏幕第三次提示手机将进入U盘模式时同样作好记录,这时测量完毕。
展讯SDRAM高级教程
Version: 3.2 Date: 2011-07-08
GSM FAE SZ Yongjun.Zang
前言
文档说明
本文档为展讯 SC6800H EMC 及 SDRAM 专题培训资料。
阅读对象
本文档针对于所有 SC6800H 平台驱动工程师及硬件工程师。
1.7.8 tWTR(write to read turn around delay).................................................................................1-20 1.7.9 tREF(Row Refresh Time) .....................................................................................................1-20 1.7.10 tRFC(AUTO REFRESH Command period) .......................................................................1-21 1.7.11 tXSR(exit SELF REFRESH to ACTIVE command time) ..................................................1-21 1.8 SDRAM 的性能分析 .....................................................................................................................1-21 1.8.1 SDRAM 时序对性能的影响 ...............................................................................................1-21 1.8.2 SDRAM 减少延迟的方法 ...................................................................................................1-21
展讯学习笔记
函数1.设置字体颜色#if defined(UI_WATCH_STYLE_128X128BAR)GUIEDIT_SetFontColor(MMISET_SET_DIVERT_NUMBER_CTRL_ID,MMI_BLACK_COLOR);#endif2.显示输入法#if defined(UI_WATCH_STYLE_128X128BAR)GUIEDIT_SetDispImIcon(MMIBT_PIN_EDITBOX_CTRL_ID,&is_display_im,&is_display_num); #endif3.idleHandleIdleMsg(idle入口函数)IdleWin_HandleMsg(idle按键注册)4. MMK_RunWinProc(窗口跟踪函数) MMK_RunCtrlProc(控件跟踪函数)5. MMITHEME_GetMenuProc 菜单回调函数6. MMITHEME_GetCommonMenuTheme设置菜单tiemer7. MMITHEME_GetSecondMenuTheme设置二级菜单的风格数据8.6. MMK_DispatchToHandle mmk消息分配函数7. MMITHEME_GetMenuProc设置各种style风格的控件的回调函数GUIMENU_PROCESS_T结构typedef struct{void (*InitMenu)(GUIMENU_CTRL_T*); //init menuvoid (*DestoryMenu)(GUIMENU_CTRL_T*); //destory menuvoid (*DisplayMenu)(GUIMENU_CTRL_T*); //display menu(必须实现)void (*DisplaySpecialMenu)(GUIMENU_CTRL_T*); //display menu(处理主菜单震动拖选效果)void (*ShowScrollItemStr)(GUIMENU_CTRL_T*); //display scroll item stringMMI_RESULT_E (*HandleMenuUpKey)(GUIMENU_CTRL_T*); //handle menu up key(必须实现)MMI_RESULT_E (*HandleMenuDownKey)(GUIMENU_CTRL_T*); //handle menu down key(必须实现)BOOLEAN (*HandleMenuLeftKey)(GUIMENU_CTRL_T*,MMI_MESSAGE_ID_E); //handle menu left key,return is handle cancel(返回是否需要处理)BOOLEAN (*HandleMenuRightKey)(GUIMENU_CTRL_T*,MMI_MESSAGE_ID_E); //handle menu right key,return is handle ok(返回是否需要处理)BOOLEAN (*HandleMenuNumKey)(uint16,GUIMENU_CTRL_T*); //handle menu number key(返回是否需要处理)void (*HandleMenuTpDown)(GUI_POINT_T*,GUIMENU_CTRL_T*); //handle menu tp down(必须实现)BOOLEAN (*HandleMenuTpUp)(GUI_POINT_T*,GUIMENU_CTRL_T*);//handle menu tp up(必须实现)(返回是否需要处理)void (*HandleMenuTpMove)(GUI_POINT_T*,GUIMENU_CTRL_T*); //handle menu tp move(必须实现)void (*HandleMenuTpScroll)(uint16,GUIMENU_CTRL_T*); //handle menu scroll bar tpvoid (*AdjustFirstAndDisplay)(GUIMENU_CTRL_T*, BOOLEAN); //调整first_item_index索引并重新显示(非主菜单,实现)uint16 (*GetCurItemTop)(GUIMENU_CTRL_T*); //获得当前Item的Top值(POP风格弹出二级时,实现)BOOLEAN (*MoveInit)(GUIMENU_CTRL_T*); //移动信息初始化BOOLEAN (*MoveDestory)(GUIMENU_CTRL_T*); //移动信息销毁BOOLEAN (*HandleMenuOk)(GUIMENU_CTRL_T*, MMI_MESSAGE_ID_E); //handle menu ok(返回mmimenu是否已经处理)MMI_RESULT_E (*HandleMenuTimer)(GUIMENU_CTRL_T*, MMI_MESSAGE_ID_E, DPARAM); //handle menu timerBOOLEAN (*HandleMenuCancelKey)(GUIMENU_CTRL_T*, MMI_MESSAGE_ID_E); //handle menu cancel(返回mmimenu是否已经处理)BOOLEAN (*HandleMenuEndKey)(GUIMENU_CTRL_T*); //handle menu endBOOLEAN (*SearchMenuId)(GUIMENU_CTRL_T*, MMI_MENU_ID_T); // 判断指定的item id是否存在(已无用,可删)void (*HandleMenuModifyRect)(GUIMENU_CTRL_T*); //handle menu modify rect(必须实现)MMI_RESULT_E (*HandleSpecialMsg)(GUIMENU_CTRL_T*, MMI_MESSAGE_ID_E, DPARAM); //display menuvoid (*GetItemPtr)(GUIMENU_CTRL_T*, uint16, uint16, GUIMENU_MAINMENU_INFO_T* ); // 获取指定页指定索引的静态item内容信息(用于主菜单)GUIMENULIST_ITEM_INFO_T* (*GetItemInfoPtr)(GUIMENU_CTRL_T*, uint16, uint16);// 获取指定页指定索引的静态item信息(用于主菜单)uint16 (*GetTotalItemNum)(GUIMENU_CTRL_T*, uint16); // 获取指定页的总item数(用于分页型的风格)uint16 (*GetLineNumPage)(GUIMENU_CTRL_T *); // 获取一个有多少行(非主菜单实现)BOOLEAN (*ResetDisplayItem)(GUIMENU_CTRL_T *, int16*, BOOLEAN); // 修正显示位置,获取相对于现在的偏移量void (*CalculateRect)(GUIMENU_CTRL_T *, uint16); // 计算menu的区域BOOLEAN (*U_SetPageInfo)(GUIMENU_CTRL_T *, uint16, void *); // 设置U动画信息} GUIMENU_PROCESS_T;窗口风格Guimenu控件把一种风格对应的消息处理函数封装成一个结构,开放给应用使用。
展讯芯片手机经验总结解读
展讯芯片手机经验总结第一部分不开机一.对于展讯CPU不开机:主要检查:CPU、字库、中频、26M、32.768晶体1、展讯CPU该芯片集电源和音频在一体,所以特别容易坏,一般会出现大电流不开机、无信号、有信号条打不了电话、定屏、死机等故障2、还有该芯片通常是下载MP3或插错充电器,导致(大电流不开机)短路。
二.展讯芯片一般开机定屏:1.不是软件问题(写错软件)2.一般是硬件问题(有cpu、字库、mp3内存IC).3.大多是mp3内存IC工作不正常会出现定屏。
手机维修行业最权威的专业论坛)三.展讯CPU充电器已连接或自动充电:加焊CPU大多都可以,要不就拆下来植锡重装,再不行就得更换CPU了。
四.展讯芯片出显插卡(非法操作即将关机)的解决办法:1.就是防盗锁(格式最后一兆就OK)2.用软件仪读出密码来解开。
第二部分常见故障一.无信号1、CPU虚焊。
2、字库虚焊。
3、中频。
4、滤波器5、写错资料也会没信号(同样的手机,主板一样,CPU、字库都一样,它的软件不一样,写了也会引起无信号)。
二.不认卡1、卡座的问题2、CPU的故障三.有信号条打不出电话1、CPU虚焊2、字库虚焊3、功放问题四.开机就定屏展讯CPU的经典故障就是一开机就定屏不动,(你写资料,换CPU都不行,加焊MP3内存IC或换个MP3内存IC)。
五.无送话1、送话器2、CPU坏或虚焊六.按键失灵1、按键板2、内联座七.无铃声1、响铃坏2、音频放大管坏3、CPU虚焊4、写错软件八.不认内存卡 1.内存卡座坏一般都是内存卡座坏,或是更换的时候焊接不好,导致不读内存卡.展讯CPU芯片的几个常见故障1:开机定屏:这种机子大多是MP3芯片错乱,用48编程器擦空即可!2:没有MP3芯片手机也会开机定屏请注意!加焊了前板座子有修复了一台(前板上有MP3芯片)3:不开机:电流为30-40摆动,多数为软件,重写资料即可。
4:加电不复位:该芯片的电源集成在CPU里,虚焊容易造成不复位。
展讯平板使用说明
展讯平板使用说明
1、首先将展讯平板电脑充电,按照说明书将数据线充电器连接好,进行充分充电,充电完成后,按平板电脑侧边或底边的开机键进行开机(具体按键位置以不同平板电脑的型号为准)。
2、展讯平板电脑可以根据使用习惯变换使用的角度,主要分为四种使用模式:平板模式,便携模式,绘画模式,笔记本模式。
相应模式需要配备键盘,笔记本保护套,手写笔等。
笔记本根据不同型号可以选择额外购买自己喜欢图案的保护套,屏幕是否需要保护膜需要根据个人的使用习惯进行选择。
有些屏幕不适合屏幕保护膜,但是需要在使用过程中格外注意屏幕,避免划痕,油渍。
3、展讯平板电脑跟笔记本最大的区别在于将厚重的电脑变成类似于一块板一样的轻薄款,并且平板电脑均为触屏,提高了整体使用的便携性和灵敏性。
开机后所有的程序是出厂预先设定的,如需添加个性化程序,需要在连接无线网络的情况下自行下载。
4、连接无线网络,尝试点击设置,进行个性化设置自己的平板电脑。
根据提示,逐一更改屏幕的显示,亮度,是否休眠等。
一般屏幕会有返回的字样,可以触屏点击返回,有些机型会额外在屏幕外框设置返回键或home键,类似于手机,设置完成可以返回。
5、展讯平板电脑整体系统操作类似于笔记本,所以可以很好的运用在工作,学习,娱乐方面。
可以进行收发邮件,编辑文档,拍照,视频,录音,远程聊天,看电影,听音乐,学习课程,玩游戏等。
相应的程序需要触摸屏幕进入,多窗口运行会减慢平板的运行速度,需
要注意关闭程序,减少后台运行。
展讯下载工具使用说明
下载使用说明
1.双击“”启动下载工具,主界面和主要部分描述如下图:
2.点击工具栏最左边的按钮,在弹出的对话框里面选择生产零件Bin目录下的*.pac
文件,该文件包含了所要下载的文件和下载地址。
3.点击工具栏上的按钮,会弹出详细的设置对话框,各个主要部分描述如下:
在上一步选择pac文件后,需要下载的文件会自动设置好;如上图中列表中的各项,上图中除了LCD驱动需要配置外,其他都已经设置好,不需改动,LCD的驱动配置方法请看下一步的详细说明。
4.如果需要下载LCD驱动,则在设置对话框中,在LCD(智能机项目为HWinfo)前面打勾,
并双击后面的文件选择区域,便会出现蓝色箭头所指的按钮,单击这个按钮,选择生产零件目录中LCD目录下的驱动文件。
5.设置好后如下图,点击OK按钮返回主界面。
6.点击主界面工具栏第三个按钮,开始等待手机连接下载,
7.将手机连接好下载线,下载程序检测到手机后,开始下载:
注意:需要将下载线上的开关拨到短接的状态。
8.下载成功:。
展讯android平台基础
展讯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。
展讯基础知识介绍PPT教学课件
WIN_DEF_ID(TEST_WIN_ID,”TEST_WIN_ID”)
窗口/屏幕(续上)
• b.按键注册的区别
LOCAL MMI_RESULT_E HandleTestWinMsg(MMI_WIN_ID_T win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param)
{
static uint8 s_test_timer_id = 0; // 定时器声明,初始化为0。 switch(msg_id) {
在MTK上:
一般使用: SetKeyHandler ( Func_Ptr, KEY_VALUE, KEY_EVENT);来进行按键的注册。其中 第一个参数 Func_Ptr是该按键所调用的函数, KEY_VALUE为该按键的键值,KEY_EVENT为该按 键的事件。
在展讯上:
按键的注册只需要在窗口消息处理函数里加上一个对应的switch消息即可。如注册一个左软键 事件为: LOCAL MMI_RESULT_E // LOCAL == static HandleTestWinMsg(MMI_WIN_ID_T win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param) {
• Control:控件,可以完成某种特定的功能。例如:编辑框, 文本显示框,动画,弹出框等。
1.窗口/屏幕(对比MTK)
• a.框架的区别
1)展讯平台,窗口是仿windows系统的框架,更多的使用消息处理机制,没 有层的概念,显示效果比较单一化。 2)MTK平台,屏幕上有层的特效。
展讯调试工具使用心得
展迅调试工具使用心得辛琦一、简介ChannelServer 和Logel是展讯公司提供的手机实时诊断和测试工具。
ChannelServer提供手机和其他工具之间的数据中转服务。
ChannelServer和手机用串口的方式连接,和其他作为客户端的各种工具之间则用socket的方式连接。
Logel则是ChannelServer的一个客户端,提供获取和按格式输出手机发送的调试信息的服务。
二、ChannelServerChannelServer位于\SC6600D_BASE\Release\Tool_Cust\ChannelServer的bin目录下,而另一个Doc目录下则存放了ChannelServer的用户手册。
Bin目录下有如下的一些文件:ChannelServer系统文件是ChannelServer 运行时需要的文件。
转发的数据日志文件记录了工具和手机之间通讯的数据包:Tool_To_CS.log: 所有从工具发到ChannelServer的消息CS_To_MS.log: 所有从ChannelServer发到MS的消息MS_To_CS.log: 所有从MS发到ChannelServer的消息CS_To_Tool.log: 所有从ChannelServer发到工具的消息运行ChannelServer后,ChannelServer的图标会出现在Windows的托盘区:右键点击该图标后出现菜单:Configure:进入ChannelServer配置界面ChannelServer 使用的端口和MS连接的方式。
和实际硬件只能使用UART选择COM口选择波特率当MS的CPU是Big Endian类型时,应当选中BigEndian选项消息等待处理的超时时间,单位为秒刷新已连接的客户端列表连接到ChannelServer的客户端列表Connect MSSim:连接到MSDisconnect MSSim: 断开和MS的连接MS Asserted: 设置ChannelServer为Assert状态。
展讯trace工具使用方法
展讯trace工具使用(适用于可以开机的环境,否则要用串口线):
1、确保已打开trace宏:
(1)TRACE_INFO_SUPPORT,
(2)PRODUCT_BASELIB_DIR=带trace的库
2.ARMLOG使用:
1、第一步:手机输入#*8378#1#按绿色键,
(1)、para Set->Debug Param->Assert Mode->Debug mode
(2)、para Set->arm log->on->ok
也可直接改NV的BIN文件
或用串口也可打印
3插上数据线(不是下载线!!),选择USB LOG项。
4运行服务:
路径:MS_Code\tools\DEBUG_TOOL\CHANNELSERVER\Bin下ChannelServer.exe
5、运行:MS_Code\tools\DEBUG_TOOL\LOGEL\Bin下的Logel.exe
6、LOGEL工具:
A、工具栏中
选择第一个,连接上服务,然后选择这个图标
(所有的图片都是我连接好后剪切的。
)
B、开始打印trace了,view菜单项下面有很多个窗口,选择trace。
OK了
6、备注:如果说服务连上了,连上了手机的话,右键服务CHANNELSERVER菜单会显示:Connect MSSim 成灰色。
如果说串口没有安装驱动,那么也是连接不上的,那么要插上线,提示让你安装驱动,直接安装就行,USB驱动路径:MS_Code\tools\DEBUG_TOOL\SCIUSB2SERIAL。
展讯入门文档
展讯学习文档一、编译 (2)二、下载 (2)三、抓LOG (5)四、模拟器调试 (7)五、菜单 (8)新添加菜单入口 (8)新添加二级菜单: (9)摄像头切换............................................................................................. 错误!未定义书签。
1)双摄像头(亚力通事例代码): (10)2)、单摄像头 (12)一、编译1、在DOS窗口(cmd.exe)进入到相应工程的 ms_code目录下才能进行编译。
(环境跟MTK一样)。
2、make p=sc66001_sp66011 m=apple id=1注:a,p=sc66001_sp66011 这个是工程的名字,一般工程的名字看主.mak文件如project_sc6600l_sp6601l.mk,然后去掉project_ 就是了,也可以从 build 文件夹下面直接看到。
)b,m=app 这个是模块名字,app 是相应的模块,我们主要的文件如:OEMOS.c,apple_wintab.c都是在这个模块,修改我们文件可以直接编译这个模块,与MTK类似。
具体可以用(make help参考使用说明,下面会列出常用的)c,id=1 这个表示使用分布式编译。
(有时候客户自己写了相应的P处理,编译命令可以自己咨询客户工程师。
)3、Make p= sc66001_sp66011 new (相当于MTK的new)4、Make p= sc66001_sp66011 (相当于MTK reamke)5、make p= sc66001_sp66011 m=resource (相当于MTK resgen 编资源)注:展讯的资源也是一个模块,展讯修改资源的定义跟MTK不一样,你修改菜单文件( mmi_menutable.c )是不用重新编译资源的,展讯菜单文件属于 app 模块,除非你加入或修改了字符串,图片,铃声,字库等资源(如修改apple_mdu_def.h),才需要重新编译资源。
展讯NAND Flash高级教程
内容介绍
本文档包括四个章节,分别为: y 第一章:NAND Flash 工作原理 y 第二章:SC6800H NAND Flash 控制器简介 y 第三章:SC6800H NAND Flash 控制器寄存器介绍 y 第四章:SC6800H NAND Flash 驱动配置及分析 y 第五章:SC6800H NAND Flash 常见问题分析
SC6800H NAND Flash 专题培训
Version: 3.2 Date: 2011-07-08
GSM FAE SZ Yongjun.Zang
前言
文档说明
本文档为展讯 SC6800H NAND Flash 专题培训资料。
阅读对象Biblioteka 本文档针对于所有 SC6800H 平台驱动工程师及硬件工程师。
1-1
1.8.3 Data Input .............................................................................................................................1-19 1.8.4 Data Output...........................................................................................................................1-20 1.9 NAND Flash 常用的软件管理方案 ..............................................................................................1-20 1.9.1 FTL(Flash Translation Layer)...............................................................................................1-21 1.9.2 XSR(eXtended Sector Remapper) ........................................................................................1-21 1.10 NAND Flash 常用的数据管理算法 ............................................................................................1-24 1.10.1 Garbage Collection .............................................................................................................1-24 1.10.2 Wear-Leveling Algorithm ...................................................................................................1-24 1.10.3 Error Correction Code.........................................................................................................1-24 1.11 主要参考文档..............................................................................................................................1-24
展讯平台操作简介
校准操作指南
选择校准加综 测 PROJECT
选择校准频段
测试不通过即 时停止
保存记录
选择非信令测 试
保存位置
选择综测频段
保存配置文件
读SN号
检查版本
选择此项
接收质量
选择此项
串口 串口速度
选择此项
综测仪型号
综测仪地址
选择此项
线损设置
点击此项
电源型号
电源地址
电压大小
版本号
CALIBRATION 测试过程及处理方法
检查主板VBAT/GND、DM/DP,NBOOT 信号是否正常,硬件驱动。
串口调试
PC 9PIN COM对应的 RX TX对应的2,3脚, 在各工位测试用到PC COM口时,发现通讯不 了,可以通过超级终端 来判定,排除是PC COM口有问题,还是 9PIN COM线或者是我 们的展迅下载板不正常, 短路 RX,TX,键盘输入 字符如在超级终端界面 上有对应出现,则说明 该串口是通的,无显示 或乱码则代表不通。
Download下载构架
1. 2. 3.
4.
下载工具介绍 下载工具的作用就是软件版本发布包中的几个文件下载到flash中。 下载工具中可以配置的选项: 端口(port):根据下载线连接的PC机端口设置; 波特率:即设置下载速率。值越大,下载速度越快。但是不能够设置太大 下载文件:FDL即flash引导程序,即软件包中的FDL_*.bin;NV即软件包中的 NVITEM_*.bin;*.pac就是以下PS+RES合并的(PS即软件包中的SW_*.bin;RES即软 件包中的RES_*.bin)。 Erase Flash/FLASH:擦除用户NV区中的数据。用户NV区指的是用户数据保存的区域, 用户数据包括设置数据,例如背光时间设置、铃声设置等等以及保存在手机上的短信、 电话本等
笔记本重要学习笔记
1.VCCRTC:从主板送给桥的3V供电,给桥的RTC供电。
2.RTCRST# SRTCRST#:从主板送给桥的2个3V高电平,RTC电路的复位信号(2.5V以上开始复位,20MS后完成复位)。
3.32.768MHZ:桥旁边的32.768晶振,桥给晶振供电,晶振提供频率给桥。
4.DSWVRMEN:用于开启桥内部的产生1.05V深度待机电压的稳压器。
5.INTVRMEN: 用于开启桥内部的产生1.05V浅睡待机电压的稳压器。
4. VCCDSW3_3:桥的深睡待机电压(Deep sleep well)3.3V,除苹果和Thinkpad新机型外,基本都不支持深度睡眠,此电压与VCCSUS3_3连一起。
5. DPWROK:桥的深度睡眠电压好3.3V,除苹果和Thinkpad新机型外,基本都不支持深度睡眠,此电压与RSMRST#连一起。
6. SLP_SUS#:桥发出的深度睡眠状态指示信号,可用于控制主待机电压(如:VCCSUS3_3)的开启和关闭。
不支持深度睡眠时,SLP_SUS#悬空。
7. V5REF_SUS VCCSUS3_3:桥的主待机供电,5V,3.3V。
8. RSMRST#:桥的主待机电压好,3.3V。
9. SUSCLK:桥发出的32.768KHZ的时钟,但不一定被主板采用。
10. PWRBTN#:桥收到的下降沿触发信号,3.3V-0V-3.3V,通知桥可以退出睡眠状态。
11. SLP_S5#:桥发收到的PWRBTN#后,置高SLP_S5#成3.3V表示退出软关机状态。
12. SLP_S4#:桥置高SLP_S4#成3.3V表示退出休眠状态,用于开启内存供电。
13. SLP_S3#:桥置高SLP_S3#成3.3V表示退出睡眠状态,进入S0开机状态,用于开启桥、总线等供电。
14. SLP_A#:桥发出的主动睡眠电路(Active sleep well,简称ASW)电源开启信号。
此信号时序与SLP_S3#一致,如果主板不支持AMT,SLP_A#悬空不采用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GUI_FillRect(&lcd_dev_info,rect,MMI_WHITE_COLOR);
start_point.x=1;
start_point.y=30;
LCD_DisplayString(&lcd_dev_info,start_point,text_str.wstr_ptr,text_str.wstr_len,0,MMI_BLACK_COLOR,SONG_FONT_16,0);//显示字符串接口
(2)mmi_menutable.def中添加菜单组ID定义
MENU_DEF( MENU_HELLO_TABLE, menu_hello_table, GUIMENU_STYLE_THIRD, TXT_NULL,IMAGE_COMMON_TITLE_BAR, IMAGE_NULL,IMAGE_NULL, GUIMENU_ITEM_NUM(menu_hello_table))
字符串资源的使用:
{
GUI_POINT_T start_point={1,1,};
GUI_RECT_T rect={0,0,239,319};
MMI_STRING_T text_str={0};//定义字符串资源信息
MMIRES_GetText(TXT_HELLO_SPRD,win_id,&text_str);//获取字符串资源信息
WINDOW_TABLE(MMI_HELLO_SPRD_WIN_TAB)=
{
WIN_ID(MMI_HELLO_SPRD_WIN_ID),//窗口ID
WIN_FUNC((uint32)HandleHelloSprdWinMsg), //处理函数
WIN_TITLE(TXT_HELLO_TITLE),//窗口标题
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
{ID_HELLO_TEST2,TIP_NULL,{STXT_OK,TXT_NULL,STXT_RETURN},TXT_HELLO_TEST2,IMAGE_SECMENU_ICON_SET_CALL,0,0,0},
{ID_HELLO_TEST3,TIP_NULL,{STXT_OK,TXT_NULL,STXT_RETURN},TXT_HELLO_TEST2,IMAGE_SECMENU_ICON_SET_CALL,0,0,0},
break;
default:
recode=MMI_RESULT_FALSE;
break;
}
MMI_MESSAGE_ID_E msg_id,
DPARAM param
)
return recode;
}
总结一下一个窗口的创建步骤:
(1)创建窗口TABLE
(2) 注册窗口ID
(3)调用MMK_createWin创建窗口
(4)实现窗口处理函数
关于部分CASE语句的消息定义:
MSG_OPEN_WINDOW:打开窗口
//添加于5月17
#define MENU_DEF(_TABLEID, _ITEMPTR, _STYLE, _TITLESTR, _TITLE_ICON, TITLE_NUMICON, _TITLE_BACKGROUND, \
_ITEMCOUNT) \
_ITEMPTR, _STYLE, _TITLESTR, _TITLE_ICON, _TITLE_NUMICON, _TITLE_BACKGROUND, _ITEMCOUNT,
(3)MMK位于mmk_app.h中
在idle窗口的处理函数里面加case_msg_app_ok里加一句:
MMK_CreateWin((uint32*)MMI_HELLO_SPRD_WIN_TAB,PNULL);
(4)写窗口处理函数,否则是一个空窗口 不会显示。(窗口回调函数)
首先要申明,LOCAL MMI_RESULT_E HandleHelloSprdWinMsg(
{ MMI_RESULT_E recode=MMI_RESULT_TRUE;
switch(msg_id)
{
case MSG_OPEN_WINDOW: //打开窗口的消息
break;
(3){
start_point.x=1;
start_point.y=50;
GUIRES_DisplayImg(&start_point,PNULL,PNULL,win_id,HELLO_SPRD_TEST,&lcd_dev_info);
}
添加菜单资源:
(1)mmi_menutable.c
(3)加入菜单ID
typedef enum//菜单ID
{
ID_HELLO_TEST1,
ID_HELLO_TEST2,
ID_HELLO_TEST3,
ID_HELLO_TOTAL
}MMI_HELLO_MENU_ID_E;
(4) 在mainapp.c里面加入
break;
case MSG_APP_CANCEL: //////2010-05-10
MMK_CloseWin(MMI_HELLO_SPRD_WIN_ID);
break;
case MSG_CLOSE_WINDOW: //关闭窗口消息
}
添加图片资源:
(1)将图片保存于相应模块的MS_Code\MS_MMI\source\resource\mmi_res_240x320\common\MMI_RES_DEFAULT\IMAG\Common
(2)在common_mdu_def.h中添加(注意路径)
RES_ADD_IMG(HELLO_SPRD_TEST,"\\MMI_RES_##\\IMAG\\Common\\HELLO_SPRD_TEST.BMP",IMG_CMP_BMP_16_565_RAW,0)
start_point.x=1;
start_point.y=50;
GUIRES_DisplayImg(&start_point,PNULL,PNULL,win_id,HELLO_SPRD_TEST,&lcd_dev_info);
GUI_POINT_T start_point={1,1};
GUI_RECT_T rect={0,0,239,319}; //全屏区域
MMI_STRING_T text_str={0};
MMIRES_GetText(TXT_HELLO_SPRD,win_id,&text_str);
MSG_GET_FOCUS:窗口获得焦点
MSG_FULL_PAINT:窗口刷新
MSG_LOSE_FOCUS:窗口失去焦点
MSG_CLOSE_WINDOW:关闭窗口
MSG_APP_CANCEL:右键消息(取消或返回)
资源(静态资源和动态资源)
包括:字符串、图片、菜单、字库、声音等。
资源工程定义文件:mmi_res_prj_def.h
case MSG_FULL_PAINT: //刷新窗口消息
{
GUI_LCD_DEV_INFO lcd_dev_info ={GUI_MAIN_LCD_ID,GUI_BLOCK_MAIN};
break;
case MSG_GET_FOCUS: //窗口获得焦点
break;
case MSG_LOSE_FOCUS: //窗口失去焦点
WIN_SOFTKEY(STXT_OK, TXT_NULL, STXT_RETURN),
END_WIN
};
(2)注册窗口ID
暂放于MMI_APP/COMMON/H/mmi_id.def中
WIN_ID_DEF(MMI_HELLO_SPRD_WIN_ID,"MMI_HELLO_SPRD_WIN_ID")
MMI_STRNTOWSTR使ascii转wstr
窗口:
不仅显示内容,而且处理内部消息和发送给该窗口的外部消息。
一个应用程序是由一个或多个窗口构成的。
窗口创建过程(hello sprd):
(1)创建窗口TABLE()
宏 WINDOW_TABLE定义了窗口数据信息表,在window_parse.h
GUI_FILLrect(&lcd_dev_info,rect,MMI_WHITE_COLOR);
LCD_DisplayString(&lcd_dev_info, start_point,text_str.wstr_ptr,
text_str.wstr_len,0,MMI_BLACK_COLOR,SONG_FONT_16,0);
HelloDrawLine();
HelloDrawRect();
HelloFillRect();
}
break;
case MSG_APP_OK:
MMK_CreateWin((uint32*)MMI_TEST_MENU_WIN_TAB,PNULL);
模块资源ID定义文件:例如common模块common_mdu_def.h文件
添加字串资源:
(1)在资源文件夹,打开STR_TABLE.xls
文件末尾处添加(ID,MAXLENGTH,ENGLISH)
(2)打开common_mdu_def.h
添加res_add_string(TXT_HELLO_SPRD,"HELLO SPRD")
const GUIMENU_ITEM_T menu_hello_table[]=