以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。
一、概述 mpp是海思编写的与视频编解码有关的驱动、库等内容。我们需要部署这些内容,也就是把这些内容放在合适的目录位置。
二、mpp的目录结构 mpp目录位于Hi3518E_SDK_V1.0.3.0\package\mpp,其文件组织如下。
二、完整版(即包含mpp)根文件系统的制作 因为海思SDK提供的根文件系统还没有部署mmp,因而里面没有ko、lib等文件内容,所以不能执行sample,需要自己制作完整的根文件系统并制作成镜像烧录至板子。 (1)在osdev/pub/目录下找到rootfs_uclibc.tgz(能否使用Hi3518E_SDK_V1.0.3.0/package目录系的?应该可以),解压开后得到文件夹形式的根文件系统osdrv/pub/rootfs_uclibc/。 (2)将Hi3518E_SDK_V1.0.3.0\package\mpp目录下的ko文件夹复制到osdrv/pub/rootfs_uclibc/目录下,将lib文件夹里的内容复制到osdrv/pub/rootfs_uclibc/usr/lib中。lib文件夹中有a静态库和.so动态库,这里主要是动态库的部署,所以可以把.a文件删掉。 (3)在osdrv/pub/rootfs_uclibc/etc/profile文件中添加“设置板载系统网卡的ip址”的指令。
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.1.11
(4)在osdrv/pub/rootfs_uclibc/etc/profile文件中添加“自动挂载NFS服务器”的指令。
mount -t nfs -o nolock 192.168.1.141:/home/xjh/iot/hisi_development/hisi_rootfs /mnt
(5)在osdrv/pub/rootfs_uclibc/etc/profile文件中继续添加如下指令。
mount -t vfat /dev/mmcblk0p1 /usr/mmc
cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
完整的/etc/profile文件内容如下。
set_path_before()
{
[ -d $1 ] && PATH="$1:$PATH"
}
PATH="/usr/bin:/usr/sbin:/bin:/sbin"
set_path_before /usr/local/sbin
set_path_before /usr/local/bin
LD_LIBRARY_PATH="/usr/local/lib:/usr/lib"
export PATH
export LD_LIBRARY_PATH
CRE="^M^[[K"
NORMAL="^[[0;39m"
RED="^[[1;31m"
GREEN="^[[1;32m"
YELLOW="^[[1;33m"
BLUE="^[[1;34m"
MAGENTA="^[[1;35m"
CYAN="^[[1;36m"
WHITE="^[[1;37m"
umask 022
echo "${GREEN}Welcome to HiLinux.${NORMAL}"
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.1.11
cd /ko
./load3518e -i -sensor ar0130 -osmem 32 -total 64
mount -t nfs -o nolock 192.168.1.141:/home/xjh/iot/hisi_development/hisi_rootfs /mnt
cd /mnt
(6)输入以下命令手工制作根文件系统镜像文件。注意路径。
osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x10000 -o osdrv/pub/rootfs_uclibc_64k.jffs2
(7)烧录至spiflash。烧录方法见博客:海思方案中uboot、kernel和rootfs的烧写方法 (8)镜像测试。uboot启动后,首先要测试是否能ping通虚拟机;然后板载系统启动后,看挂载是否成功;然后看/etc/profile里设置的内容是否得到执行。
|