1.HISI嵌入式层环境搭建

1.1将SDK复制到虚拟机Ubuntu系统下,解压SDK。

cp /mnt/hgfs/winshare/Hi3518E_V200R001C01SPC030K/01.software/board/Hi3518E_SDK_V1.0.3.0.tgz  ./
tar -xvf Hi3518E_SDK_V1.0.3.0.tgz 
source sdk.cleanup  //清理SDK
source sdk.unpack 

1.2安装HISI交叉编译工具链

cd opensource/toolchain/arm-hisiv300-linux/
sudo ./cross.install.v300

在.bashrc文件中导入路径:

vim ~/.bashrc
//在末尾加上:
export PATH=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH
source ~/.bashrc

因为我使用的64位系统而编译器是32位的,所以需要安装32位兼容包,命令如下(注意两个都是第一个选项选n,其余选y):

 sudo aptitude install lib32z1
 sudo aptitude install lib32stdc++6-4.8-dbg

1.3编译osdrv

cd osdrv
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 distclean
make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

①出错pushd:not found,则执行如下命令,将dash改为bash。

sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh

②出错:“mkimage” command not found

 sudo cp opensource/uboot/u-boot-2010.06/tools/mkimage /usr/local/bin/

③出错:fatal error: zlib.h: No such file or directory

cp tools/pc/zlib/tmp/include/zlib.h tools/pc/jffs2_tool/tmp/include/
cp tools/pc/zlib/tmp/include/zconf.h tools/pc/jffs2_tool/tmp/include/
cp tools/pc/zlib/tmp/lib/libz.* tools/pc/jffs2_tool/tmp/lib/

④出错:storage size of ‘hints’ isn’t known
修改操作系统头文件/usr/include/netdb.h,将宏__USE_XOPEN2K注释(注意#ifdef与#endif是一一对应的)


⑤修改makefile,将hipctools:(205行)下的内容全部删除。然后:

cp tools/pc/jffs2_tool/tmp/mtd-utils-1.5.0/mkfs.jffs2 pub/bin/pc/

⑥出现---------finish osdrv work
至此编译完成,在pub/image_uclibc/目录下有
rootfs_hi3518ev200_128k.jffs2 rootfs_hi3518ev200_64k.jffs2
rootfs_hi3518ev200_256k.jffs2 u-boot-hi3518ev200.bin
rootfs_hi3518ev200_2k_4bit.yaffs2 uImage_hi3518ev200

1.4uboot的烧写和flash分区

对于裸机可以先使用HI-tool这个工具烧录U-BOOT,然后通过tftp来烧录其他的。

分区名分区大小起始地址截止地址
bootloader1M0x000000000x00100000
kernel3M0x001000000x00400000
rootfs12M0x004000000x01000000

1.5kernel和rootfs烧录与启动系统

tftp更新并重新烧写uboot的命令:

mw.b 0x82000000 ff 0x100000
tftp 0x82000000 u-boot-hi3518ev200.bin
sf probe 0
sf erase 0x0 0x100000
sf write 0x82000000 0x0 0x100000

tftp更新并重新烧写kernel的命令:

mw.b 0x82000000 ff 0x300000
tftp 0x82000000 uImage_hi3518ev200
sf probe 0
sf erase 0x100000 0x300000
sf write 0x82000000 0x100000 0x300000

tftp更新并重新烧写rootfs的命令:

mw.b 0x82000000 ff 0xc00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 0x400000 0xc00000
sf write 0x82000000 0x400000 0xc00000

设置bootcmd和bootargs:

set bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs)

1.6MPP部署

①开发板启动自动挂载主机
在profile中添加设置网卡IP地址,添加自动挂载主机nfs服务器

mount -t nfs -o nolock 192.168.1.19:/home/peco/rootfs /mnt

②部署ko文件

./load3518e -i -sensor ar0130 -osmem 32 -total 64

至此嵌入式层环境搭建完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值