英特尔i77700k和7700:转载 安霸A288S平台SDK编译简介

来源:百度文库 编辑:中财网 时间:2024/05/06 11:54:56
  •  本站(www.ruixuedz.com.cn)原创文章,转载请注明出处

  • 项目中使用安霸的A288S平台进行视频处理。该芯片类似TI的达芬奇平台,都是采用ARM加DSP的架构。不同之处是安霸的DSP是专用于视频编解码,用户不能对它进行通用操作。而达芬奇的DM6x系列,DSP是一个C6X的核,用户可以在上面实现自己的算法。当然达芬奇的DM3X系列与安霸平台可以说非常相似,也是专用DSP。

    在得到安霸的SDK后,可以编译出boot,kernel以及文件系统。 该平台使用Codesourcery编译器,可以从Codesourcery网站下载: http://www.codesourcery.com/downloads/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 解压后,即可得到所需的编译工具。 在bin目录下,即所需要的编译工具,包括gcc, ld等,当然都加了前缀。 在arm-none-linux-gnueabi/libc下,即glibc的库及相关文件。在编译应用程序时,需要链接这些通用库。 由于SDK将toolchain的目录设为一个固定目录。所以需要将这些目录链接到解压后的编译工具上。 具体做法: ln –s 编译器目录 /usr/local/CodeSourcery/Sourcery_G++_Lite ln –s编译器目录 /opt/codesourcery   使用buildroot编译SDK编译时所需要的外部常用工具以及库文件等。 比如busybox工具,makedevs工具以及XMLRPC的库等。 这里可以从buildroot.uclibc.org上,下载最新的buildroot。 配置文件使用SDK提供的默认配置: 将tools\ToolChain\buildroot\local\CodeSourcery目录下的CodeSourcery.config文件覆盖buildroot目录下的.config文件。 然后make。 编译完成后,将buildroot目录链接到/usr/local目录下: ln –s buildroot目录 /usr/local/buildroot 编译buildroot容易出现问题。 本人遇到的问题,主要如下: 出现错误:error: C compiler cannot create executables 主要是在编译软件包时,编译器在搜索glibc库时,错误地定位到本机的库上,导致库文件不兼容。 解决办法: 在package目录下的Makefile.in文件中设置TARGET_LDFLAGS变量,对glibc库进行定位。注意不能使用-L选项去设置,而要用-wl,-rpath去设置。   编译器安装后,即可进行SDK的编译。 进入SDK目录下的ambarella目录。 首先配置环境变量: source ./env/CodeSourcery.env 然后配置SDK选项,这里使用默认的一个IPCAMERA的配置: make ipcam_config 然后即可进行编译; make 在编译完成后,本人出现下载到目标板上,系统无法启动。后然发现buildroot生成的makedevs工具路径与SDK设置的不一致,导致文件系统中的/dev目录下没有任何文件。 解决办法: 将buildroot目录下的build_arm_CodeSourcery/makedevs-host文件夹内的makedevs工具拷贝到build_arm_CodeSourcery/staging_dir/bin下。   以前做达芬奇的DM3X系列项目时,boot,kernel,文件系统都是分开生成,然后各自烧入flash中。安霸的将这些统一在SDK中编译后,打包生成一个bin文件。然后可以使用DirectUSB,直接下载的目标板上。这大大方便了开发人员。 生成的bin文件在:ambarella/amboot/build/memfwprog下。 根据自己想要升级的部分,选择对应的bin文件。