最近搞一个Golden-i 的项目,用到OMAP平台,忙活两天终于才搞定编译环境,可以编译通过DSP Kernel。注意事项记录于下,免得其他人走弯路,先说说linux的开发环境,uclinuc和wince的以后再说: 首先下载DVSDK,这个包含了biosutils, linuxutils,codec_engine,ceutils,cd_xml,dvsdk_demo,dvtb,dsplink,framework_components,kernel binaries,xdaix。DVSDK 依赖以下软件包也得下OMAP35X-PSP-SDK,cslomap,bios,xdctools,cg6x ,最重要的就是toolchain,我用的Sourcery G++. 编译流程参照Codec_Engine/examples/build_instructions.html 按照以上步骤编译codec,extension没问题,编译Server会出现 ti/bios/power 错误,这是Ti的一个Bug,从09年2月到现在最新的codec_engine都没修正这个错误,解决办法:在 codec_engine/examples/xdcpaths.mak的最后一行增加 XDC_PATH := LPM_INSTALL_DIR/packages;$(XDC_PATH) 至此,一路畅通。
http://wiki.davincidsp.com/index.php/GSG:_OMAP35x_DVEVM_Software_Setup
initenv.txt 官方DVSDK run起来提示一些错误,增加MMC几个变量
setenv get_kernel run nand_kernel
setenv get_initrd run nand_initrd
setenv nand_kernel nand read 0x80000000 280000 200000
setenv nand_initrd nand read 0x81600000 780000 1000000
setenv tftp_kernel tftpboot 0x80000000 uImage
setenv tftp_initrd tftpboot 0x81600000 ramdisk.gz
setenv bootargs_rd mem=128M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960
setenv bootargs_fs mem=128M console=ttyS0,115200n8 noinitrd root=/dev/mtdblock4 rw rootfstype=jffs2
setenv bootargs_nfs mem=128M console=ttyS0,115200n8 noinitrd rw root=/dev/nfs nfsroot=/mnt/nfs,nolock
setenv addip setenv bootargs /$(bootargs) ip=/$(ipaddr):/$(serverip):/$(gatewayip):/$(netmask):/$(hostname):eth0:on
setenv boot_rd run get_kernel/; run get_initrd/; setenv bootargs /$(bootargs_rd)/; run addip/; bootm 0x80000000
setenv boot_fs run get_kernel/; setenv bootargs /$(bootargs_fs)/; run addip/; bootm 0x80000000
setenv boot_nfs run get_kernel/; setenv bootargs /$(bootargs_nfs)/; run addip/; bootm 0x80000000
setenv mmc_kernel fatload mmc 0 0x80000000 uImage
setenv mmc_initrd fatload mmc 0 0x81600000 ramdisk.gz
setenv bootargs_rd mem=128M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x81600000,40M ramdisk_size=40960
setenv mmcboot_init mmcinit/; run mmc_kernel/; run mmc_initrd
setenv boot_mmc run mmcboot_init/; setenv bootargs /$(bootargs_rd)/; bootm 0x80000000
setenv bootcmd run boot_mmc
setenv bootdelay 20
setenv bootkernel
setenv bootkernel_1
printenv
echo Make sure to set MAC address