其实海思的文档还是挺齐全的,基本上是傻瓜操作就行了,遇到一些编译问题网上找找就搞定了,
这里主要说下需要注意的地方
注意: 海思SDK安装时,无法运行sdk.unpack
原因:
BASH 和 DASH 的问题。 Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互, 它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
解决:
执行sudo dpkg-reconfigure dash 命令,将dash设置为No
(1) 安装 aarch64 交叉编译器
解压 tar –xzf aarch64-himix100-linux.tgz,运行 chmod +x aarch64-himix100-
linux.install,然后运行./aarch64-himix100-linux.install 即可。
(2) 安装 arm-none-eabi 交叉编译器:
解压 tar –xzf gcc-arm-none-eabi-4_9-2015q3.tgz,参考其中的 readme 下载工具链
包,运行 chmod +x gcc-arm-none-eabi-4_9-2015q3.install,然后运行./gcc-arm-noneeabi-4_9-2015q3.install 即可。
(3) 执行 source /etc/profile,安装交叉编译器的脚本配置的环境变量就可以生效了,或
者请重新登陆也可
(1)下载内核
官网www.kernel.org下载linux-4.9.37.tar.gz
(2)打patch
按照说明即可
参考readme即可,很详细
我编译出现了如下几个问题:
(1)iptool.c:45:25: fatal error: openssl/sha.h: 没有那个文件或目录
解决:
出现这个或者fatal error: openssl/名单.h: No such file or directory。都是没有安装libssl-dev~ libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现~ 解决方案: 使用sudo apt-get install libssl-dev来安装libssl-dev即可
(2)"mkimage" command not found - U-Boot images will not be built
解决:
按照以往经验,我们需要安装依赖包: sudo apt-get install uboot-mkimage 但却提示”现在没有可用的软件包 uboot-mkimage,但是它被其它的软件包引用了。 这可能意味着这个缺失的软件包可能已被废弃“ 怎么破? 按照其提示,安装”u-boot-tools“即可 sudo apt-get install u-boot-tools
(3)unknown value ‘cortex-a73.cortex-a53’ for -mcpu
这个是编译busybox时遇到的恶,即需要rootfs文件系统的话需要解决,
我直接跳过了,因为不需要rootfs
启动介质问题,需要使用拨码开关切换
1)有三种启动介质, spi flash / nand flash / emmc
2)官网的这个板子,只有spi flash里面有烧写uboot,所以拨码开关必须拨到spi flash启动
这个就没啥好说的,傻瓜操作
方法:
(1) 安装NFS服务器 #sudo apt-get install nfs-kernel-server portmap
(2) 修改配置文件 修改/etc/exports,增加以下内容,以后开发板和其他 Linux 主机可以通过网络访问/NFS 目录: /NFS *(rw,sync,no_root_squash,no_subtree_check) /*NFS表示访问的目录,可以修改为自己想要的路径*/ 例如:/home/wzb/nfsdir *(rw,sync,no_root_squash,no_subtree_check)
(3) 重启 NFS 服务: 修改完华之后,执行以下命令重启 nfs 服务: sudo /etc/init.d/nfs-kernel-server restart
(4)验证 NFS 服务: 将本机的/NFS 目录挂载到当前用户的 Document 目录下,在/NFS 新建一个文件,你会发现在 Document 目 录下会同步出现这个文件,表明挂载成功。命令如下: sudo mount -t nfs localhost:/NFS /mnt 选择目标挂载目录的时候,最好选择空目录,否则目标目录之前的文件会暂时不见,不需要挂载以后,可以用 umount 命令卸载,针对上面的挂再测试,卸载命令如下: sudo umount /mnt
傻瓜操作
注意: 这个一定要保证烧写的内核和几个需要的ko驱动是一个环境编译出来的;
这样就不会出现内核映射表出错问题了
原始vio demo程序默认HDMI输出都是4K,而一般显示器是不支持的,
这是就需要修改vio的输出参数分辨率,改成1920*1080即可
官方的开发板是使用RS232接口今天调试串口的,
这时就需要一个USB转RS232线,注意一定要保证RX和TX是交叉的