VMware15.5 + Ubuntu12.04(32位)
工具包链接 https://pan.baidu.com/s/1qPkVLTX7WVub7mGPVvD9XQ 提取码:3ong
将 Hi3516A_SDK_V1.0.7.0.tgz 拷贝到 Ubuntu 中并且解压(注意:3516A和3516D共用一个 SDK)
tar -zxvf Hi3516A_SDK_V1.0.7.0.tgz
cd Hi3516A_SDK_V1.0.7.0/
./sdk.unpack
此问题可以选择执行以下命令进行修改使用的脚本解析器。
sudo dpkg-reconfigure dash
选择 No 之后退出,重新执行 ./sdk.unpack 即可。
cd osdrv/opensource/toolchain/arm-hisiv300-linux
chmod +x cross.v300.install
个人建议将交叉编译工具路径设置环境变量,如下所示
vim /etc/bash.bashrc
export PATH=$PATH: /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin
source /etc/bash.bashrc
查看 交叉编译工具版本
arm-hisiv300-linux-gcc -v
其中 readme_cn.txt 是中文版的操作说明,按照其中说明操作即可。
make OSDRV_CROSS=arm-hisiv300-linux all FLASH_TYPE=spinand
问题一:
解决办法一:在线安装 uboot-tools
sudo apt-get install u-boot-tools
解决办法二:离线安装 uboot-tools (我选择这种方式)
dpkg -i u-boot-tools_2016.03+dfsg1-6ubuntu2_i386.deb
之后重新编译。。。
问题二:
解决办法一:在线安装 zlib1g-dev
sudo apt-get install zlib1g-dev
解决办法二:离线安装 zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make
make install
之后重新编译。。。
当前说明编译成功 。
1)单独编译内核以及单独编译 uboot 的命令可以参考 readme_cn.txt 中的说明
2)文件系统制作中注意 -e 后的参数,默认是 0x40000 ,表示 256K 的大小,但是需要根据自己的板子决定
当前我的板子是 16M 的 SPI Flash ,但是只用到 64K ,因此编译时设置 -e 0x10000
当前 SDK 若是在 Ubuntu16.04 中编译,会出现 mkfs.jffs2 工具无法生成,主要是 Hi3516A_SDK_V1.0.7.0/osdrv/tools/pc/jffs2_tool 目录下的 mtd-utils-1.5.0.tar.bz2 工具比较旧。解决办法下次再说,哈哈!