首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

beagelboard-xm下dvsdk移植1:补丁脚本

2012-11-05 
beagelboard-xm上dvsdk移植1:补丁脚本本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。欢迎和大家交流

beagelboard-xm上dvsdk移植1:补丁脚本

本文均属自己阅读源码的点滴总结,转账请注明出处谢谢。

欢迎和大家交流。qq:1037701636 email:gzzaigcn2009@163.com,gzzaigcn2012@gmail.com

      

本来昨天就该写点总结的,可是一天的时间都去参加党员培训了。总觉得,在做一些新事情后,需要对所学到的新事物,新东西做一个总结,即使对自己学习的一个梳理,也方便以后深入的研究。最近在对Beagleboard-xm 板子做一定的学习,打算将TI的dvsdk移植到bb-xm上去。在这里先从对Bb-xm介绍开始。

        bb-xm (详细的资料见官网:狗骨头网http://beagleboard.org/),以一只小狗狗为标记。现在还出现了omap4处理器的熊猫网.bb-xm的大体内容如下:

        Beagleboard -xM 是当前全球性价比最高的ARM Cortex A8开发板,其采用DM3730作为核心处理器。 并且其采用硬件开源模式:公布原理图,PCB图,BOM清单。 同时所有相关软件资源也完全对用户开放。 ChipSee是Beagleboard中国总代理,若您需要更多详细的信息,请联系我们! Beagleboard -xM的硬件参数如下:1. 处理器,DM3730。内含主频1G的ARM Cortex A8,主频800M的TMS320C64+。 同时集成了PowerVR GSX图形引擎、视频加速器以及丰富的多媒体外设。 这使得DM3730极为适合流媒体、2D/3D游戏、视频会议、高清静态图象、3G多媒体手机、高性能PAD 2. 板上有512MB的LPDDR内存,采用POP封装。这使得板子的结构极为紧凑,仅85*85mm Beagleboard支持的操作系统和软件资源如下: 1、支持WindowsCE 7.0(目前不提供BSP),Android 2.3,Ubuntu,Linux,QNX,Symbian,Meego等几乎所有操作系统。 相关开源系统均发布了源代码;2、 采用开源社区模式,全球有数以十万计的开发者相互交流,共享资源, 具体性能参数如下: 处理器: DM3730 ARM Cortex A8 频率: 1GHZ TMS320C64+ 频率: 800Mhz SGX Frequency :200Mhz 内存:512MB,速度166MHz Flash:无 SD Connector: uSD ,所有程序均放置在uSD卡内,这使得开发者可以在不借助任何辅助工具的情况下,进行系统开发 4个USB Host端子,1个USB OTG端子 ,1个100M以太网口 1个DB9串口,1个摄像头连接端子 DVI-D接口输出,可直连当前主流LCD显示器。 S-Video接口,可以直连TV,默认NTSC制式,可通过软件改为PAL制式。 系统包含LCD显示器扩展口,用户可以根据自己的需求,自行扩展LCD。 同时,系统留出了丰富的外设接口。

        这边拿到的板子sd卡自带了一个Angstorm系统,但是为了将evm 板的TI DVSDK移植到beagleboard-xm上,开始了新的学习旅程。其实做为dm3730,我对它的android系统的了解比linux更多。dvsdk也在android系统下使用过。但正如我之前在http://processors.wiki.ti.com/index.php/DVSDK_4.x_FAQ中可以获取dvsdk4.0.1到bb上的补丁,补丁脚本的内容如下开始解析:
#--------------------- mksdboot.sh ---------------------# Backup SD card creation scriptcp bin/mksdboot.sh bin/mksdboot.sh.org# Replace serial port config passed to kernel for consolesed -i -e s:ttyS0:ttyS2:g bin/mksdboot.sh# Increase available memory config passed to kernel to use additional 256MB available on -xMsed -i -e s:128M@:384M@:g bin/mksdboot.sh# Change display driver config passed to kernel to use 720P60 display timingssed -i -e s:1280x720@60:hd720:g bin/mksdboot.sh# Increase framebuffer0 memory allocation passed to kernel (to allow use of double buffered mode by graphics config)sed -i -e s^vram=0:4M^vram=0:8M^g bin/mksdboot.sh# Increase overall framebuffer memory allocation passed to kernelsed -i -e s^vram=4M^vram=8M^g bin/mksdboot.sh# Remove user prompt for selection of LCD/DVI and hardcode to DVI, since only DVI available on base -xMsed -i -e '/read\ -p/d' bin/mksdboot.shsed -i -e s:display\=\"1\":display\=\"2\":g bin/mksdboot.sh# Modify TargetFS and Force make-install when creating SD card# - replace alsa config file# - configure serial console# - switch ethernet from eth0 to usb0# - change hostname for quick visual indication of modified FScat >> bin/mksdboot.sh <<_EOFecho "Updating FS with modified beagleboard-xM files"execute "mkdir -p /tmp/sdk/\$\$"execute "mount \${device}2 /tmp/sdk/\$\$"execute "cp \$sdkdir/psp/asound.state.beagle /tmp/sdk/\$\$/etc/asound.state"execute "sed -i -e s:ttyS0:ttyS2:g /tmp/sdk/\$\$/etc/inittab"execute "sed -i -e s:usb0:usb1:g /tmp/sdk/\$\$/etc/network/interfaces"execute "sed -i -e s:eth0:usb0:g /tmp/sdk/\$\$/etc/network/interfaces"execute "sed -i -e s:dm37x-evm:beagleboard-dvsdk:g /tmp/sdk/\$\$/etc/hostname"execute "pushd \$sdkdir"execute "cp Rules.make Rules.make.sdbak"echo EXEC_DIR=/tmp/sdk/\$\$ >> Rules.makeexecute "make depmod_install"execute "cp Rules.make.sdbak Rules.make"execute "popd"syncecho "unmounting \${device}2"execute "umount /tmp/sdk/\$\$"echo "Done"_EOF
这部分的内容,主要是在sd卡的配置,从上往下以此是consloe的输出端口,mem内存,framebuffer 分配)这些内容主要是修改uboot的bootargs参数即内核启动时,从uboot处获得的启动参数。
接下去的内容,是对文件系统rootfs中的几个文件进行修改,因为当前是beagleboard-xm 不同与EVM板,有些硬件发生了变化,需要修改文件系统中的脚本。如inittab(内容主要是文件系统启动后的console终端输出,以太网的名字由eth0改为usb0,以及hostname.

至此完成了套系统编译前的打补丁操作,随后可以对dvsdk进行make clean ,make all完成编译。

           对此,整个过程完成,对dvsdk移植到bb-xm进行如下总结:
1。patch这个补丁脚本其实对dvsdk的核心内容做过多的改变,只是换了一套源代码而已。对dvsdk中的其他components没有做任何修改。DMAI,CE等都未发生变化。
2.   既然是这样,那么dvsdk高版本的内容的移植也变得简单化。只需要文件系统中存在相关components的执行文件即可。





      


热点排行