pandaborad初体验

刚拿到pandaboard, 照例对于这些开发板, 需要先准备需要用到的开发环境.


下面以linaro上对于pandaboard的支持为例, 记录下如何把linaro提供的最新的android系统在板子上跑起来. 

环境准备

    1. 下载所需的资源及代码
      参照https://wiki.linaro.org/Platform/Android/GetSource

    2. 编译源代码
      export PATH=$PATH:[your path to toolchain]/android-toolchain-eabi/bin:/[your linaro android src path]/out/target/product/pandaboard/obj/u-boot/tools
      这两个path,一个是为了找到对应的linaro toolchain,一个是用来找到编译过程要用到的mkimage(由u-boot中生成)

      make TARGET_PRODUCT=pandaboard TARGET_TOOLS_PREFIX=../android-toolchain-eabi/bin/arm-linux-androideabi- HOST_CC=gcc-4.5 HOST_CXX=g++-4.5 HOST_CPP=cpp-4.5 boottarball systemtarball userdatatarball

      updated 2012/04/25: 这里注意,虽然这里的compile指定到的是linaro提供的arm-linux-androideabi-, 但是编译其中的u-boot的时候,从uboot.mk中可以看出,它使用的是系统中指定的arm-none-eabi-系列的toolchain, 在我的机器中使用的Codesourcery提供的toolchain。 大家可以单独编译u-boot, 如果使用linaro的android-toolchain,则汇编失败:)

      以下很重要, 参照最新的11.12的release, 还需要动手为上步制作好的文件系统的system区加一些panda所用到的专有的图形库,(如果使用11.10的代码来编译, 就可以略过这一步了)
      参见: http://releases.linaro.org/11.12/android/leb-panda/
      $ wget http://releases.linaro.org/11.12/android/images/landing-panda/install-binaries.sh $ chmod a+x install-binaries.sh $ ./install-binaries.sh /dev/sdX2 "device node of system partition"
      这个脚本中用到了一些特殊的so, 如下: (这些都是pandaboard上面用的图形芯片供应商提供的库, 在linaro的代码中是没有包含的, 但是在TI的pandaboard的git 库中就有pandaboard/android_platform/device/ti/proprietary-open/graphics/omap4/system/vendor/lib)
      vendor/imgtec/panda/proprietary/pvrsrvinit
      vendor/imgtec/panda/proprietary/libEGL_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/libGLESv2_POWERVR_SGX540_120.so
      vendor/imgtec/panda/proprietary/gralloc.omap4.so
      vendor/imgtec/panda/proprietary/libglslcompiler.so
      vendor/imgtec/panda/proprietary/libIMGegl.so
      vendor/imgtec/panda/proprietary/libpvr2d.so
      vendor/imgtec/panda/proprietary/libpvrANDROID_WSEGL.so
      vendor/imgtec/panda/proprietary/libPVRScopeServices.so
      vendor/imgtec/panda/proprietary/libsrv_init.so
      vendor/imgtec/panda/proprietary/libsrv_um.so
      vendor/imgtec/panda/proprietary/libusc.so

      这里还需要注意, linaro对AOSP的build体系做了必要的扩充, 主要是支持MLO, u-boot, kernel及一些硬件相关的编译, 具体的相关配置, 参照devices/linaro/目录下的common和pandaboard目录.

    3. 制作rootfs
      ./linaro-android-media-create --mmc /dev/sdf --dev panda --system ../../android_platform_4.0.1/out/target/product/pandaboard/system.tar.bz2 --userdata ../../android_platform_4.0.1/out/target/product/pandaboard/userdata.tar.bz2 --boot ../../android_platform_4.0.1/out/target/product/pandaboard/boot.tar.bz2

      关于linaro-android-media-create工具, 还是比较方便的, 所以对它进行了下分析,参见<玩转pandaboard之rootfs制作及启动>

其它,

购买pandaboard

能从国外购买是最好了,省钱:)

国内的同学也能通过chipsee这个ti在国内的官方合作伙伴来买喽. 具体各位自己上网查一下即可.


验证板子

没什么多说的, 拿到chipsee附送的dvd, 按照说明做好一个sd的image, 插入板子, 上电,即可正常启动.


pandaboard的相关资源

http://www.pandaboard.org

https://wiki.linaro.org/Platform/Android

http://blog.csdn.net/Melody_lu123/article/details/7204386

你可能感兴趣的:(嵌入式Linux开发)