环境搭建
交叉编译环境安装
1、从ARM网站下载工具链压缩包:
1)进入网站:https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update
2)下载gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
2、安装:
1)将下载的 gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
和发布包里的gcc-arm-none-eabi-4_9-2015q3.install
放到同一个目录下
2)执行如下命令:
chmod +x gcc-arm-none-eabi-4_9-2015q3.install
sudo ./gcc-arm-none-eabi-4_9-2015q3.install
1
2
2
验证一下 gcc 是否安装成功
arm-none-eabi-gcc -v
1
编译
make all
1
报错
-------------------------------------------------------------------------------
| Cannot found the linux-4.9.37 liunx kernel source file |
| Please download the compression package from www.kernel.org |
| Copy linux-4.9.37.tgz or linux-4.9.37.xz to osdrv/opensource/kernel |
-------------------------------------------------------------------------------
1
2
3
4
5
2
3
4
5
下载内核: https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz
本文档简要说明将内核的补丁打到v4.9.37的linux kernel上。
1、从linux开源社区下载v4.9.37版本的内核:
1)进入网站:www.kernel.org
2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
3)选择linux/菜单项,进入子页面
4)选择kernel/菜单项,进入子页面
5)选择v4.x/菜单项,进入子页面
6)下载linux-4.9.37.tar.gz(或linux-4.9.37.tar.xz)
2、打补丁
1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
2)在linux服务器中进入 osdrv 的根目录,执行如下命令:
cd opensource/kernel
tar -zxf linux-4.9.37.tar.gz
mv linux-4.9.37 linux-4.9.y
cd linux-4.9.y
patch -p1 < ../linux-4.9.37.patch
cd ../
tar -czf linux-4.9.y.tgz linux-4.9.y
cd ../../
或
1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
2)在linux服务器中进入 osdrv 的根目录,执行如下命令:
make atf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
注意:
若下载的内核格式为linux-4.9.37.tar.xz,
第一步先用:
xz -d linux-4.9.37.tar.xz
命令将linux-4.9.37.tar.xz解压为linux-4.9.37.tar。
第二步再用:
tar -xvf linux-4.9.37.tar
解压linux-4.9.37.tar。
再次执行
make clean
make distclean
make all
1
2
3
2
3
报错
ERROR: fopen /hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv/opensource/kernel/linux-4.9.y_multi-core/arch/arm64/boot/uImage: No such file or directory
make[1]: *** [build/hi3559av100/debug/fip.bin] Error 1
make[1]: Leaving directory `/hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv/opensource/arm-trusted-firmware/arm-trusted-firmware'
/hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv
cp /hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv/opensource/arm-trusted-firmware/arm-trusted-firmware/build/hi3559av100/debug/fip.bin /hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv/pub/image_glibc_multi-core_arm64/uImage_hi3559av100_multi-core
cp: cannot stat '/hisi/Hi3559AV100_SDK_V2.0.3.1CP0001/osdrv/opensource/arm-trusted-firmware/arm-trusted-firmware/build/hi3559av100/debug/fip.bin': No such file or directory
make: *** [atf] Error 1
1
2
3
4
5
6
7
2
3
4
5
6
7
解决方法:在/osdrv/tools/pc/mkimage_tool目录下执行cp mkimage /usr/local/bin/,可参考/osdrv/tools/pc/mkimage_tool下的readme
烧写
#################################发送头帧失败,可能的原因如下:
1.烧写的Fastboot镜像与当前单板型号或Flash不匹配导致;
2.单板DDR有问题,无法正常进行DDR初始化操作;
3.如果是安全芯片,则需要确认是否需要使用programmer来进行烧写(Conax,Verimatrix高安类型必选);
4.如果是安全芯片,则需要确认当前镜像是否已经签名且签名正确,注意签名使用的key必须与芯片启动校验的key一致;
下载文件失败
1
2
3
4
5
6
2
3
4
5
6