手机开发实战1-手机简介

手机本质上是一个实时嵌入式系统。

嵌入式系统是以应用为中心和以计算机技术为基础的,并且软硬件可裁剪的,能满足应用系统对功能、可靠性、成本、体积和功耗等指标的严格要求的专业计算机系统。通常由嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。

嵌入式应用软件开发要使用交叉开发环境。

交叉开发环境是指实现、编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境中。

交叉开发硬件环境包括宿主机和目标机。

宿主机(Host)是一台通用计算机,可以是PC或工作站。它通过串口或网络连接与目标机通信。

目标机(Target)可以是嵌入式软件应用软件的实际运行环境,也可以是能替代实际环境的仿真系统。

实时系统(RealTime System)是一个能够在指定或者确定的时间内完成系统功能及对外部或内部事件在同步或异步时间内做出响应的系统。

响应时间(Response Time)是计算机从识别一个外部事件到做出响应的时间,

实时系统根据响应时间,可分为3种类型:

弱实时系统-响应时间可以是数十秒或更长;

一般实时系统-响应时间可以在秒的数量级上,如手机系统;

强实时系统-响应时间在毫秒或微妙的数量级上;

在RTOS中,任务(task)是拥有资源和独立调度的基本单位。与操作系统中的线程相似,它是一个具有独立功能的无限循环程序的一次运行过程,具有动态性、并行性和异步独立性。

动态性指的是任务的状态不停地在变化。并行性指的是系统中的多个任务在宏观上是并行的。异步独立性指任务是系统中独立运行的基本单元,也是内核分配和调度的基本单元,内阁任务运行时各自相互独立。任务是实时系统中独立运行的基本单元,它是一段没有返回的代码,可以有自己的运行参数,但返回类型总是void。

在实时操作系统中,任务的实体由系统给它分配的优先级、任务堆栈和任务控制块3部分组成。

大多数手机开发人员,最初接触到的都是开发PC系统应用,手机与PC相比,有许多不同之处:

1开发PC应用软件的系统环境和软件的实际运行环境相差不大;但开发手机软件,基本都是在宿主机-PC上开发,然后通过下载线将软件下载到目标机-手机中,开发和运行是两个不同的环境。

2 手机CPU运行速度低;

3手机内存和硬盘容量小;

4手机显示器小;

5使用PC系统时,基本都是利用外接电源供电,电量属于无限供给(未接充电器的笔记本除外);但使用手机时,主要利用自带的电池供电,电量有限;

6 PC系统基本都使用全键盘,但手机的按键个数少,或纯触控操作,无键盘;

7手机的主要功能是接打电话和收发信息,所以这两个任务的优先级最高,也就是在任何时刻,都尽可能的让用户可以接听电话和收到信息;

8手机系统有WatchDog重启机制;

当然还有许多其他不同之处,相对于PC开发,手机开发可以说是一个全新的领域。

手机软件开发除了要了解基本的软件开发、编程知识外,还会涉及嵌入式系统开发、ARM开发、通信协议(GSM、GPRS、CDMA等)、网络协议(HTTP、TCP/IP等)、WAP、MMS、J2ME、串口通信等各方面知识。

时间: 2024-10-19 17:18:28

手机开发实战1-手机简介的相关文章

手机开发实战3——手机类型介绍

根据支持的通信协议分类: 手机通常有2G.2.5G.2.75G.3G和4G(G-Generation代)等的区分. 只支持GSM协议的手机称为2G手机,支持IS-95CDMA协议的手机也属于2G手机: 支持GPRS协议的手机是2.5G: 支持EDGE协议的手机属于2.75G: 支持WCDMA.CDMA2000和TD-SCDMA协议的手机属于3G手机: 支持LTE-TDD和LTE-FDD协议的手机属于4G手机: 根据使用的操作系统分类: 智能手机(Smart Phone)-采用开放式操作系统,如S

手机开发实战4——GSM系统组成1

系统组成 GSM(Global System for Mobile communication) 全球移动通信系统的网络结构见下图,如图所示从物理实体来看,主要包括:移动终端.BSS子系统和MSS子系统等部分.移动终端与BSS子系统通过标准的Um无线接口通信,BSS子系统与MSS子系统通过标准的A接口通信. 移动台(MS) 移动台是公用GSM 移动通信网中用户使用的设备,也是用户能够直接接触的整个GSM 系统中的唯一设备.移动台的类型不仅包括手持台,还包括车载台和便携式台.随着GSM 标准的数字

微信公众平台网页开发实战--2.从手机相册中选照片然后分享

通过对需求的了解,可以将其分解为: (1)微信端手机用户,可以使用微信的JSSDK. (2)选取图片,使用JSSDK的“chooseImage”,由于分享图片时本地地址无法分享,因此还需要JSSDK的“uploadImage”. (3)分享到朋友圈,需要JSSDK的“onMenuShareTimeline”. 综合起来,业务逻辑如图4.5所示. 图4.5  业务逻辑结构图 首先将JSSDK的环境复制一份到本节目录下,创建index.html文件.imageSharing.js文件,目录结构如图4

零基础Android手机嵌入式开发实战课程

亲爱的网友,我这里有套课程想和大家分享,如果对这个课程有兴趣的,可以加我的QQ2059055336和我联系. 课程章节分布: 第一部分 嵌入式C与数据结构篇 (20讲) 第二部分ARM裸机开发篇 (43讲) 第三部分 Linux应用开发 (28讲) 第四部分 Linux系统移植 (5讲) 第五部分 Linux设备驱动 (13讲) 第六部分 Android应用开发 (38讲) 第七部分 Android系统移植 (11讲) 第八部分 Android设备驱动 (14讲) 零基础Android手机嵌入式

Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现(不定期更新中~~~)

系列目录 Unity3D手机斗地主游戏开发实战(01)_发牌功能实现 Unity3D手机斗地主游戏开发实战(02)_叫地主功能实现 一.大体思路 前面我们实现了点击开始游戏按钮,系统依次给玩家发牌的逻辑和动画,并展示当前的手牌.这期我们继续实现接下来的功能--叫地主. 1.首先这两天,学习了DOTween,这是一个强大的Unity动画插件,大家可以参考:官方文档,个人感觉DOTween还是比较好用的. 好的,我们先来重构一下动画部分的代码(没有绝对牛逼的架构和设计,项目过程中不要不断的持续改进嘛

Android之路【1】为什么选择Android手机开发

一.乐趣促使人努力 当然,每个人都未必对手机开发有兴趣.但是对于大多数来讲,把应用跑在手机上还是比JAVA WEB之类的程序要有乐趣的多.我本身是做J2EE的,后来专了android.在我做J2EE的时候,下班之后回家,我不会再去搞自己的J2EE程序DEMO.最多是看一些技术书籍.而做了Android之后,我经常搞搞自己的小应用.真的乐趣增加很多. 二.工作好找 我个人认为Android的需求量现在比J2EE大很多.J2EE阵营是在是积攒了太多的人.就是3年前大多数程序员和老师还是认为手机开发总

Android开发之控制手机音频

本实例通过MediaPlayer播放一首音乐并通过AudioManager控制手机音频,关于AudioManager的详解可参照:Android开发之AudioManager(音频管理器)详解 程序运行效果图: 实例代码: package com.jph.audiomanagerdemo; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import an

html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

firefox os 手机开发之设备调用

1)话筒 权限:telephony api:navigator.moztelephony 链接参考:https://wiki.mozilla.org/WebAPI/WebTelephony 2) 扬声器 权限:audio channels选项:["normal", "content",""notification", "alarm", "telephony","ringer"]