IPC 开发(linux开发--编译和烧录和视频查看和驱动加载方法)

Linux系统的启动大致分为:
#1 uboot 引导uimage,解压uimage,并调用start_kernel来初始化内核镜像;
#2 内核初始化
#3 挂载root文件系统(由于jffs2 挂载时会扫描flash)


解压命令:
unrar x ./FileName.rar
tar -xzvf Hi3518E_SDK_V5.0.5.2.tgz
7z x P2PTester_2.4.0_20170913.7z 


//解压缩并展开sdk包
tar -zxvf Hi3518E_SDK_V5.0.5.2.tgz
source sdk.unpack
./sdk.unpack




(a)linux下面的编译

    编译uboot   u-boot-ok.bin
I:\hi3518ev200\linux\hi3518ev200change\osdrv\tools\pc\uboot_tools 
   编译kernel   uImage
I:\hi3518ev200\linux\hi3518ev200change\osdrv\opensource\kernel\linux-3.4.y\arch\arm\boot   
   制作根文件系统     rootfs_uclibc_64k.jffs2
apt-get install mtd-utils
mkfs.jffs2 --help
mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_64k.jffs2

I:\hi3518ev200\linux\hi3518ev200change\osdrv\pub



//编译linux
(1)单独编译uboot:
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3518ev200_config 
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
将生成的u-boot.bin 复制到osdrv/tools/pc/uboot_tools/目录下
运行./mkboot.sh reg_info.bin u-boot-ok.bin
生成的u-boot-ok.bin即为可用的u-boot镜像

//(2)单独编译kernel:
cp arch/arm/configs/hi3518ev200_full_defconfig  .config

make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- uImage

//(3)单独编译根文件系统:
apt-get install mtd-utils
mkfs.jffs2 --help
mkfs.jffs2 -d osdrv/pub/rootfs_uclibc -l -e 0x40000 -o osdrv/pub/rootfs_uclibc_64k.jffs2


(b)烧录
1.在已经配置好的tem_clj_tftp文档里面放置 u-boot-ok.bin    uImage    rootfs_uclibc_64k.jffs2
   I:\hi3518ev200\tem_clj_tftp
2、烧写映像文件到SPI Flash
    以16M SPI Flash为例。
1)地址空间说明
|      1M       |      3M       |      12M      |
|---------------|---------------|---------------|
|     boot      |     kernel    |     rootfs    |


以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2)烧写u-boot
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3518ev200.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset
3)烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3518ev200
sf probe 0
sf erase 100000 300000
sf write 82000000 100000 300000
4)烧写文件系统
mw.b 82000000 ff C00000
tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2
sf probe 0
sf erase 400000 C00000
sf write 82000000 400000 C00000
5)设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa

(c)视频查看

//用ITTP工具实时视频查看
把Hi3518E_Stream_V1.0.3.0.tgz 和 ko.zip 放到虚拟机tem_clj目录下并解压
mount -t nfs -o nolock 192.168.1.193:/root/ipc/hi3518ev200/tem_clj /mnt    //把虚拟机上的tem_clj目录mount到板子的mnt目录下,这个是通过CRT串口工具直接操作demo板
./load3518e -a -sensor ov9732 -osmem 32 -total 64
./HiIspTool.sh  -a -p ov9732_720p_line.ini
在window环境下打开ITTP_Stream.exe,设置demo板子的IP地址和选定CPU type,这样就可以实时视频查看了

//用VLC media player体验局域网的实时视频。
【该视频通过海思samper-vec应用采集和RTSP协议封装并发送到VLC客户端上实时播放】
1.通过nfs把RTSP相关的mount到板子mnt目录下
mount -t nfs -o nolock 192.168.1.193:/root/ipc/hi3518ev200/tem_clj /mnt 
2.cd mpp/sample/rtsp_venc/
3.在ko文件里面打开摄像头ov9732
  ./load3518e -a -sensor ov9732 -osmem 32 -total 64
4.执行rtsp命令:./sample_venc_rtsp
5.在pc终端的VLC终端打开“网络传输流” ,在“URL”里输入:rtsp://192.168.1.193/live.sdp
https://www.cnblogs.com/streammm/p/6480078.html

(d)驱动加载方法【以wifi驱动加载为例】

//加载驱动(以编译好的wifi驱动mt7601Usta.ko为例)  
insmod mt7601Usta.ko   //这个是linux开发,不是litesos开发


~ # ifconfig eth0 down
~ # ifconfig ra0 up
~ # iwlist ra0 scanning
~ # ifconfig eth0 down
~ # ifconfig ra0 up
~ # iwpriv ra0 set NetworkType=Infra
~ # iwpriv ra0 set AuthMode=WPA2PSK
~ # iwpriv ra0 set EncrypType=AES
~ # iwpriv ra0 set SSID="Honor 6X"
~ # iwpriv ra0 set WPAPSK="123456789ssj"
~ # iwpriv ra0 set SSID="Honor 6X"
~ # ifconfig ra0 192.168.43.2
~ # ping 192.168.43.1


你可能感兴趣的:(驱动管理)