码迷,mamicode.com
首页 > 移动开发 > 详细

基于海思Hi3716cv200的Android源码编译及烧写

时间:2014-05-22 23:54:21      阅读:775      评论:0      收藏:0      [点我收藏+]

标签:源码   android   hi3716c   海思   

1、先说说硬件配置,我最开始是在Win7(I7 4770,8G RAM,2T硬盘)里装ubuntu10.10 64位系统(4G RAM,200G 硬盘)进行源码编译,大概花了3个多小时。而且还多次出现outofmemoryerror 错误。最后将硬件升级为I7 4770、16G内存、2T硬盘,不装虚拟机,直接跑Ubuntu 10.10系统,Swap分区为16G,编译一次大概花了40分钟,没有报任何错误。 所以不推荐在虚拟机里面跑。

 2、根据官方文档配置编译环境:

      官方文档说的是在“发布包/Software/ServerInstall”目录中使用root权限执行ServerInstall.sh脚本,如:

   software/ServerInstall$sudo ./ServerInstall.sh

但是经过我的实际操作发现,脚本中对jdk的安装配置指令无法执行,原因是它提供的源不对。我的解决办法是从Oracle官网直接下载jdk-6u45-linux-x64.bin,copy到/usr/lib/jvm(没有的目录要自己建)中进行安装,然后再/etc/bash.bashrc中配置java的环境变量:

export JAVA_HOME="/usr/lib/jvm/xxx" 
export PATH="/usr/lib/jvm/xxx/bin":$PATH

注意:xxx指代你安装后的java目录名。

 然后再执行脚本:

software/ServerInstall$sudo ./ServerInstall.sh


3、重新登录后进入Android源码解压后的目录$ANDROID_SRC,在根目录下依次执行以下命令:

source build/envsetup.sh 
lunch Hi3716CV200-eng


如果出现bison未找到之类的错误,使用

sudo apt-get install bison


装好即可。

3、所有错误都解决后,就可以执行

make bigfish -j8 2>&1 | tee bigfish.log


命令进行源码的完整编译了。注意我的CPU是I7 4770,属于四核八线程,所以用-j8选项。而华为他们用的编译服务器是64核 CPU、32G内存,所以他们可以用-j32参数。总之,这个参数应该根据你的cpu来选。

4、完整编译的结果就是在out\target\product\Hi3716CV200/下的Nand和Emmc目录下都会生成相应的镜像。接下来就是把这些镜像烧写到他们提供的开发板上。

烧写镜像需要的工具:PC(Windows系统,因为华为只提供了windows下的烧写工具)、海思开发板、usb转串口线,网线,

  • 将生成Emmc目录拷贝到PC上。(之所以拷Emmc目录,是因为我这个板子的U14芯片焊接的是Emmc芯片,如果你的板子焊接的是Nandflash,就要拷Nand目录)。
  • 将$ANDROID_HOME/devicehisilicon/bigfish/sdk/tools/windows目录拷贝到PC上。windows目录中存储的是烧写工具
  • 拿一根usb转串口线,连接板子的J35和PC的USB接口上,打开超级终端。
  • 拿一根网线,连接板子的j13和PC的网口,并配置PC的IP地址为192.168.1.1
  • 关闭开发板电源,打开windows目录中的Hitool工具,使用其中的HiBurn插件。具体配置见海思提供的视频教程。配置好后,选择”烧写eMMC“,分区表文件选择Emmc目录下的xml文件,然后在下面的选项中把Emmc目录中的所有镜像配置进去。点击”烧写“按钮后,打开开发板电源,就开始少写了,烧写完成会有提示。

5、烧写完成后,使用HDMI线将开发板连接到显示器,启动开发板,开始会出现一段车展视频(FastPlay),随后便会进入Android系统。但是,目前的系统还不能播放mkv,ts等视频文件,原因是没有相关的库文件。这个得需要向华为索要音视频库,然后解压,并将最后的.so文件拷贝到Android系统的/system/lib目录。拷贝方法:

  • 将开发板和PC分别联网(必须得保证在同一局域网下,没测试两者互联,想来应该也是可以的),开发板Ip:192.168.0.88,PC ip:192.168.0.86
  • 在PC的命令行里执行:
    adb kill-server
    adb connect 192.168.0.88:5555
    adb devices(检查是否连接成功)
    adb remout
    adb push /audiolib/**/.../prebuilts/ /system/lib
  • adb reboot

    注意:最好在push后reboot前,在超级终端里查看/system/lib目录下是否增加了一些音视频库文件

至此,基于Hi3716c的Android系统开发的前期准备工作就完成了。



基于海思Hi3716cv200的Android源码编译及烧写,布布扣,bubuko.com

基于海思Hi3716cv200的Android源码编译及烧写

标签:源码   android   hi3716c   海思   

原文地址:http://blog.csdn.net/llz383455526/article/details/26488347

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!