Haisi3716C (海思)源代码 编译并烧写

来源:互联网 发布:噩梦会成真吗 知乎 编辑:程序博客网 时间:2024/05/22 22:14

任务:编译Haisi 3716c源码并烧写到海思板子。

 

第一次接触板子,特此纪念。

 

拿到开发包:

 

 

Android-froyo_r1.1_pilo          anroid代码

Android-2.6.35.tar.bz2            linux代码

Trunk_SPC010_r35053.tar.gz     是编译用的软件

 

 

一:编译源码。步骤按海思的 android SDK编译文档的步骤来的,遇到的最大问题是:

 

1、文档中提到的 arm-hisiv200-linux在开发包中的 prebuild中没有找到,修改了kernel下的 .sh文件,关于 arm-hisiv200-linux,改成 arm-b交叉编译工具,但是修改后编译还是找 arm-hisiv200…真是郁闷

 

最后使用最笨的方法:修改不了代码,修改交叉编译工具,呵呵,把 arm-b 这个bin下的名字都改成 arm-hisiv200-linux,这样就编译通过啦。

2、在编译过程中出现 out of menmery 错误。

 

解决方法:打开kernel_recovery 下的mkrecovery.sh文件,第53

 

加入 –Xmx256M

二:编译sdk,  执行 make sdk

 

其中遇到 link 问题,隐去一个注释就编译通过啦。

 

但是在eclipse 中使用曝出和 ADT版本不一致,可能编译的有问题。

三:烧写

 

烧写也是按文档指示:

 

烧写内容: kernel system usedata

 

烧写后启动板子,不断的循环输出 request_suspend_state: wakeup (0->0) at 577469959360 (1970-01-01 00:09:37.459981154 UTC)

init: untracked pid 2344 exited

 

原来是没有烧写 bootargs

 

好了这时问题来啦,源码编译出来有:

 

bootargs-DDR-1GB.bin

 

bootargs-DDR-512MB.bin

 

这两个文件,而源码编译默认是使用的 512,改成 1G的配置需要修改

 

system/init.godbox.sh

公司大牛指示:

其实主要是system/init.godbox.sh

你烧哪个bootargs,这个脚本里面就打开#DDR 1GB或者#DDR 512M

 

 

拷贝的过程需要串口、网线。

并设置 ip 网段,和电脑的网段一样。


这个阶段的问题:网络不通,下载超时,原因是没有关闭 widows防火墙。

点击 burn 断电再通电。

 

512 拷贝进去,折腾了近一周的编译、烧写终于看到还是板子的 android系统界面啦。

原创粉丝点击