日期:2014-05-16  浏览次数:20783 次

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

因为最近一直使用的是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运行库加载进来了,下午转接口就到了,要开始做显示的实验了。