xzy610030

一起探讨,一起进步,一起分享!

zedboard--实现软件开机自动运行(运行库的自动加载)(十五)

0
阅读(2127)

因为最近一直使用的是zedboard的DEMO的根文件系统,它是用的一块8MB大小的RAM区域,因此,要制作opencv_lib.img和qt_lib.img运行库,这些库无法保存在根文件系统中,这个时候就需要我们在开机的时候动态加载,前面几个实验用的就是手动人工加载了。另外驱动的加载和用户软件一样可以开机自动运行的,具体的做法如下:

(1)备份ramdisk8M.image.gz //我们主要就是修改这个文件系统的一个文件,这个备份让我们有备无患。

(2)启动系统,加载rootfs镜像文件

挂载 mount /dev/mmcblk0p1 /mnt

进入目录 cd mnt/

拷贝 cp /mnt/ramdisk8M.img.gz /tmp/

解压 gunzip /tmp/ramdisk8M.image.gz

挂载 mount -o loop /tmp/ramdisk8M.image /opt/

这样镜像文件就加载到了/opt/ 目录下,可以看下有什么东西

(3) 修改文件

注意这个文件是/etc/init.d/rcS,但是你在修改的时候必须要先加上挂载的目录,这个地方我弄了好久才反应过来,我这里应该是vi /opt//etc/init.d/rcS

在末尾加上 mount /dev/mmcblk0p1 /mnt

加载库 mount /mnt/opencv_lib.img /usr/

加载库 mount /mnt/qt_lib.img /usr/local/Trolltech/QtEmbedded-4.7.3-arm/

然后退出vi,保存,其实上面有个目录是不存在的,要自己去新建好这个目录。

(4)重新打包根文件系统镜像,拷贝到SD卡中覆盖源文件

卸载rootfs镜像目录 umount –l /opt

打包 gzip -9 /tmp/ramdisk8M.image

拷贝 cp /tmp/ramdisk8M.image.gz /mnt

卸载 umount -l /mnt/

这样就做完了所有的工作,重新上电,驱动自动加载,如下图:

可知opencv_lib.img运行库加载进来了

可知qt_lib.img运行库加载进来了,下午转接口就到了,要开始做显示的实验了。

Baidu
map