找回密码
 注册
搜索
查看: 4053|回复: 30

[讨论] 手机软件的组成

[复制链接]
发表于 2005-9-22 19:06:00 | 显示全部楼层 |阅读模式
手机软件和PC机软件一样从中断向量表开始,因为比较小,看上去更加清晰。中断向量表的第一个跳转指令当然是跳到复位的处理程序,后面是中断处理、错误处理的跳转指令。一上电,手机就跳转到复位的处理程序,开始检查内存、初始化C运行环境,然后创建第一个任务。这个任务会按顺序创建、启动其它任务。绝大多数手机程序都是多任务的,但也有一些小灵通的协议栈是单任务的,没有操作系统,它们的主程序轮流调用各个软件模块的处理程序,模拟多任务环境。
   手机软件可以粗略地分成启动模块、操作系统、协议栈、数据业务、本地存储、驱动程序、用户界面和其它应用。启动模块前面已经说过了,下面简单介绍其它部分。
 
   操作系统在手机软件只占很小一部分。它的主要功能就是提供多任务调度、通信机制。有的操作系统会提供动态内存分配,定时函数,但这些都不是必须的。例如需要动态内存分配的模块,可以自己管理一个内存池,这样更易于隔离模块和预测内存需求。
   大多数手机的操作系统都是一个很小的内核,例如REX、HIOS等。高通REX的源代码连C代码加汇编也不过一千多行,编译后不过是2、3K的代码量。而完整的手机程序一般总有3、4百个C文件,超过一百万行的代码。
 
   协议栈是手机软件最复杂的部分,它的复杂性在于它和基带处理芯片的设计密切相关。只有具备芯片设计能力的企业才可能开发协议栈。协议栈会使用基带处理芯片的所有资源、包括DSP核。
  
   硬件驱动一般是指外设驱动,但也有一些设备是集成在基带处理芯片中的。驱动程序包括:键盘、电源管理模块、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射频驱动等。
 用户界面(UI)又称作人机界面(MMI),它负责和用户的交互,在必要的时候调用其它模块的功能。用户界面处理手机必备功能外,也包含一些相对独立的应用程序,例如日程表、游戏等。美工设计也是用户界面设计的重要环节。
发表于 2005-12-27 18:19:00 | 显示全部楼层
<P>怎么没有人,我顶阿</P><P>大哥 以后继续</P>
点评回复

使用道具 举报

发表于 2005-12-29 12:20:00 | 显示全部楼层
<P>我也顶一下!!学习ing--</P>
点评回复

使用道具 举报

发表于 2005-12-29 14:55:00 | 显示全部楼层
天涯的吧,转贴也要说明哦
点评回复

使用道具 举报

发表于 2005-12-30 10:29:00 | 显示全部楼层
<P>没有说层1(Layer1)啊。</P><P>不同意作者对协议栈的看法,协议栈并不都是IC厂商做的,比如TI自己以前不做协议栈,而是收购的。</P><P>layer1的掌握才是核心</P>
点评回复

使用道具 举报

发表于 2006-1-2 20:53:00 | 显示全部楼层
hen hao a
点评回复

使用道具 举报

发表于 2006-1-3 21:47:00 | 显示全部楼层
<P>长了不少见识啊</P>
点评回复

使用道具 举报

发表于 2006-1-3 22:43:00 | 显示全部楼层
layer1研究中,不过第一段boot没这么简单吧?这么快就跳到中断向量表?
点评回复

使用道具 举报

发表于 2006-1-4 22:28:00 | 显示全部楼层
<P>有道理,回去研究!</P>
点评回复

使用道具 举报

发表于 2006-1-5 18:47:00 | 显示全部楼层
<P>boot 还是很复杂的.</P><P>中断向量表的初始化只是很简单的一步</P><P>1.硬件初试化,</P><P>2.堆栈初试化</P><P>3.重映射 </P><P>这些都得用汇编写</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-1-11 08:43:00 | 显示全部楼层
<P>好文啊!</P><P>希望多些这样的文章!</P>
点评回复

使用道具 举报

发表于 2006-1-18 10:02:00 | 显示全部楼层
<P>好文章,长了见识,不过好像有一点不太敢苟同。协议栈会那么难吗?个人认为,底层提供的接口都是标准的,或者由文档的。而协议占也只是在获取数据的时候是需要和底层打交道的,实际的处理过程是由软件完成的。</P><P>仅仅个人意见,不知道对不对。</P>
点评回复

使用道具 举报

发表于 2006-1-25 15:45:00 | 显示全部楼层
协议栈很复杂地,要知道协议栈不仅仅是能满足各种标准,还要实际一点,能和个个运营商的网络设备乡兼容,这个没有专门的公司专门的人力来沉淀技术和经验的话,太难了~
点评回复

使用道具 举报

发表于 2006-2-5 19:28:00 | 显示全部楼层
<P>手机软件中的数据业务应该怎么开始?</P>
点评回复

使用道具 举报

发表于 2006-2-9 22:54:00 | 显示全部楼层
<P>定一个</P>
点评回复

使用道具 举报

发表于 2006-6-5 16:08:00 | 显示全部楼层
好帖,看了很有用
点评回复

使用道具 举报

发表于 2006-6-12 14:01:00 | 显示全部楼层
<P>现在平台提供商提供了大部分的模块,例如:qualcomm的提供的就有boot,os,psw,nv,留给design house做的也就是MMI,UI,APP,DRIVER,DS,现在实现这些模块好像大都没问题啦,关键是如何实现有差异化的产品?有竞争力的产品?</P><P>另外,感觉driver的工作越来越多的集成到平台啦,请教一下,做driver的兄弟们,现在大家都做些什么工作?我现在感觉就是一个技术支持,协助硬件debug.</P>[br]<p align=right><font color=red>+1 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-7-1 19:14:00 | 显示全部楼层
不错,把握了手机软件的整体设计
点评回复

使用道具 举报

发表于 2006-7-4 13:14:00 | 显示全部楼层
手机方案提供商提供的东西越来越多,但是大家还是要多了解一些整体的知识比较好。
点评回复

使用道具 举报

发表于 2006-7-4 19:05:00 | 显示全部楼层
mmi的图片和执行效率很重要。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-6 12:25 , Processed in 0.049397 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表