zoukankan      html  css  js  c++  java
  • 今天参加了marvell的培训与研讨会

    今天参加了marvell的培训与研讨会

     

    转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

    作者联系方式:李先静 <xianjimli at hotmail dot com>

    更新时间:2007-6-6

     

    今天参加了marvell的培训与研讨会,所讲内容都是比较浅显的,作为入门课程倒是挺不错的。上午的没有参加,下午的主要内容有:

     

    1.         PXA3xx的特性介绍以及和上一代PXA27x的比较。印象比较深的有几点:

     

    mini LCD Controller并不是指小屏控制器,而是一个精减版的LCD Controller,虽然它少了一些功能,但可以减少能量的消耗。

     

    PXA300的串口速度可达3.6M,可用来连接蓝牙和BP等。我以前考虑如果用串口连接APBP,串口速度可能成为网速的瓶颈,现在看来是不会了。

     

    2.         XDB Debuger介绍。

     

    这是一个基于JTAG的调试器,可以用来下载程序到Flash,也可以用来调试程序。同事咨询了marvell的工程师,他们回答说可以用来进行源码调试Linux kernel,只要安装一个插件就可以了。这倒是一个挺实用的工具,前几天花时间研究了gdb-jtag-arm的源代码,发现JTAG调试原理其实也很简单,不过当看到XDB Debuger提供这么强大的功能时,还是挺震撼的。

     

    3.         Windows MobileBSP介绍。

     

    Windows Mobile的开发没多大兴趣,没有注意听。

     

    4.         LinuxBSP介绍。

     

    这部分内容我们已经比较熟悉了,Linux BSP的主要组件有:

     

    l         Linux 2.6.14内核 + marvell的驱动和平台相关的PATCH

    l         Toolchain

    l         IPP库,一个高性能的程序库,提供了一些基本函数和codec

    l         2D图形加速库。

    l         OpenGL实现。

    l         Vtume及性能采样插件。

    l         针对PXA优化过的Gstreamer,其中整合了MarVell专用的MP3/MP4的解码代码。

     

    5.         BootROM介绍。

     

    下载程序到FLASH的传统方法有:

    用编程器下载。

    JTAG下载。

     

    PXA3xx指供了BootROM特性,在BootROM的帮助下,可以通过USB或串口下载程序到FLASH。不过好像现在还没有提供相应的PC工具。

     

    有了BootROM,就可以省掉norflash,而直接从nandflash中起动。开机后,CPU先从BootROM开始执行,BootROMnandflash中加载BootLoader0地址,然后跳转到BootLoader的代码处,接着BootLoadernandflash中加载Linux kernel,最后Linux kernel加载rootfs,系统起动完成。前面与传统起动方式不同,而后面的起动过程是一样的。

     

    6.         PXA27x支持NAND Flash的方法。

     

    PXA27x没有BootROM,也不支持nandflash。但PXA27x+nandflash的成本比较低,有比较大的市场需求,所以他们想了一个方法让PXA27x支持nandflash

     

    主要原理其实也很简单:用一小块norflash(小于512K)存放BootLoadernorflash映射到0地址,开机时从BootLoader开始执行,由BootLoadernandflash中加载内核,然后内核从nandflash中加载rootfs

     

    这种方式要对BootLoader(blob) 做较大修改,至于kernel2.4有点麻烦而且限制比较多,比如它只支持8bitnandflash,只支持small blocknandflash,而且不支持jffs2。如果使用2.6,没有太大问题。

     

    这种方案的好处在于硬件成本较低,由于没有硬件ECC,要用软件来实现,会带来额外的开销,据说会有5%的性能损失,有得必有失,根据自己的需要取舍了。

     

    ~~end~~

     

  • 相关阅读:
    支持stl容器的gdb自定义命令
    Thrift辅助类,用于简化Thrift编程
    Linux上获取CPU Core个数的实现
    第54课 被遗弃的多重继承(下)
    第53课 被遗弃的多重继承(上)
    第52课 C++中的抽象类和接口
    第51课 C++对象模型分析(下)
    第50课 C++对象模型分析(上)
    第49课 多态的概念和意义
    第48课 同名覆盖引发的问题
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167717.html
Copyright © 2011-2022 走看看