浅谈高通的MSM7230-评各大厂商

浅谈高通的MSM7230并解释U8800的FM

有些同学问到为什么U8800没有FM; 有些问到为什么CPU是800MHz而不是1G; 有人问MSM7230比OMAP 3610/3630好还是差;答案就在下面:

U8800的FM :大家都知道高通的的MSM和Snapdragon都是芯片组SoC(注:system on chips),是一系列芯片的打包,而不是专指一颗CPU,这与三星的蜂鸟S5PC100/S5PC110,苹果A4,TI的OMAP3系列处理器有本质的区别;第二代Snapdragon平台的CPU是Scropin核心,基于改进型的ARM V7架构,45nm制造工艺,降低功耗同时频率可以大幅提升至1.3GHz以上,这是相比于第一代QSD8250最大的改进点;但仔细阅读高通官方文件之后发现,除了大家熟知的3D游戏性能和视频播放加强之外,RF射频芯片,电源管理芯片,GPS芯片均有有所改进,并且将蓝牙/FM/WiFi首次集成到芯片组内部,而老一代65nm的QSD8250,MSM7227, MSM7200A等均要再外接芯片实现(通常由博通,德仪或三星的单芯片实现);我想这就是华为官方说硬件支持FM但需等软件完善的主要原因,可能是驱动没搞好,也可能是现有的软件无法支持高通的内置FM模块,如果Desire Z能用,则U8800也一定能用。

关于800MH在的MSM7230性能 大家也都知道,苹果的A4处理器是改进自三星的蜂鸟S5PC110处理器并由三星制造,但Apple官方从未说明过A4在iphone4上到底以什么频率运行,相反却明确告知用户ipad的A4处理器运行在1GHz,我可以很确认的说iphone4的CPU实际频率为800MHz,电压1.1V,而ipad的电压为1.2V,苹果的意图相当明显:省电,增加待机时间;这种做法在3GS时代已经有先例,设计频率877MHz的A8架构S5PC100硬是降到600MHz运行;大家可以查看一下45nm的S5PC110官方文档,明确说明800MHz为1.1v,1GHz为1.2V ,如果软件优化得当,同样运行于800MHz的MSM7230理论上性能不会低于IP4,大部分移植自IOS平台的游戏都可以流畅的跑起来;这既是高通的市场定位原因,也是为了省电,而从部分同学的使用报告上看,MSM7230的续航相当优秀,除主频低200MHz之外,其他特性与高端的MSM8255完全相同;基于同一架构的CPU,性能上差距可以忽略,MSM7230与TI的OMAP3630旗鼓相当;(注:OMAP3610本身无GPU模块)所以,FM不能用的,游戏不畅的,不妨再等一等。。。。

为什么有这么多厂家选择用高通的处理器 原因很简单,高通是的移动平台是大集成,包含了CPU/GPU,基带,电源管理, RF,GPS, BT/WiFi/FM等等手机上能用到的所有芯片,并且性能优异,兼容性好,就如同2G时代的MTK一样,下游厂商拿到芯片组之外只需做好固件并设计一下外观即可推出产品并迅速抢占市场,这种做法的缺点也很明显:硬件成本高(高通的SoC很贵),并容易受上游厂商制约;由这一点可以看出来,Nokia,RIM,Apple, Samsang, Motorola这五家厂商绝对是实力派,中高段产品坚持自己设计硬件,只在部分低端产品上采用高通的SoC,堪称一流厂商;而以HTC, LG, 华为,ZTE为代表的厂商只能归为二类,大量使用高通芯片组,他们最主要的目标还停留在市占/出货量这些浮云上;PS:国产神机魅族M9为什么臭虫一堆堆?因为魅族坚持自己设计硬件而没有直接采用SoC;为什么联想Lephone有联通版和电信版,但TD版却迟迟未能出炉?因为这需要重新设计全部硬件;为什么Moto和samsang可以在推出旗舰级手机后的很短时间内即可推出TD版而HTC却不能?因为高手只需要将原型机上的基带芯片替换掉即可;真搞不懂为什么有那么多人非要把二流的HTC视为Nokia和Apple杀手?永远不会!因为HTC只是二流的追随者,而华为还处在追赶HTC的路上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是高通 MSM8953 SoC 上使用 DTS(Device Tree Source)描述的 GPIO 驱动实例: ``` &tlmm { gpio_keys: gpio-keys { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&button_pins>; status = "okay"; button@4 { label = "power"; gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; linux,code = <KEY_POWER>; debounce-interval = <50>; gpio-key,wakeup; gpio-key,wakeup-source; }; button@3 { label = "volume_up"; gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; linux,code = <KEY_VOLUMEUP>; debounce-interval = <50>; }; button@2 { label = "volume_down"; gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; linux,code = <KEY_VOLUMEDOWN>; debounce-interval = <50>; }; }; button_pins: button_pins { pins = "gpio4", "gpio3", "gpio2"; function = "gpio_in"; drive-strength = <2>; bias-disable; }; }; ``` 在上面的示例中,我们定义了一个名为“gpio_keys”的节点,它表示一个 GPIO 按键设备。在该节点下,我们定义了三个名为“button@*”(*表示数字)的子节点,它们分别表示三个按键。每个按键节点都指定了其使用的 GPIO 引脚编号,所以我们需要在该文件中定义一个名为“button_pins”的节点,它表示我们将使用哪些 GPIO 引脚。在“button_pins”节点中,我们指定了使用 GPIO 引脚 2、3 和 4,它们的功能为“gpio_in”,表示我们将使用它们作为输入引脚,而不是输出引脚。最后,我们指定了每个按键的 Linux 按键代码(即在 Linux 内核中定义的按键码)、抖动时间和唤醒源等属性。 当系统启动时,内核会根据设备树中的 GPIO 配置自动加载相应的 GPIO 驱动程序。在本例中,内核将加载“gpio-keys”驱动程序,并将其绑定到我们定义的“gpio_keys”节点上。这样,我们就可以在 Linux 系统中使用这三个按键了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值