精华内容
下载资源
问答
  • 我们的手机视频直播软件升级,更新一批全新功能体验。 一、守护功能 1、用户在直播间内可为主播开通守护,守护分为7天、1个月和全年三种; 2、守护拥有四种特权; (1)身份标识:聊天区域显示守护图标; (2)...

    发展到今天,手机视频直播软件市场趋于稳定,直播软件朝向多元化、精细化方向发展。针对于不同细分领域直播软件的功能也越来越多样化,直播软件发展至今,有哪些功能是令人难以抗拒的呢?我们的手机视频直播软件升级,更新一批全新功能体验。

    一、守护功能

    1、用户在直播间内可为主播开通守护,守护分为7天、1个月和全年三种;

    2、守护拥有四种特权;

    (1)身份标识:聊天区域显示守护图标;

    (2)进场特效:拥有进场金光以及专属欢迎语(改版后,只有会员和守护才

    有进场特效,去除了超过一定等级就会有金光一闪的功能);

    (3)专属礼物:添加只有当前直播间守护用户才可以送出的礼物;

    (4)尊贵特权:防止除主播外的其他人踢出禁言;

    3、7天和1个月的守护只有前两种特权,全年的有四种特权;

    4、在主播的个人主页可以看到当前主播的守护列表。

    二、主播连麦及礼物pk功能

    1、添加主播连麦功能,主播在直播间中打开在线主播列表,选择某个主播可进行连麦(也可以对当前列表进行搜索),被邀请的主播会收到通知,接受后则会开启连麦;

    2、开启连麦的两个主播可发起礼物pk邀请,礼物pk结果按照pk期间收到的礼物的总价值进行判定。

    三、添加直播间红包功能

    1、直播间添加红包功能,主播和用户都可以发放;

    2、发放红包时需要设置红包类型(平均还是手气红包)、发放类型(延时还是立即发放)以及红包金额和个数;

    3、发出红包后在直播间左上角会显示图标同时在聊天区域会有红包提示;

    4、后台设置当红包金额超过多少是,会发送全站通知。

    虽说现在通过直播APP源码可以非常轻松地搭建个手机视频直播软件,但是要包含如此多的让主播和观众难以抗拒的特色功能,市面上这类的直播APP源码可是少之又少,很多功能都是需要进行单独定制开发的,这对于现在想要进入直播系统行业的投资者来讲,无形中增加了开发成本,很多投资者考虑到现在直播系统行业的整体环境都会望而却步。但不得不承认,这些功能对于我们的手机视频直播软件来讲确实是十分必要的。

    展开全文
  • 本发明涉及软件的安全升级技术,提供一种保证升级软件合法性、完整性的软件升级包封装方法以及软件升级方法。本发明在终端设备中预置可信任的认证机构的数字证书或者利用服务器来确认可信任的认证机构;认证机构对...

    名称:

    软件更新包封装方法以及软件升级方法

    摘要:

    本发明涉及软件的安全升级技术,提供一种保证升级软件合法性、完整性的软件升级包封装方法以及软件升级方法。本发明在终端设备中预置可信任的认证机构的数字证书或者利用服务器来确认可信任的认证机构;认证机构对软件分别进行数字签名,并将原始的明文软件和所有的数字签名、数字证书一起发送给终端设备;终端设备验证所有的数字证书是否合法,并判断软件的升级必须要哪几个认证机构共同进行,如果条件都成立,则验证所有的数字签名,验证完成后,进行软件升级。本发明通过各认证机构的数字证书验证软件升级包的合法性,通过各认证机构的数字签名验证软件升级包的完整性,经过多方参与的对软件进行共同签名,保证了软件的安全升级。

    权利要求:

    1.【权利要求1】软件升级包封装方法,其特征在于,包括以下步骤:a、软件升级包发行商确定需要对升级软件包进行验证的多个认证机构;b、升级软件明文经哈希运算后得到的信息摘要经多个认证机构的私钥分别进行加密,得到各认证机构的数字签名;c、软件升级包发行商将软件明文、各认证机构的数字签名和各认证机构的数字证书重新组合为软件升级包发送至终端设备。

    2.如权利要求l所述软件升级包封装方法,其特征在于,所述认证机 构包括软件升级包发行商、软件开发商、服务运营商、终端设备生产商。

    3.软件升级方法,其特征在于,包括以下步骤:a、 确定需要对升级软件包进行验证的多个认证机构;b、 终端设备接收到软件升级包进行分解,分解为软件明文、各认证机构的数字签名、 各认证机构的数字证书;c、 终端设备验证各认证机构的数字证书是否全部合法,如是,进入步骤d;如否,不 执行升级程序;d、 终端设备采用各认证机构的公钥对数字签名进行验证,判断数字签名是否全部合法 ,如是执行升级程序;如否,不执行升级程序。

    4.如权利要求3所述软件升级方法,其特征在于,步骤a中,终端设 备获取各认证机构的数字证书,并根据各认证机构的数字证书建立信任证书列表;步骤c中,终端设备通过査找本地的信任证书列表,判断各认证机构的数字证书是否都 在信任证书列表中,如是,各认证机构的数字证书全部合法;否则,不合法。

    5.如权利要求3所述软件升级方法,其特征在于,步骤c中,终端设 备将各认证机构的数字证书发送至指定的第三方权威机构进行验证,判断各认证机构的数字 证书是否均验证通过,如是,各认证机构的数字证书全部合法;否则,不合法。

    6.如权利要求3、 4或5所述软件升级方法,其特征在于,所述认证机构包括软件升级包发行商、软件开发商、服务运营商、终端设备生产商。

    说明

    软件升级包封装方法以及软件升级方法

    技术领域

    本发明涉及软件的安全升级技术。 背景技术

    作为一种特殊的产品,与纯的硬件相比,软件具有明显的特点:硬件产品如果出了问题 或者功能不完善,可能需要进行修理、增加模块甚至全部更换,软件作为一个依附于硬件平 台的产品,如果出了类似问题则只需要进行简单的升级即可以解决。软件由于系统的复杂性 、设计的不完善、增加功能或者开发人员的疏忽等,需要更新的可能则更大.比如,微软的操 作系统不停的发现BUG, 一个XP的操作系统到目前为止,可能已经有了几百甚至上千个补丁。 甚至,有的厂家可能为了赶进度、抢占市场,将软件功能并未全部完善的产品发布出去,然 后通过升级的方式为用户增加新的功能。可见,升级是软件非常平常的操作。

    软件的升级可以分为两类:(1)软件版本升级;(2)原始版本软件功能完善,如软件 补丁或者改变、增加功能或者模块。软件的版本升级指的是新的软件和原始软件的功能等发 生了非常显现或者重大的变化,而软件功能的完善则是在原有软件的基础上,由于某种安全 或者不稳定等原因,增加或者改变原有的部分功能模块,软件的功能不发生重大的变化。比 如对于常用杀毒软件,病毒库的升级就是后一重情况,而杀毒软件本身的升级则是第一类。

    在PC机上,最常见的升级方式就是到某个网站去下载软件的升级程序,下载或者购买软 件的高级版本;也可以由软件通过网络,自动到相应的网站下载升级。

    而对于数码设备、数字电视、数字电视机顶盒、IPTV机顶盒、手机等软件的升级,则没 有这么简单。这些设备的软件升级则比较复杂。比如,对于某些数码播放设备,软件的升级 需要用户到指定维修商去升级或者到相应网站下载相关程序,然后使用数据线连接,使用专 用软件进行升级操作。对于IPTV终端,由于IPTV本身支持双向,并向某个网站发起服务,因 此可以由终端自身完成升级操作。而对于数字电视和数字电视机顶盒,由于这些终端主要使 用在广播网络中,程序的升级一般只有专业人员手动升级,或者利用数字电视广播信道,采 用空中升级的方式进行升级,即广播服务器前端将要升级的软件封装为与数字电视节目类似 的码流,并作好标记,并通过数据播出服务器向全广播网络播出,并通过条件接收系统等通 知机顶盒到指定的频点过滤取出相关码流并还原为升级文件,然后进行机顶盒软件升级。

    不管采用什么方式获得升级文件然后再怎么进行升级,以上升级方式最大的缺点就是存在安全性问题。对于一般的软件而言,终端用户无法知道所获得的软件是否就是软件发行商 提供的软件,这些软件有没有感染病毒、被修改或者被添加了间谍模块,这些对用户的系统 安全造成了极大的威胁。比如目前常用的Winnap以及暴风影音的音视频播放软件,被绑了很 多的广告插件。Wi皿ap以及暴风影音等, 一般都是基于开源的程序,程序本身免费,但是在 网络上, 一般都被广告商采用软件打包的方式(比如安装程序制作工具),与广告或者其它 软件作成了一个软件升级包。由于用户无法确定软件是否只有自己想安装的部分,是否是自 己需要安装的部分,因此用户一旦安装,将在自己的电脑上安装许多的间谍软件和广告软件 ,并且很多没有办法下载,给用户系统的安全性、稳定性、系统的性能造成很大危害,而这 些问题目前的杀毒软件并不能有效解决。

    对于涉及到安全的软件,比如网上银行,客户端的软件除了软件开发商本身要保证本软 件是自己发行的原始软件外,银行还必须保证这个软件是自己认证过的软件,开发商没有作 手脚,以保证用户数据的安全。在IPTV和数字电视等涉及到收费营运的领域,也需要软件 开发商和营运商共同保证软件的合法性、有效性和完整性,以有效保护用户的安全、保证营 运商的安全。

    目前,现有的软件升级过程, 一般是采用直接升级的方式,特别是在机顶盒等数码产品 上,在升级软件进行封装时根本没有经过签名,没有考虑到软件的完整性,也没有考虑多家 对软件提供认证的问题。本发明将数字签名技术引入软件的安全升级过程,有效保证了软件 的安全升级。

    发明内容

    本发明所要解决的技术问题是,提供一种保证升级软件合法性、完整性的软件升级包封 装方法以及软件升级方法。

    本发明为解决上述技术问题所才的技术方案是,软件升级包封装方法,包括以下步骤:

    a、 软件升级包发行商确定需要对升级软件包进行验证的多个认证机构;

    b、 升级软件明文经哈希运算后得到的信息摘要经多个认证机构的私钥分别进行加密, 得到各认证机构的数字签名;

    c、 软件升级包发行商将软件明文、各认证机构的数字签名和各认证机构的数字证书重 新组合为软件升级包发送至终端设备。

    软件升级方法,包括以下步骤:

    a、 确定需要对升级软件包进行验证的多个认证机构;

    b、 终端设备接收到软件升级包进行分解,分解为软件明文、各认证机构的数字签名、各认证机构的数字证书;

    C、终端设备验证各认证机构的数字证书是否全部合法,如是,进入步骤d;如否,不执

    行升级程序;

    e、终端设备采用各认证机构的公钥对数字签名进行验证,判断数字签名是否全部合法 ,如是执行升级程序;如否,不执行升级程序。

    所述认证机构包括软件升级包发行商、软件开发商、服务运营商、终端设备生产商。

    采用了本发明的软件升级包封装方法以及对应的升级方法, 一旦添加了第三方的东西, 则签名验证无法通过,可以立即发现该程序不是原始程序。数字签名的基础就是杂凑算法, 也就是对整个程序进行摘要运算, 一旦程序被修改,则修改后的程序再次取杂凑运算,得到 的值和签名时的值不相同。

    本发明的有益效果是,通过各认证机构的数字证书验证软件升级包的合法性,通过各认 证机构的数字签名验证软件升级包的完整性,经过多方参与的对软件进行共同签名,保证了 软件的安全升级。

    具体实施方式

    本发明的实现主要分为以下3个部分: (1 )在终端设备中预置可信任的认证机构的数字证书或者利用服务器来确认可信任的 认证机构;

    (2) 认证机构(包括软件发行商或者多个第三方组织)对软件分别进行数字签名,并 将原始的明文软件和所有的数字签名、数字证书一起发送给终端设备;

    (3) 终端设备验证所有的数字证书是否合法,并判断软件的升级必须要哪几个认证机 构共同进行,如果条件都成立,则验证所有的数字签名,验证完成后,进行软件升级。

    抛开软件升级终端设备的具体形态,根据软件升级是否能够或者支持第三方参与,可以 将终端设备升级分为两类:独立进行软件升级和需要第三方权威机构参与的软件升级。这两 种方式各有特点,独立进行软件升级的方式操作简单,在线或者离线均可以进行软件升级, 在数字电视广播中则只能采用该方式,该方式的缺点是信任的认证机构以及升级规则必须事 先确定,另外需要第三方权威机构进行的升级,则非常灵活,升级规则和信任的签名机构都 可以随时灵活更新,缺点是终端必须具备双向网络通信功能。不管是哪类升级方式,安全升 级的原理相同,不同的仅仅是升级程序获取的方式和数字证书合法性验证的途径而已。

    本方案定义的软件升级包封装过程如下: (1)升级包发行商将要发布的信息软件包经过Hash运算后,得到一个软件信息摘要MD,MD = Hash(软件包)。升级包发行商可以是软件开发商,也可以是营运商;

    (2) 升级包发行商i用自己的私钥对数据摘要MD进行加密,得到升级包发行商i的数字 签名。(在下面的软件安全升级的过程中,用发行商i的公钥对数字签名进行解密,再比较 明文得到的摘要,通过判断是否相同来判断合法性;

    (3) 判断发布此升级软件必须签名的认证机构(认证机构可包括软件升级包发行商、 软件开发商、服务运营商、终端设备生产商等)是否已经全部进行了签名,如果没有完成, 则继续其它认证机构对软件信息摘要MD的数字签名过程,如果完成,则升级包发行商i将软 件明文、数字签名和自己的数字证书,重新组合为一个新的软件包。

    在很多情况下,软件涉及到多方的利益,软件的更改、变动必须得到多方的共同认可才 可以进行正式发布,比如,数字电视营运商要对数字电视终端用户进行收费,如果不进行软 件升级包合法性的控制,则可能在终端的收费被回避,导致营运商损失经济利益,因此营运 商要求机顶盒生厂商或者数字电视生产厂商发布的软件,必须要经过软件开发商和营运商的 共同确认,才可以进行升级操作。

    软件安全升级的过程与封装的过程互为一个逆过程:

    (1) 终端设备将接收到的软件升级包进行分解,将其分解为软件包、数字签名和数字证

    书;

    (2) 升级终端首先验证数字证书是否在信任证书列表中,如果是,则继续进行一步, 否则,重新执行第一步;对于数字证书是否可是可信任证书,还可以通过互联网,到指定第 三方权威机构验证,也可以通过权威机构的多极CA认证机制进行验证。 一般采取在生产终端 设备时,将信任证书列表全部存储在终端设备中,形成信任证书列表的方式进行。信任的模 型除了支持直接的证书,还支持基于证书的多级信任机制,具体参照PKI定义的方法

    (3) 如果成功证书验证完毕,则执行下一步,否则继续对(1)步分解后的软件包继续 进行步骤(2);

    (4) 验证(1)步分解的软件包以及软件包的数字签名是否合法,如是,则将软件包输 出;否则验证失败,退出,不进行软件升级;

    (5) 判断所软件的签名是否已经全部完成,如果是,则进行下一步,否则,继续执行 (1);

    (6) 判断软件升级包是否满足升级的要求,如果满足升级的要求,则执行下一步,否 则软件验证失败退出,不进行软件的升级。所谓满足升级要求是指:规定的所有数字签名的 验证已经全部通过,比如,数字电视的升级要求条件接收系统厂商、机顶盒终端厂商、营运商全部对软件进行认证签名,则终端进行软件升级时必须验证营运商、终端厂商、条件接收 系统厂商的全部数字签名,任何一个没有数字签名或者任何一个数字签名没有通过,均视为 数字签名验证失败,不可执行升级程序; (7)执行软件升级。


    展开全文
  • 手机1520 win8.1升级win10

    千次阅读 2016-05-27 10:10:49
    昨天买了手机1520,卖家不错:https://item.taobao.com/item.htm?id=525484481986于是我想把win8.1升级为win10首先去http://www.ithome.com/html/windowsphone/140136.htm下载Windows Insider,因为我没有在手机打开...

    昨天买了手机1520,卖家不错:https://item.taobao.com/item.htm?id=525484481986

    于是我想把win8.1升级为win10

    首先去http://www.ithome.com/html/windowsphone/140136.htm

    下载Windows Insider,因为我没有在手机打开,所以想要扫码,扫码可以搜索 扫扫看 也是软媒的

    然后扫码

    这里写图片描述

    接着可以拿到Windows Insider

    因为需要Windows Insider会员,可以在pc注册https://insider.windows.com/

    接着可以备份,因为我才买来,我就没有

    打开发现有几个选项:http://www.cnbeta.com/articles/474089.htm

    这里写图片描述

    Fast:是那些想要享受第一时间获得系统新版本和功能更新的Insider用户最佳选择,为了识别存在的问题从而让设备承担一些风险,提供建议和想法从而让Windows软件和设备更优秀。

    Slow:是那些享受获得早期系统版本和功能更新的Insider用户最佳选择,设备有极低的风险,但是依然想要提供反馈让Windows软件和设备变得更加优秀。

    Release Preview:是那些想要更早获得Current Branch更新、微软应用程序和驱动的Insider成员最佳选择,对于设备来说有最小化的风险,且依然能提供反馈让Windows设备变得更加优秀。

    我选最后,接着到手机更新,更新,然后就是win10

    展开全文
  • 手机软件工作原理

    千次阅读 2012-05-29 14:27:10
    哪个时候还没有手机软件的概念,手机也没有任何增值的服务。后来手机逐渐从军用转为商用`民用,随着手机用户需求的不断扩充,手机几其软件技术也不断发生着变化。“手机软件”对绝大多数人来说,是一个陌生的字眼...

    手机软件工作原理(1)

    手机的雏形十分类似于对讲机,最早出现在20世纪40年代,曾在第二次世界大战用于军事通话,是后来的“大哥大”的前身。哪个时候还没有手机软件的概念,手机上也没有任何增值的服务。后来手机逐渐从军用转为商用`民用,随着手机用户需求的不断扩充,手机几其软件技术也不断发生着变化。“手机软件”对绝大多数人来说,是一个陌生的字眼。其实他造就存在于我们的手机中。有没有想过,我们手机中各式各样的游戏实际上就是一个个小小的软件!甚至,简单的查询一个电话号码,也依*软件来实现。现在网上就有许多下载手机软件的地方,这些软件花样繁多,功能不一,可以满足我们同的需求。首先,我们可以通过软件来设定手机的开几或待机的界面,相信你一定看过一些手机的显示屏上有一些好看的图片或着是自己的名字,这都是软件的功劳;其次,你可以下载一些游戏软件来丰富手机中的游戏;听惯了一成不变的铃声,你一定想别出心裁的加进你喜爱的音乐吧!没问题,时尚化手机音乐编辑软件可以帮你实现这个梦想。当你自己编辑的铃声引得别人侧耳时,你是否也有一点小小的成就感呢?软件在手机中的作用不仅仅是这些,以上只是为应有层服务的,真正技术的飞跃还是要从地层做起。现在,就有许多手几制造厂商以及软件提供商上在做这方面的研究。我们作为维修人员,当然好应该知道许多写字库软件`解锁软件`升级软件等,这些软件都是针对不同品牌的手机服务的。手机软件技术也可按技术含量高低分为三层:技术含量低的是人机界面软件,稍高一些的是接口软件和模块软件,最高的是基础通信软件。

    第一次层次是OperatingSystem(OS,操作系统),主要与RF(射频信号)芯片进行沟通与指令处理,它基于一些基础的网络协议(如GSM`GPRS或CDMA`WCDMA)等;
    第二层次是内置的手机本地应用,例如电话薄`短信息等内容,更为重要的是,再一些手机上已经集成J2ME的开发平台,即它可以运行第三方开发的应用程序;
    第三次是在J2ME平台上开发的一些Kjava平台上开发的一些Kjava应用程序(如各种游戏`图片浏览等),还有一些API的借口函数,可以同外部的PC通过线缆进行数据串送,也可以通过无线方式与外界的应用服务提供商进行传递数据。
    目前,各种各样的多媒体应用已经成为高端手机功能的卖点,手几开始与PDA相融合,也开始告别话音时代走向移动办公。现代新手机具体功能的扩展,体现在以下方面:
    .交互性;在当前的手机交互界面的设计中,动画与图案都被引入界面设计,这在早期几乎是看不到的。
    .个人助理及娱乐功能;个人助理指电话本`名片夹`日历`日程表`闹钟`声控拨号`录音等功能;娱乐功能体现在MP3播放功能`FM调频收音机功能`游戏等。
    .软件可扩展性;在手机上装载KVM,解释JAVA程序,用于括宽应用软件的来源,同时也可以方便用户自己增删一些较简单的附加功能。
    手机的软件就是放在逻辑系统里,而逻辑系统基本上是由一个单片机系统组成的。
    众所周知,GSM手机逻辑系统的核心元件是中央处理器,大家把它叫CPU。它具有数字信号处理器(DSP)与微控制(MCU)的功能。
    CPU 是根据指令来工作的。一连串的指令集组成了一个完整的(CPU)工作程序,程序的运行与计算机往往还需要相关的数据参数,比如:射频控制参数,包括频率和成器参数`接受参数`发射参数`功率控制参数等;逻辑控制,包括显示参数`语言参数`串号`电池门限参数`放大器增益参数;而软件就是控制程序和工作数据参数的总和。
    在电子学中,单片微型计算机(One Chip Microcomputer)就是是微型控制器,简称单片机。单片的含义是这种微型计算机中只有一块主芯片(集成电路)。由于单片微型计算机的设计充分考虑了控制上的需要,它具有独立的硬件结构`指令系统和多种输入/输出功能的设计充分考虑了控制上的需要,它具有独立的硬件结构`指令系统和多种输入/输出功能,提供了十分有效的控制功能,所以称之微控制器。
    微控制器作为微型计算机的一个重要分支,应用非常广泛,发展速度也很快,现代凡含有数字电路的家用电器中,包括移动电话几乎都不少不了微控制器。
    微控制器在一块芯片(集成电路)上集成了中央处理器(CPU),储蓄器(RAM,ROM或EPROM)和各种输入/输出接口,定时器,A/D,D/A转换接口等点路,它是一块大规模集成电路。由于它具有许多使用于的指令及硬件支持广泛用于移动通信的控制系统中。
    微控制器用于各种移动通信产品的集体电路(硬件)是有所不同的,但是它们的基本组成相同,最大的不同就是软件设计不同。具体到手机的电路中,由于单片集中的 CPU,储存器等并不是集成到一块芯片上,而是独立分开的,所以手机中的逻辑部分并非电子学上传同意义上的由一块单片机构成,而是能称之一个系统,所以我们说手机的核心部件是一个单片机系统。

     

    手机软件工作原理(2)

    手机中一个最基本的单片机系统主要由下列几部分组成:
    1 CPU(中央处理器):这是手机单片机系统核心。
    2 储存器:包括两个部分,一个ROM,它是来存储程序;二是RAM,它是来储存数据。ROM和RAM两钟储存器是有所不同的。
    3 输入/输出(I/O)接口:这一接口电路分为两种:一是并行输入/输出接口;二是串行输入/输出接口。这两种接口电路结构不同,对信息的传输方式也不同。
    4 定时器/计数器:单片机的许多应用中,往往需要进行精确的定时并产生方波信号,这要由定时器/计数器电路来完成。
    5 时钟系统:手机中常见是13MHz和好32.768kHz.
    微处理器的上述五个基本部件电路之间通过地址总线(AB),数据总线(DB)和控制总线(CB)连接在一起,再通过输出/输入接口把手机整个单片机系统与外部电路联系起来。
    手机的单片机系统是由一个中央处理器(CPU),程序存储器(ROM),数据存储器(RAM),输出输入接口(I/O)和总线(BUS)等构成的既相互独立又紧密联系的完整的系统。
    单片机系统是整部手机的指挥中心,CPU就是总指挥,是单片机系统的处理核心,它相当于人的大脑,对手机进行射频部分控制(包括接收,发射及频率合成器),控制关机,控制键盘,控制显示,其它集成电路的控制及相互之间的数据传送。单片机系统所有操作动作指令的接收和指令的执行,各种控制功能,辅助功能等都在 CPU的管理下进行,同时,CPU还要担任各种运算工作。通俗的讲,CPU相当于“人脑”和“算盘”的作用,其中“人脑”用来指挥单片机系统的各项工作, “算盘”则用来进行各种数据的运算。所以,在手机中,CPU起着指挥中心的作用,在工作过程中,CPU发出各控制指令,使整个单片机系统在处理过程中能自动地,协调一致的进行。随着单片机技术的发展,手机控制用的单片机从以前的8位机发展到现在的16位机,8位机(有8条数据总线D0-D7)应用在很早已前的机型如爱立信398`788;诺基亚2110;摩托罗拉的7200`7500等。而现在的手机大多数都是16位机(共有16条数据总线D0-D7),如摩托罗拉V998,V60/V66`V70;诺基亚8210/8250`3310,3330,三星N628,T208等等的新机型手机均是,相对8机来说,16位机可以完成更多的功能,如:中文输入,WAP上网,语音功能等.
    手机的软件就是放在逻辑系统里,而逻辑系统基本上是由一个单片机系统组成的。
    众所周知,GSM手机逻辑系统的核心元件是中央处理器,大家把它叫CPU。它具有数字信号处理器(DSP)与微控制(MCU)的功能。
    CPU 是根据指令来工作的。一连串的指令集组成了一个完整的(CPU)工作程序,程序的运行与计算机往往还需要相关的数据参数,比如:射频控制参数,包括频率和成器参数`接受参数`发射参数`功率控制参数等;逻辑控制,包括显示参数`语言参数`串号`电池门限参数`放大器增益参数;而软件就是控制程序和工作数据参数的总和。
    在电子学中,单片微型计算机(One Chip Microcomputer)就是是微型控制器,简称单片机。单片的含义是这种微型计算机中只有一块主芯片(集成电路)。由于单片微型计算机的设计充分考虑了控制上的需要,它具有独立的硬件结构`指令系统和多种输入/输出功能的设计充分考虑了控制上的需要,它具有独立的硬件结构`指令系统和多种输入/输出功能,提供了十分有效的控制功能,所以称之微控制器.
    微控制器作为微型计算机的一个重要分支,应用非常广泛,发展速度也很快,现代凡含有数字电路的家用电器中,包括移动电话几乎都不少不了微控制器。
    微控制器在一块芯片(集成电路)上集成了中央处理器(CPU),储蓄器(RAM,ROM或EPROM)和各种输入/输出接口,定时器,A/D,D/A转换接口等点路,它是一块大规模集成电路。由于它具有许多使用于的指令及硬件支持广泛用于移动通信的控制系统中。
    微控制器用于各种移动通信产品的集体电路(硬件)是有所不同的,但是它们的基本组成相同,最大的不同就是软件设计不同。具体到手机的电路中,由于单片集中的 CPU,储存器等并不是集成到一块芯片上,而是独立分开的,所以手机中的逻辑部分并非电子学上传同意义上的由一块单片机构成,而是能称之一个系统,所以我们说手机的核心部件是一个单片机系统

     

    手机软件工作原理(3)


    1 CPU的功能
    CPU是手机的核心部分,各部分功能如下:
    1信道遍解码交织,反交织,加密,解密。
    2控制处理器系统包括:16位控制处理器,并行和串行显示接口,键盘接口,EEPROM接口,存储器接口,SIM卡接口,通用系统连接接口,与无线部分,的接口控制,对背光进行可遍程控制实时时钟产生与电池检测及芯片的接口控制等。
    3数字信号处理:16位数字信号处理与ROM结合的增强型全速率语音编码,DTMF和呼叫铃音发生器等。
    4对射频电路部分的电源控制。
    2 内部结构
    CPU内部由三大部分组成:一是运算器,想当于一个“键盘 ”;而是寄存器,相当是“纸张”;三是控制器,相当是“人脑”。
    3 外部电路
    CPU 内部个部件之间及CPU与外部逻辑部件之间交换和传输信息是有三条公共线(BUS),地址总线(DB),控制总线(CB)来完成的。在看手机的逻辑电路时,应重点注意各种控制信号,逻辑电路提供的射频控制信号。如:接收启动控制信号(RXCN或RXEN),发射机启动控制信号(TXON或TXEN),频率合成控制信号(SYN-EN,SYNDAT,SRNCLK)等。
    在看不同厂家的手机电路时,应注意一些控制信号的名称可能不同,如射功率控制信号在诺基亚电路中被称为TXC;而摩托罗拉手机电路中则是PAC或AOC;在爱立信手机电路中为PWRLEV等。
    4 工作条件
    1),供电(VCORE CPU);),时钟(CLK clock); 3), 复位(RST reset)。
    1) CPU的内部和外部通过三种总线与各部件之间进行联系,它们是地址总线,数据总线和控制总线。地址总线用来传送地址信息,它是一种单向传输总线,地址总线在三种总线中的数目最多,通常地址总线用A x x表示;数据总线是用来传送数据的总线,它是一种双向总线,它可用来传送CPU的输出数据,也可用来向CPU传送数据,一般情况下数据总线数目较多,常用 D x x表示;控制总线用来传送控制信息,它是一种单传输总线,对于CPU来讲,控制总线所传送的控制信号有的是输入信号,控制总线的数目要少些,通常用C x x表示。
    手机单片机系统中的总线是由许许多多部件所共用的,各部件通过三态门挂在总线上。三态门有一个高阻状态,与总线脱离,此时对总线而言它就不是一个负载。正是由于三态门的着一特点,可以使许许多多部件同时挂在总线上而不使总线过载。总线在某一时刻只被一对部件使用(即总线一端接的是信号源部件,另一端接的是信号接收部件),在另一时刻总线又被另一对部件使用,这种由部件轮流使用总线的方法称为分时.
    手机由于功能很多,软件复杂,存储容量大,所以CPU需要有两个存储器为其存放手机软件,那就是版本(Flash ROM)和码片(EEPROM),它们如同档案馆,又如同大仓库,我们叫存储单元内,分门别类的存放着各种资料,参数,表格和程序,为了方便地找到么每一个存储内容,每个小单元的地址都有二进制代码表示地址码,像门牌号一样,CPU要发出地址信息就是通过AB去访问格小单元。
    存储器的分类如表2- 2-3所示,EEPROM,FLASH等均是非易失性器件,非易失性存储器最大的特色是在当电源关闭后,原先储存在内的资料,仍能够持续被保存,且可以被重复抹除修改;而其中的FLASH更是已成为仅次于DRAM的全球第二大存储器市场。比较二者的差异,可以发现FLASH的前景更被看好,主要的原因在于不同容量密度,设计架构的FLASH产品,在市场上各有不同的应用及区域,集中度及相互潜代性皆较低。

     

     

    手机软件工作原理(4)

    (一),电可擦可写可编程存储器(EEPROM electrically erasbi programmable)
    EEPROM是一块存储器,俗称“码片”,二进制代码的形式存储着手机的资料,它存储的是:
    1) , 手机的机身码;
    2) ,检测程序,如:电池检测,显示电压检测等;
    3) ,各种表格,如:功率控制(PC),数模转换(DAC) 自动增益控制(AGC)自动频率控制(AFC)等;
    4) ,手机的随机资料,可随时存取和更改,如电话号码菜单设定等。
    其中,码片中存储的一些系统可调节的参数,对生产厂家来说存储的是手机调试的各种工作参数及与维修相关的参数如电池门限,输出功率表话机锁,网络锁写;对于手机用户来说存贮的是电话号码本,语音记事本及各种保密选项如个人保密码,以及手机本身(串号)等等。手机在出厂前都要上调校台对手机的各种工作进行调试,以使手机工作在最佳状态。调试的结果就存在码片里,所以在不是在很必要的情况下不要去重写码片,以免降低手机的性能。
    码片的分类:
    1) ,按数据传输方式分:
    1采用并行数据传输的并行码片:采用此种码片的手机都是一些较早期的手机如诺基
    8810 ,3810,摩托罗拉8700,328,928等手机,型号如28C64等,由于并行,码片的数据线较多,不便于小型化,故现在手机中大多都不采用了。
    1采用传行数据传输的传行码片:采用此种码片的手机比比借是:如三星N288 ,A288 ,T108 ,T408等等。型号有:24C16 24C32 24C256 24C512等。
    2) 按管脚数分:
    1 28脚码片,也就是并行码片了。
    2 8脚码片,也就是传行码片,8脚码片又分大8脚(即管脚间有大小之分)。串口码主要由I2C总线与外界电路进行通讯,其中SDA为串行数据线,主要负责数据的传输工作,SCL为串行时钟线,主要负责传输数据的同步工作。此外还有WP ,A1 ,GND脚。码片出现故障可分两种情况:一是码片本身硬件损坏;二是内部存储的数据丢失。两种情况中以后者为常见,常出线“手机被(Phone Locked)” , “联系服务商” (CONTACTSERVICE) , 显示黑屏甚至不开机故障。硬件故障。硬件故障的“联系服务商” 是三星系列手机的经典故障, 多是由于三星的尾插进水导致保护元件击穿进而拉低SDA和SCL线的电压,使CPU 不能正常读取码片资料而引发故障,维修时一般把保护元件拆除即可!
    3) 按封装形式分:TSOP28 TSSOP8 SO8 BGA8等。
    3) 按容量分:128B,256B,512B,1KB,2KB······128B(24C1024)。
    下面来说一下码片的管脚功能,现在以AT系列的码片进行简介,如表2-2-7所示
    目前,随着集程度的增加,码片已快被“吃掉” ,不在单独存在(还存在的多为8脚码片),如V988+码片被集成在CPU内,而V988++码片集成再版内。进期手机还
      单独保留码片的有三星手机,如A100 A188(24C56) 2200 2400 A288
    (24C256) N628(25C521) N188(24C256)及爱立信T18 T28等
    FlashROM为闪速只读存储器,有是又称FLASH,俗称版本字库。
    它以代码的形式装载了手机的基本程序和各种功能程序。至今字库这个名词概念混,很不清楚,到底字库是什么呢?实际上我们可以这样区分,把它们分开叫比较易懂一些。字库一般可以分别叫程序存储器(称程序)和汉字库存储器(字存),那为什么人家不这样叫呢?这是因为先前手机设计时把汉字库作为一个存储芯片焊接在手机上,程序存储器版本也作为另一个存储焊接再手机上,而后来发展到把程序和字寸复合在一起,所以我们称之为字库罢了。字库的容量要比码片的容量大的多,常见的有32M 64及128M等。
    字库在手机的作用很大,地位非常重要,具体作用如下:
    1 储存主机主程序
    2 储存字库信息
    3 储存网络信息
    4 储存录音
    5 存储加密信息
    6 存储序列号(IMEI码)
    7 储存操作系统

     

     

    手机软件工作原理(5)

    FLASH 按工作电压可分为:5V 3.3V 1.8V 0.9V等几种。按其数据总线宽度可以分为8位数据总线宽度,16位数据总线宽度两种;按其总线和数据总线分离,低16位地址总线和数据总线合并,地址总线和数据总线合并三种;按其扇区分布可分为TOP  BOTTOM两种;其封装形式具体有TSOP40  TSOP48 FBGA48 UBGA56 FBGA72 BGA80 BGA69 等等。根据其封装形式字库可分为二大类,第一是比教长见。第二类是BGA封装形式的,这种字库用在近期生产的各种手机上,如摩托罗拉V998,诺基亚 3210以及爱立信T28等手机。按其脚管的多少,手机的字库又可以分为以下两大类:一类为40脚的字库(如型号28F004,28F008);另一类为 48脚的字库(如型号28F800,28F160 F160等)。
    字库的工作流程比较复杂:当手机开机时,CPU便传出一个复位信号REST经字库,使系统复位。再待CPU把字库的读写端 ,片选端选端后,CPU就可以从字库内取出指令,在CPU里运算,译码,输出各部分协调的工作命令,从而完成各自功能。
    字库(FLASH)程序储存器的软件资料是通过数据交换端,地址交换端与微处理器进行通讯的。CE(CS)端为字库片选端,OE端为读允许端,REST端为系统复位端,这四个控制端分别者是由CPU加以控制。如果字库的地址有误或未选通,都将导致手机不正常工作,通常表现为不开机,显示字符错乱等故障现象。由于字库可以用来擦除,所以当出现数据丢失时可以用编程器或免拆机维修仪重新写入。和页码一样,字库本身也可能回损坏(既硬件故障),如果是硬件出现故障的话,就要重新更换字库。
    字库其最大的特点是可擦写(即可编程),器件相对与以往的EPROM程序存储器而言,最大的优点是可以在系统编程(ISP-InsystemProgmmable),对于这种IAP技术简单点就是指电路版上的空白器件可以编程写入最终用户代码,而不需要从电路版上取下器件,已经编程的器件也可以用ISP方式擦除或在编程。一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来将通过SPI或其它的串行接受上位机的数据并写入存储器中。所以即使我们将芯片焊接在电路版上,只要留出和上位机接口的这个串口,就可以实现芯片存储器的改写,而无须在取下芯片。说的通俗点,就是不用把字库从手机上拆下来,就可以用电脑配合传输线擦写字库,但不同的手机需要配合不同的工具软件来完成ISP(在系统可编程)。
    随着手机功能的越来越多,手机的工作程序也越来越大,相应的手机的字库容量也越来越大。例如摩托罗拉328英文手机的字库型号为 28F800,容量为1M字节,寻址线宽A0-A18共19条地址线。到了摩托罗拉V988的时候,寻址线宽A0-A19共20条地址线。而V988++ 的字库型号为28F320,容量为4M字节,寻地线宽A0-A20共20条地址线。由于上面的例子可以看出,字库的地址总线的线宽是随字库容量的增加的,每多出一条高位地址线,则字库的容量增加一倍。

     

    手机软件工作原理(6)

    1 新型的FLASH,例如320C3B等,在常规存储区域后面还有128Bit的特殊加密,其中前64Bit(8字节)是唯一器件码(64BitUniqueDeviceIdentifier),每一个字库在出厂时已经带有,并且同一种字库型号不会有相同的编码,哪怕这个字库是全新空白的字库。后来64Bit为用户可编程OTP单元(64BitUserProgrammableOTPCells),可以由用户自用设定,单只能写入,不能擦除。
    2 目前有部分手机例如西门子,NEC等,是采用64Bit 唯一码进行加密,
    (1) 手机生产前,所有字库的内容都是同一写如的。
    (2) 手机生产完成后,开机自检,自检程序判断唯一码,并根据唯一码的编号,再常规储存区域写入相应的信息,因此出厂的手机字库是完全不一样的。
    (3) 手机厂商的这种做法是为了保护其自身的产权不收到非法抄袭。
    (4) 很多维修工作者也尝试过,把一部正常使用的手机字库拆下来,把资料读出来并写入一颗全新字库,并装回到另外一部手机,哪怕是同一部手机上面,也不能正常使用,例如西门子的就是显示两行英文。其原因是手机开机后判断字库的唯一代码是否和主存储区域的相对应,如果不对应,就显示错误信息。
    3 作为正常的维修前途,可以借助一些工具来找到唯一码的解秘方发的。如用凌凯LK48,UP48,选带“LOCK”或“-MLOCK”的选型 ,如320C3OCK,可以把唯一器件码和用户可编程OTP单元读出来,然后通过对比等方法找到解密的方法。
    2·2·3 数据存储器(PAM random access memory)
    前面我们谈的ROM是存储器,它们是程序资料和数据的“家”,有长期存放的概念,即使段电也依然保留。而RAM俗称赞存,顾名思义是暂时寄存。前加S是静态的意思,SRAM平时没有资料,只是单机片系统工作时,为数据和信息在传输过程中提供一个存放空间,像旅途中的“旅店”,她存放的数据和资料断电就消失,主要型号有0101、0201、0401、及0612A、062127、062137、062147等。现在存在仍是单机片系统中必不少的数据存储器,其最大的特点是寸取速度快,段电后数据自动消失。随着手机功能的不断增加,单片机系统所运行的软件越来越大,相应的PAM的容量也越来越大,从早期的几十K 到几百K再到今天的几M比特
    从维修的角度来讲,暂存只要不需焊,器件不损坏即可。在新型手机中,暂存慢慢地看不到了,比如西门子1118、2118;摩托罗拉T90;夏新A8等,是没有了吗?不是,
    只是被封装在CPU或字库中而已。比如常见的21118的CPUPMB6850内带1M暂存,其容量同V998单加的暂存62127一样大小。而T190的CPU自带2M暂存,其“没有暂存”的原因也很明白。当然,暂存空间不足或损坏也会引起诸如死机、不开机等故障。
    在以前较旧的一些机型当中,CPU、FlashromEEPROMSRAM等芯片是独立的,维修时看极板就知道哪个是CPU,哪个是字库、码片,如诺基亚5510/6110/7110/8810/3210,三星S600/800/2200等机型。随着存贮技术的发展,器件的集成度越来越高以及手机于小型化,故此现在较新的手机均采用复合结构的芯片简单点说就是把一块芯片集成或者封装进另一片芯片中,纵观现在较新的手机,暂存及码片很多都已经“不存在”了,因为它们有些
    被封近CPU或字库中,如上文所说的摩托罗拉T190的CPU就带有2M暂存了,诺基亚8310的CPU带有8M的暂存。字库的功能更是越来越大强大,很多码片或暂存被集成至字库,形成一个复合结构的字库,这种复合字库的功能十分强大,被广泛应用在新型的手机中。

     

    手机软件工作原理(7)

    字库这种复合结构有以下几种形式:
    1字库+暂存形,如:三星系列手机N628/A188/A388/A408······/T408/T508等,摩托罗拉V70等。三星N628复合字库,
    2、字库+码片形,如:摩托罗拉V988、V60等。
    3、字库+暂存+码片型的复合结构的应用越来越广泛,但由于程序的繁多以及程序设计的不完善往往会容易引起各种故障,对于软件技术基础薄弱的国产机型,采用此种组合都很容易引起软件故障,各位读者在维修时要小心了。
    以上详细的介绍各种逻辑芯片,下面就具体介绍一下常见的芯片识别的方法。要全面了解一块集成电路的用途、功能、基本参数,那必须知道该集成电路的型号及其产地。一般集成电路芯片其正面都印有型号或标记,从而根据型号的前缀或标志就能初步知道它是那个生产厂或公司的集成电路产品,根据其数字就能知道属哪一类的电路功能。
    集成电路产品型号的前缀一般为公司代号,如:AM-AMD公司、AT-ATMEL公司、 MC-摩托罗拉公司、X-XICOR公司等。特殊的如Intel,把前缀代表生产厂的英文字母省略掉的集成电路,一般来说,通常会把自己生产厂或公司的名称商标打印上去。各产品的中间数字相同的型号一般可互换。通常习惯(不严格)的称谓::74XX、74HCXX、54XX、40XX、45XX、 28FXXX、29LVXXX。如果电路对元件要求比较严格,就要对厂家提供的资料进行分析再做决定。例如AN5620,前缀AN说明是松下公司双极型集成电路,数字“5620”前二位区分电路主要功能,“56”说明是电视机用集成电路,而70~76属音响方面的用途,30~39属录象机用电路。详细情况请参阅产生厂集成电路型号的命名。以及手机维修长见的28Intel28和AMD29LVXXX两类芯片为例,。
    2·2·4 I/O接口(I/O Intterface)
    输入/输出接口常用I/O接口表示,I是指输入接口,是英文IN的简写。O是指输出接口,是英文OUT的简写。
    输入/输出接口电路是指CPU与外部电路、设备之间的连接通道及有关的控制电路。由于外部电路、设备中的点平大小、数据格式、运行速度、工作方式等均不统一,一般情况下是不能与CPU相兼容的(即不能直接与CPU连接),这些外部电路和设备只有通过输入/输出接口的桥梁作用,才能进行相互之间的信息传输、交流并使CPU与外部电路、设备之间协调工作。
    由于I/O部件在结构和工作原理上与CPU有很大的差异,它们都有各自单独的时钟、独立的时序控制和状态标志。CPU是个高速部件,与I/O部件工作在不同速度下,所以它们之间的差别一般能够达到几个数量级,同时CPU与外围I/O部件进行数据交换时必须引入相应的逻辑部件,解决两者之间的同步与协调,根据格式转换等,总体上说,I/O接口的基本功能如下:
    A、参与单片机内数据的传输操作,选择输入、输入部件。
    B、参与控制完成选定的I/O部件与CPU及其它部件之间的数据交换。

     

    手机软件工作原理(8)

    1、接口的作用
    1) 现数据缓冲,使CPU与相关外部电路的I/O部件在工作速度上达到匹配。
    2)、实现数据格式的转换。
    3)提供外围部件和接口的状态,为CPU更好的控制各种外围部件,提供有效的帮助。
    4)、实现主机与外围部件之间的通讯联络控制。
    2、接口的种类
    手机接口是个很广义的概念,主要有以下几种分类方法:
    1)、按手机电路功能分类:
    有模似接口、数字接口(MMI manand moleile interface)。
    2)、按数据传输宽度分类:
    有并行接口、串行接口。
    3)、按操作的节拍分类:
    有同步接口、异步接口。
    4)、按数据传送控制方式分类
    可将接口分为有程序的控制的I/O接口、程序中断I/O接口和直接存储器存取(DMA)接口等三种。
    虽然手机输入/输出接口种类繁多,不同的外部电路和设备需要相应的输入/输出接口
    电路,但可利用编制程序的方法具体确定接口的工作方式、功能和工作状态。
    2·2·5定时器/事件计数器
    为了提高单片机的实时控制能力,一般单片机内都设有定时器电路。定时器有两种类型:一是增量计数器;二是减量计数器。
    当定时器溢出时,增量计算器产生中断并作标位置位;当定时器回零时,减量计数器产生中断。
    有的定时器还具有自动重新加载的能力,这使得定时器的使用更加灵活方便,利用这种功能很容易产生一个可编程的时钟。
    此外,定时器还可以作为一个事件计数器,当工作在计数器方式时,可从指定的输入端输入脉冲,计数器对其进行计数运算。
    2·2·6 时钟系统
    时钟系统是单片机的重要系统,单片机的工作是按部就班的,按一定规则排列时间顺序的定时,就是由时钟系统控制的。时钟信号单片机执行指令时要做的操作按先后顺序排好,并给没一个操作规定好固定时间,这样就要可以使单片机在某一时刻只做一个动作,实现电路的有序工作。
    而它工作的快慢又和手机的状态有关大多数的手机在开机时因需要处理的文件多,时间要求短,时钟多为13MHz,而在待机或休眠时有32.768kHz就足够了。这有点类似于电脑CPU的主频,这也就是为什么手机开机时13MHz频偏一点无所谓,只要有足够的振幅可以传送数据就行了,而如网时才和基站不住校准的原因之一。

     

    MTK驱动指南

    GPIO设置篇

    一、GPIO有关的函数

    1.GPIO_ModeSetup:

    函数原型:void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada)

    功能:设置GPIO的工作模式是作为GPIO,还是作为专有功能接口。

    参数:

    pin:GPIO 的pin脚号,对应于原理图上MTK62XX 主CPU芯片的上的GPIO标号

    conf_dada:值有0~3。其中0是表示作为GPIO模式,其他根据专有功能的不同进行设置。

    2.GPO_InitIO

    函数原型:void GPIO_InitIO(char direction, char port)

    功能:初始化GPIO的工作方向是作为输入,还是作为输出

    参数:

    direction:工作方向,0表示输入,1表示输出

    port:GPIO的pin脚

    3.GPIO_ReadIO

    函数原型:char GPIO_ReadIO(char port)

    功能:从GPIO读取数据

    参数:

    port:GPIO的pin脚

    4.GPIO_WriteIO

    函数原型:void GPIO_WriteIO(kal_char data, kal_char port)

    功能:往GPIO写数据

    参数:

    data: 1表示给高电平,0表示给低电平

    port:GPIO的pin脚

    备注:这些函数在Gpio.C中可以找到。

    二、GPIO模式设置

    GPIO口在系统上电的时候,有的是默认高电平,有的是默认低电平,这是MCU内部决定的,软件无法更改,但是在系统开机过程中,会对GPIO进行初始化,MCU中有几个GPIO模式初始化寄存器,通过这个寄存器给GPIO设置初始模式。

    例如:以下这个寄存器就是用来设置0-7号GPIO的模工作模式的。

    这个初始化过程在Gpio_Drv.C中的函数GPIO_init()中,项目开始的时候,先要检查这个部分的模式设置是否正确。

    三、各个功能模块的GPIO设置

    1. LCD背光,马达

    有的LCD背光是靠GPIO进行控制的,有的则靠PMIC进行控制。但不管那个方式进行控制,都只需修改Custom_equipment.c中的相关部分就可以了,具体如下:

    首先,检查数组

    GPIO_MAP_ENTRY gpio_map_tbl[] = {

    {GPIO_VAILD, GPIO_PORT_24, netname[GPIO_LABEL_LCD_BACKLIGHT], NULL },

    };

    将没有使用的GPIO,用GPIO_INVALID给屏蔽掉。

    然后,修改函数custom_cfg_gpio_set_level,在对应的GPIO类型上将控制函数添加进去即可。比如:

    switch(gpio_dev_type)

    {

    case GPIO_DEV_LED_MAINLCD:

    if( gpio_dev_level == LED_LIGHT_LEVEL0)// LEVEL0- LEVEL5是背光由若到强的控制,LEVEL0表示关闭背光

    GPIO_WriteIO(GPIO_OFF, custom_cfg_outward_gpio_port(GPIO_LABEL_LCD_BACKLIGHT) );

    else

    GPIO_WriteIO(GPIO_ON, custom_cfg_outward_gpio_port(GPIO_LABEL_LCD_BACKLIGHT) );

    PWM2_level(gpio_dev_level);

    break;

    2. 蓝牙

    在文件bt_hw_define.h中参照原理图进行对应GPIO的修改。

    #define BT_GPIO_RESET 52//39 //GPIO_39 : PMIC reset

    #define BT_GPIO_DSC 36//;4 //GPIO_4 : to disconnect RFComm link

    #define BT_GPIO_POWER 4//12 //GPIO_12: Power

    #define BT_GPIO_DATASELECT 0//;3 //GPIO_3: DataSelect

    3. Camera

    在文件Camera_hw.c和sccb.h中参照原理图进行对应GPIO的修改。

    【Camera_hw.c】

    #define MODULE_POWER_PIN 6 // GPIO NO.

    #define MODULE_RESET_PIN 12 // GPIO NO.

    #define MODULE_CMPDN_PIN 13 // GPIO NO.

    【sccb.h】

    #define SCCB_SERIAL_CLK_PIN 8

    #define SCCB_SERIAL_DATA_PIN 9

    4. TouchPanel

    在文件Touch_panel_spi.h中参照原理图进行对应GPIO的修改

    #define SPI_DIN_PIN 1 //17

    #define SPI_CLK_PIN 8 //20

    #define SPI_DOUT_PIN 38 //22

    #define SPI_CS_PIN 9 //23

    #define SPI_BUSY_PIN 5 //21

    四、总结

    GPIO的设置相对来讲比较简单,只要仔细参对原理图,基本上就可以将GPIO配置好。当然有些时候GPIO配置好了也达不到效果,就需要和硬件工程师一起来进行检测分析,测量对应电路的工作电压或电流,来判断工作是否正常。总之在前期的调试方面,多跟硬件工程师沟通、讨论、分析,会很快解决问题。

    ? 中断调试篇

    中断调试一般来说包括以下几个方面,一一做简单介绍:

    1. 中断号匹配

    这个部分在文件eint_def.c中进行设置,参照原理图设置即可。

    2. 中断触发方式的设置

    在文件eint_def.c中,首先要对中断的触发响应时间进行设置,是在数组变量custom_eint_sw_debounce_time_delay中。一般情况下这个部分是不用动的,但有时候中断触发有问题的时候,这就是一个调试点。比如对于Touchpanel的中断,对应的响应时间一般是0,如果不是0,就需要修改。

    另外,因为中断触发分电平触发和边沿触发,电平触发又分高电平触发和低电平触发,边沿触发又分为上升沿触发和下降沿触发,因此先需要跟硬件工程师了解对应的中断触发方式,然后在对应的中断初始化的地方修改触发方式。

    3. 中断处理流程调试

    有时候中断设置好了,对应功能也不能正常使用,那么就需要调试中断处理流程了,需要增加trace,一般我们会用系统带的trace函数kal_prompt_trace,有时候调试这个函数不能正常工作,那么我们就用这个文件中的函数sys_print打印trace信息,要使用这个函数,需要在系统最开始启动的时候,调用sys_uart_init进行初始化。这个函数库是在6228平台上做的,可能在其他平台上寄存器因为不同,需要进行修改。

    往往在调试的过程中,经常发现是给芯片供电方面出了问题。因为有时候MTK给过来的代码,在他们的参考设计上是一种供电方式,但是在我们的设计上可能就是不一样了。所以在找到芯片供电部分代码的时候,查找对应资料,看是否调用正常。

    ----------------------------------------------------------------

    dbg_print怎么打开?

    哪个宏控制呢?

    DRV_DEBUG打开后串口还是没有信息出来

    make\drv\drv.def
    中加入DRV_DEBUG

    我一般在dbgprint.c里面直接修改
    #if 1//def DRV_DEBUG
    #if 1//(!defined(IC_MODULE_TEST))

    --------------------------------------------------------------------

    {

    char buffer[50];

    sprintf(buffer, "ERROR");
    rmmi_write_to_uart((kal_uint8*)buffer, strlen(buffer), KAL_TRUE);

    }

     

    MTK中如何新增按键

    目前已经进行的尝试如下:
    1、修改keypad_def.c文件中的按键定义,按照硬件定义修改,比常用的键多处5个,依次填好;此处可判断基本不会出错。
    2、修改globalconstants.h文件的mmi_keypads_enum定义,在MAX_KEYS键前添加自定义的5个按键;
    typedef enum {
    KEY_0= 0,
    KEY_1,   
    KEY_2,   
    KEY_3,   
    KEY_4,   
    KEY_5,   
    KEY_6,   
    KEY_7,   
    KEY_8,   
    KEY_9,   
    KEY_LSK,  
    KEY_RSK,  
    KEY_CSK,
    KEY_UP_ARROW,  
    KEY_DOWN_ARROW,
    KEY_LEFT_ARROW,
    KEY_RIGHT_ARROW,
    KEY_SEND,    
    KEY_END,    
    KEY_CLEAR,   
    KEY_STAR,    
    KEY_POUND,   
    KEY_VOL_UP,   
    KEY_VOL_DOWN,  
    KEY_QUICK_ACS,  
    KEY_CAMERA,
    KEY_IP,
    KEY_ENTER,    
    KEY_WAP,
    KEY_EXTRA_1,
    KEY_EXTRA_2,
    /*******/
    KEY_Q1,
    KEY_Q2,
    KEY_Q3,
    KEY_Q4,
    KEY_Q5,
    /*******/

    MAX_KEYS,     /* max key codes support */
    KEY_INVALID   =0xFE
    } mmi_keypads_enum;
    3、修改kbd_table.h文件,添加5个按键的device宏定义,添加在MAX_DEVICE_KEYS前,同时顺延修改MAX_DEVICE_KEYS的值;
       #define   DEVICE_KEY_Q1 28
       #define   DEVICE_KEY_Q2   29
       #define   DEVICE_KEY_Q3   30
       #define   DEVICE_KEY_Q4   31
       #define   DEVICE_KEY_Q4   32

       #define   MAX_DEVICE_KEYS        33
    4、修改timerevents.h文件的,在UI_TIMER_ID_BASE之前添加自定义的timerid例如KEY_TIMER_ID28到KEY_TIMER_ID32;
    5、修改keybrd.c文件的PresentAllKeys、nKeyPadMap;
    nkeypadmap的尾巴上添加如下内容:
    {DEVICE_KEY_Q1, KEY_Q1, KEY_TIMER_ID28, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},

    {DEVICE_KEY_Q2,   KEY_Q2,    KEY_TIMER_ID29, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},

    {DEVICE_KEY_Q3,    KEY_Q3,    KEY_TIMER_ID30, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},

    {DEVICE_KEY_Q4,   KEY_Q4,    KEY_TIMER_ID31, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},
    {DEVICE_KEY_Q4,   KEY_Q5,    KEY_TIMER_ID32, TONE_KEY_HASH, DEVICE_AUDIO_PLAY_ONCE},

    最后应注意的问题 : 宏定义的问题

    若保存后new完毕,按键不起作用,检查一下是不是宏定义的问题。

     

    ROM、RAM、DRAM、SRAM和FLASH的区别

    ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。

    RAM 有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓 冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。

    DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。

    DDR RAM(Double-Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

    内存工作原理:

    内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。

    具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于 1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。

    ROM也有很多种,PROM是可编程的ROM,PROM和EPROM (可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过 紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。

    举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

    FLASH 存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面 代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

    目前Flash主要有两种NOR Flash和NADN Flash。

    NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

    NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户 不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。

    一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。

    NAND Flash和NOR Flash的比较

    NOR 和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR 和NAND闪存。  

    相"flash存储器"经常可以与相"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。

    NOR 是现在市场上主要的非易失闪存技术。NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。  

    NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。

    1、性能比较:   

    flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数 情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。  

    由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。  

    执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素:  

    * NOR的读速度比NAND稍快一些。  

    * NAND的写入速度比NOR快很多。  

    * NAND的4ms擦除速度远比NOR的5s快。  

    * 大多数写入操作需要先进行擦除操作。  

    * NAND的擦除单元更小,相应的擦除电路更少。

    (注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除时间为60ms,而有的需要最大6s。)

    2、接口差别:  

    NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。  

    NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。  

    NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。

    3、容量和成本:  

    NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。  

    NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、 Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。

    4、可靠性和耐用性:  

    展开全文
  • 简单两步实现安卓软件自动升级(自动升级工具类)  今天讲一个安卓软件非常实用的自动升级功能,非常简单,简单到你...2.联网获取服务器端的版本,对比自己软件当前的版本,如果服务器端的软件版本大于当前手机中的
  • 让你提前认识软件开发(43):软件产品升级流程

    千次阅读 多人点赞 2014-08-03 09:24:49
    第3部分 软件研发工作总结软件产品升级流程 一个软件产品做出来之后,并不是说永远都不用变了。基于以下的种种原因,我们需要对原软件产品进行升级: (1) 用户对软件功能提出了新的要求,现在运行的软件不能满足...
  • 手机恶意软件

    千次阅读 2009-02-12 17:26:00
    原文摘自:http://www.bouhe.com/mobile-marketing/2297... 手机软件也危险重重,来看看老鸟们总结的”恶意软件”排行榜吧!1商务管家CommerceTone2网秦通讯管家3美通无线音乐播放器4手机大头5拇指精灵(指精灵)Findia6主
  • 手机OTA的升级原理和技术延伸

    千次阅读 2015-03-23 12:00:23
    玩智能手机的时候经常会...现在的OTA作为一种新型技术,是Android系统和iSO系统提供的标准软件升级方式。 简单的说,手机OTA升级就是通过「设置—关于手机—系统更新」,然后接受官方推送的升级包升级;而SD卡升级则是
  • 近日,华为正式发布了HarmonyOS 2.0.0,这宣告手机版的鸿蒙操作系统正式到来,很多小伙伴关心手机升级鸿蒙操作系统后,以前的安卓APP还能使用吗? 今天我们了解一下鸿蒙生态下APP,日后会以怎样的形式存在。 第一种...
  • 安卓手机升级系统webview

    千次阅读 2020-01-07 17:32:50
    今天公司有台android 5.1的的设备,其系统webview版本太低(39.0),我手动升级了一下webview,顺便总结一下 一、前言 从Android4.4系统开始,Chromium内核取代了Webkit内核,正式地接管了WebView的渲染工作,...
  • 超级表格企业版正式上线,在比免费版拥有更多权限功能的基础,我们为企业版用户提供更周到的客服服务、更稳定流程的服务器使用。 4、实现多条件搜索 在进行搜索的时候,不再单一地只能根据一个条件搜索信息,而...
  • 手机APP软件测试点详解

    千次阅读 2017-07-26 17:19:01
    功能测试:手机软件的基本功能。倒不一定完全由测试人员来完全执行,但却是所有测试中最重要的,需要测试人员做很好的测试策略和职责划分。 稳定性测试:大多数手机应用是需要保证能够稳定运行一定时间的(尤其是...
  • 谈谈智能手机软件(2):Linux手机软件 本文将基于Linux内核的智能手机应用处理器软件简称作Linux手机软件。1 概述1.1 为什么要选择Linux平台?简单说:选择Linux平台的好处就是资金投入少;因为基本不需要授权费...
  • 苹果手机升级白苹果怎么恢复照片

    千次阅读 2014-09-18 11:53:17
    我的朋友,就遇到过这种情况,虽然不是她的手机照片丢失,但是是她领导的照片丢失,这在职场,帮领导解决问题,可比自己解决问题来的有用啊。那么, 我的朋友是怎么把照片找回的呢?苹果手机数据恢复软件 ...
  • 手机系统升级后丢失文件怎么办

    千次阅读 2014-09-15 13:40:14
    手机系统升级后丢失文件怎么办 我是一贯运用三星手机,最喜欢盖世系列。但是三星手机的价格在安卓手机中算是战斗机了,虽然很喜欢s5,但是看着自个用了还不到一年的s3,实在是下不去手。还好,三星手机都会...
  • nrf52832使用nrfconnect通过安卓和苹果(IOS)手机升级固件 1 安卓手机升级固件 2 苹果(IOS)手机升级固件 2.1 下载nrfconect软件,在苹果应用商店搜索下载即可 2.2 导入要升级的固件 IOS...
  • 手机软件工作原理

    千次阅读 2007-09-14 16:11:00
    哪个时候还没有手机软件的概念,手机也没有任何增值的服务。后来手机逐渐从军用转为商用`民用,随着手机用户需求的不断扩充,手机几其软件技术也不断发生着变化。“手机软件”对绝大多数人来说,是一个陌生的字眼...
  • 手机升级系统如何找回丢失的文件

    千次阅读 2014-03-07 13:40:18
    手机升级系统如何找回丢失的文件 我的智能手机当时买的时候只看着降价打折了 ,没看清配置,用了一段时间发现好多...于是我就心痒痒的想给手机升个级,但懒得出去弄,就打算自己去搞。格式化恢复软件:http://xiaz
  • mac升级到macOS Sierra后itunes无法识别iphone手机最近mac上升级完新系统后,原来习惯用的itunes安装ipa包到iphone不能使用了,itunes没有应用相关的选项了只剩音乐相关的了。我就安装了一个mac能安装ipa包到...
  • 实现软件自动在线升级的原理

    千次阅读 2014-12-03 15:21:48
    所有升级任务都由升级程序完成。  1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹;  2.升级程序获取服务器端XML配置文件中新版本程序的更新...
  • 手机软件需求列表

    千次阅读 2009-10-12 09:45:00
    仅仅是个人的一些小想法,我怕忘记,先写下来 firmware over the air(固件空中升级)任天堂模拟器联系人空中备份(如果不使用google服务)本土化的导航软件,支持地图在线更新定时开关电话功能 
  • 使得用户无需离开软件,便可无缝升级软件功能或扩充内容。   ? IAP 支持付费后下载,所以可以有效的防止盗版。   ? 开发者无需额外推出试玩版本游戏,直接在免费版本中加入 IAP ,允许用户付费升级即可,节约开发...
  • NFC手机上基于软件的卡模拟 重大利好还是安全噩梦? Software Card Emulation in NFC-enabled Mobile Phones: GreatAdvantage or Security Nightmare? Michael Roland NFC Research Lab Hagenberg University of ...
  • Cydia插件使用起来是很方便,可是面临一个最大的问题是要是刷机或者升级版本后就会丢失所有的软件,因为iTunes不会备份这些cydia的软件。有需求就有市场,现在好了,有外国牛人已经制作出了能够备份Cydia软件软件...
  • Apple iPhone 8G手机升级至2.0降级破解日记

    万次阅读 热门讨论 2008-07-17 18:12:00
    Apple iPhone 8G手机升级至2.0降级破解日记   作者:半点闲 Blog:http://blog.csdn.net/cg_i 时间:2008.7.16 19:05   关键字:误升级到2.0降到1.1.4后无信号、苹果iPhone 8G手机破解、iPhone没有服务、...
  • 然而比较失望的新款的iPhone手机系统更新后,使用满意度还是不错的,但是像老款的iPhone手机升级后就不那么理想了,很多人反映手机电池耗电增加了,系统变卡,信号不行了,针对很多数码产品爱好者的疑问,今天大家...
  • 之前第一版和第二版的抢购脚本采用的是python编写,下载代码之后需要读者自行解压,这样就会出现很多问题,因此我针对读者提出的问题做出了详细解答,总的来说更新的软件包含以下几大亮点。 环境完全不需要搭建 ...
  • 使用91手机助手进行软件备份

    千次阅读 2011-08-09 09:16:31
    或许很多人有过这样的感受,由于iTunes不支持备份pxl文件,所以当固件升级后,发现iPhone原本安装的一些pxl格式的游戏和软件不见了,只能重新下载,费时又费力。最新版本的91手机助手(点击下载最新版91手机助手)...
  • 工作中的惊喜不断,今天遇到一个问题,一个客户的手机升级为最新的Android 10系统后,原来的我们项目的APP一点击Icon启动APP就闪退,根本不能用。 一开始怀疑是App版本兼容问题,查看项目app/build.gradle文件中配置...
  • 苹果手机升级后开不了机怎么修复

    千次阅读 2018-04-27 00:47:29
     先在电脑安装一个救砖软件,itunes软件下载并安装好之后,将手机与电脑用原装数据线连接起来。这时候手机会自动识别到一个正在恢复模式的手机,如果没有提示,那么破解QQ空间相册密码先在关机状态下按住电源键...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 81,887
精华内容 32,754
关键字:

如何给手机上的软件升级