hi3519av100sdk介绍(代码片段)

浩瀚之水_csdn 浩瀚之水_csdn     2022-12-01     222

关键词:

0. 文档目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/ReleaseDoc/zh$ tree -L 4
.
├── 00.hardware  # 硬件相关文档
├── 01.software  # 软件相关文档
│   ├── board
│   │   ├── Hi3519AV100 SDK 安装及升级使用说明.pdf  # sdk 安装,编译,烧录说明。本文后面的内容主要参考此文档。
│   │   ├── Hi3519AV100与Hi3559AV100 开发包差异说明.pdf
│   │   ├── MPP
│   │   │   ├── HDMI 开发参考.pdf
│   │   │   ├── HiMPP V4.0 媒体处理软件 FAQ.pdf
│   │   │   ├── HiMPP V4.0 媒体处理软件开发参考.pdf  # camera 功能开发参考文档。进行 camera 应用开发时主要参考此文档。
│   │   ├── OSDRV
│   │   │   ├── Hi3519AV100╱Hi3556AV100 U-boot 移植应用开发指南.pdf
│   │   │   ├── Hi3519AV100╱Hi3556AV100 开发环境用户指南.pdf
│   │   │   ├── UBI 文件系统使用指南.pdf
│   │   │   ├── 外围设备驱动 操作指南.doc
│   │   │   └── 裸烧及非裸烧升级 使用手册.pdf
│   │   ├── PQ
│   │   └── SVP
│   ├── Hi3519AV100R001 Open Source Software Notice.doc
│   ├── HiMPP SDK 二次开发网络安全注意事项.pdf
│   ├── pc
├── 02.only for reference

1. sdk 目录结构

我们拿到的 sdk 有以下文件:

1
2
3
4
5
6
7
8
9
10
11
12
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519$ ll
-rwxr-x---  1 qiushao geoclue 1870000000 Apr  3 08:54 arm-himix200-linux.part1.rar*
-rwxr-x---  1 qiushao geoclue 1861766810 Apr  3 08:54 arm-himix200-linux.part2.rar*
-rwxr-x---  1 qiushao geoclue 1519247343 Apr  3 08:55 Hi3519AV100R001C02SPC020.rar*
-rwxr-x---  1 qiushao geoclue   12771415 Apr  3 08:56 HiDPU_PC_V2.0.0.0.tgz*
-rwxr-x---  1 qiushao geoclue   22645270 Apr  3 08:56 HiIVE_PC_V2.1.0.8_64bit_sec.tgz*
-rwxr-x---  1 qiushao geoclue 1710000000 Apr  3 08:55 HiSVP_PC_V1.2.2.0.part1.rar*
-rwxr-x---  1 qiushao geoclue 1710000000 Apr  3 08:55 HiSVP_PC_V1.2.2.0.part2.rar*
-rwxr-x---  1 qiushao geoclue 1710000000 Apr  3 08:54 HiSVP_PC_V1.2.2.0.part3.rar*
-rwxr-x---  1 qiushao geoclue 1681662082 Apr  3 08:56 HiSVP_PC_V1.2.2.0.part4.rar*
-rwxr-x---  1 qiushao geoclue      15852 Apr  3 08:55 linux-4.9.y.rar*
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519$

我们目前用到的只有前面三个文件。其中 arm-himix200-linux 是编译工具链。 Hi3519AV100R001C02SPC020 是 sdk 及一些工具。
Hi3519AV100R001C02SPC020.rar 解压后的目录结构如下:

1
2
3
4
5
6
7
8
9
10
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/Hi3519AV100R001C02SPC020$ tree
.
├── 00.hardware  # 硬件相关设计文档
├── 01.software  # 软件相关,包括 sdk 代码和烧录工具,调试工具等
│   ├── board
│   │   └── Hi3519AV100_SDK_V2.0.2.0.tgz
│   └── pc
│       └── HiTool
│           └── HiTool-BVT-5.2.7.zip
└── 02.only for reference  # 其他参考文档,包括 sensor 规则书,uboot 移植相关的硬件信息表等

其中 Hi3519AV100_SDK_V2.0.2.0.tgz 是最重要的 sdk 代码包。我们把它拿出来解压。目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/Hi3519AV100_SDK_V2.0.2.0$ tree
.
├── package
│   ├── drv.tgz
│   ├── mpp_smp_linux.tgz
│   ├── osal.tgz
│   └── osdrv.tgz
├── scripts
│   └── common.sh
├── sdk.cleanup
├── sdk.unpack
└── smp_image_glibc
    ├── rootfs_hi3519av100_128k.jffs2
    ├── rootfs_hi3519av100_256k.jffs2
    ├── rootfs_hi3519av100_2k_24bit.yaffs2
    ├── rootfs_hi3519av100_2k_4bit.yaffs2
    ├── rootfs_hi3519av100_32M.ext4
    ├── rootfs_hi3519av100_64k.jffs2
    ├── u-boot-hi3519av100.bin
    └── uImage_hi3519av100_smp

代码压缩文件都放在 package 目录。我们需要执行 sdk.unpack 脚本来解压代码:

1
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/Hi3519AV100_SDK_V2.0.2.0$ ./sdk.unpack

解压代码后目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/Hi3519AV100_SDK_V2.0.2.0$ tree -L 4
.
├── osdrv  # bsp 相关代码, 主要包含 uboot, kernel, rootfs 
│   ├── components
│   │   ├── ipcm
│   │   └── pcie_mcc
│   ├── Makefile
│   ├── opensource
│   │   ├── busybox  # busybox 源码
│   │   ├── kernel   # kernel 源码,
│   │   └── uboot
│   ├── pub  # 编译出来的镜像放在这个目录
│   ├── rootfs_scripts
│   └── tools # 编译镜像需要的一些工具
├── package  # 压缩的 sdk
├── scripts  # sdk 解压相关脚本
├── sdk.cleanup
├── sdk.unpack 
├── smp  
│   ├── a53_linux
│   │   ├── drv
│   │   │   ├── extdrv    # 外设驱动
│   │   │   └── interdrv  # 内部芯片驱动
│   │   ├── mpp           # 媒体处理相关的驱动,库,头文件以及 sample等。应用层的开发主要就是使用这些库来进行开发了。
│   │   │   ├── cfg.mak
│   │   │   ├── component
│   │   │   ├── include  # mpi 头文件
│   │   │   ├── init       # 媒体模块驱动初始化
│   │   │   ├── ko         # 预编译好的驱动文件及加载脚本
│   │   │   ├── lib        # 预编译好的 mpi 静态库和动态库 
│   │   │   ├── Makefile.linux.param
│   │   │   ├── Makefile.param
│   │   │   ├── obj        # 预编译好的驱动 .o 文件
│   │   │   ├── sample     # mpi 接口使用样例,供开发参考。
│   │   │   └── tools      # 调试工具
│   │   └── osal           # 操作系统抽象层(Linux, Liteos)
│   │       ├── include
│   │       └── linux
│   └── dsp_liteos
└── smp_image_glibc       # 预编译好的系统镜像: uboot, kernel, rootfs

2. 编译工具安装

2.1 依赖安装

先安装以下这些工具,不然编译会出现各种莫名其妙的错误:

1
sudo apt-get install gperf bison flex libuuid1 u-boot-tools zlib1g-dev build-essential ncurses-dev libacl1-dev liblzo2-dev uuid-dev zlib1g-dev liblzo2-dev uuid-dev pkg-config texinfo

2.2 编译工具链安装

把 arm-himix200-linux.rar 解压后,得到 arm-himix200-linux.tgz。再解压一次得到 arm-himix200-linux 目录,结构如下:

1
2
3
4
5
6
7
8
9
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/arm-himix200-linux$ tree 
.
├── arm-himix200-linux.install
├── arm-himix200-linux.tar.bz2
├── gdb_build.sh
├── gdb_readme_cn.txt
├── gdb_readme_en.txt
├── readme.txt
└── runtime_glibc.tgz

按文档的操作,是需要 sudo 执行 arm-himix200-linux.install 进行安装。其实只要把工具链解压,并设置一下 PATH 环境变量就行了:

1
2
3
4
5
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/arm-himix200-linux$ tar xvf arm-himix200-linux.tar.bz2
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/arm-himix200-linux$ tar xvf runtime_glibc.tgz -C arm-himix200-linux/
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/arm-himix200-linux/arm-himix200-linux/bin$ cd 
qiushao@qiushao-pc:~$ echo 'PATH=/media/qiushao/source-code/Hi3519/arm-himix200-linux/arm-himix200-linux/bin:$PATH' >> ~/.bashrc
qiushao@qiushao-pc:~$ source ~/.bashrc

3. 编译烧录 uboot, kernel, rootfs

编译方法主要参考 Hi3519AV100_SDK/osdrv/readme_cn.txt 说明文件。

3.1 下载 kernel

由于 GPL 协议的问题,海思并没有把 kernel 的代码一起发布。需要我们自己下载 kernel 源码:

1
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519/Hi3519AV100_SDK/osdrv/opensource/kernel$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.9.37.tar.gz

3.2 编译系统镜像

在 osdrv 目录下执行 make all 就行

1
2
3
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/osdrv$ make all
...
---------finish osdrv work

出现 finish osdrv work 提示,说明已经编译完成了。
编译生成的镜像放在 osdrv/pub/smp_image_glibc 目录下:

1
2
3
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/osdrv/pub/smp_image_glibc$ ls
rootfs_hi3519av100_128k.jffs2  rootfs_hi3519av100_2k_24bit.yaffs2  rootfs_hi3519av100_32M.ext4   u-boot-hi3519av100.bin
rootfs_hi3519av100_256k.jffs2  rootfs_hi3519av100_2k_4bit.yaffs2   rootfs_hi3519av100_64k.jffs2  uImage_hi3519av100_smp

3.3 烧录系统

SPI Nand Flash 的地址空间安排如下:

1
2
3
|           1M         |          4M         |        32M          |
|----------------------|---------------------|---------------------|
|          uboot       |         kernel      |       rootfs        |

3.3.1 hitool 烧录

如果板子是空板的话,需要使用 hitool 进行烧录。请参考 HiBurn工具使用指南.pdf

3.3.2 tftp 烧录

如果板子上有 uboot 的话,且板子有网口的话,则可以使用 tftp 来烧录。因为 hitool 没有提供 linux 版本,所以我一般都是使用 tftp 来烧录了。

    1. tftp 配置
      上一篇文章我们已经介绍过 tftp 服务环境的搭建了。先修改 tftp 的目录为编译生成 images 的目录:
      1
      2
      3
      4
      5
      6
      
      # /etc/default/tftpd-hpa
      
      TFTP_USERNAME="tftp"
      TFTP_DIRECTORY="/media/qiushao/source-code/Hi3519AV100_SDK/osdrv/pub/smp_image_glibc"
      TFTP_ADDRESS=":69"
      TFTP_OPTIONS="-l -c -s"
      
      然后重启 tftp 服务。
      1
      
      qiushao@qiushao-pc:/etc/default$ sudo service tftpd-hpa restart
      
    1. pc 网络信息查看
      ubuntu 下查看 pc 的 ip, 网关等信息的方法
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      
      qiushao@qiushao-pc:~$ ifconfig
      wlp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.3.29  netmask 255.255.255.0  broadcast 192.168.3.255
              inet6 fe80::f7d3:b73c:461a:af45  prefixlen 64  scopeid 0x20<link>
              inet6 240e:fe:3839:339:c717:1207:24ef:fd76  prefixlen 64  scopeid 0x0<global>
              inet6 240e:fe:3839:300:7c94:2acf:4818:8  prefixlen 128  scopeid 0x0<global>
              inet6 240e:fe:3839:339:1002:ba0c:2ed:5ffa  prefixlen 64  scopeid 0x0<global>
              ether 40:74:e0:b3:f2:63  txqueuelen 1000  (Ethernet)
              RX packets 36413  bytes 33826854 (33.8 MB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 16292  bytes 2617305 (2.6 MB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      
      qiushao@qiushao-pc:~$ 
      qiushao@qiushao-pc:~$ route -n
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      0.0.0.0         192.168.3.1     0.0.0.0         UG    600    0        0 wlp4s0
      169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
      172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
      192.168.3.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0
      192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
      qiushao@qiushao-pc:~$
      
      根据以上信息得到 pc 的网络信息如下:
      ip: 192.168.3.29
      netmask: 255.255.255.0
      gateway: 192.168.3.1
      mac: 40:74:e0:b3:f2:63
    1. 板子网络信息配置
      板子需要接入和 pc 同一个局域网。板子上电后, 敲任意键进入 u-boot。设置 serverip(即 tftp 服务器的 ip), ipaddr(板子 ip)和 ethaddr(板子的 MAC 地址)。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      
      hisilicon # setenv serverip 192.168.3.29
      hisilicon # setenv ipaddr 192.168.3.30  # 板子的 ip,参考 serverip, 修改最后一位即可。
      hisilicon # setenv netmask 255.255.255.0
      hisilicon # setenv gatewayip 192.168.3.1
      hisilicon # setenv ethaddr 40:74:e0:b3:f2:64  # 参考 pc 的 mac, 修改最后一位即可。
      hisilicon # saveenv
      Saving Environment to NAND...
      Erasing NAND...
      Erasing at 0xa0000 -- 100% complete.
      Writing to NAND... OK
      hisilicon # ping 192.168.3.29  # 确认网络设置正常。
      ETH0: PHY(phyaddr=1, rgmii) link UP: DUPLEX=FULL : SPEED=1000M
      MAC:   54-E1-AD-0A-A1-F8
      Using gmac0 device
      host 192.168.3.29 is alive
      hisilicon #
      
    1. 烧录分区
      • 烧写 u-boot
        1
        2
        3
        
        mw.b 42000000 ff 80000
        tftp 0x42000000 u-boot-hi3519av100.bin
        nand erase 0 80000;nand write 42000000 0 80000
        
      • 烧写内核
        1
        2
        3
        
        mw.b 42000000 ff 400000
        tftp 42000000 uImage_hi3519av100_smp
        nand erase 100000 400000;nand write 42000000 100000 400000
        
      • 烧写根文件系统
        1
        2
        3
        
        mw.b 42000000 ff 2000000
        tftp 42000000 rootfs_hi3519av100_2k_4bit.yaffs2
        nand erase 500000 2000000;nand write.yaffs 42000000 500000 0xafeb00 (0xafeb00 为实际文件大小)
        
      • 设置启动参数
        1
        2
        3
        
        setenv bootargs 'mem=256M console=ttyAMA0,115200 clk_ignore_unused root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),32M(rootfs)'
        setenv bootcmd 'nand read 0x42000000 100000 400000; bootm 0x42000000'
        saveenv
        
      • 重启系统
        1
        
        reset
        

4. 板子网络环境配置

经过上面的步骤,我们的系统是跑起来了,但只是把 kernel 启动了,根文件系统挂载了而已,什么业务都没有运行的。我们需要编写自己的应用在上面运行才可以。
在写代码之前我们还需要配置一下板子的网络环境,以便开发调试。在开发阶段,推荐使用 NFS 作为开发环境,可以省去重新制作和烧写根文件系统的工作。也不需要频繁用 u 盘 copy 文件。

4.1 pc端配置nfs服务

pc 端 nfs 服务的配置之前已经介绍过了,这里面就不再重复。我们把 nfs share 的目录改成 Hi3519AV100_SDK:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
qiushao@qiushao-pc:/etc$ cat exports 
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/media/qiushao/source-code/Hi3519AV100_SDK *(rw,sync,no_subtree_check,root_squash)
qiushao@qiushao-pc:/etc$
qiushao@qiushao-pc:/etc$ sudo exportfs -a 
qiushao@qiushao-pc:/etc$ sudo service nfs-kernel-server restart

4.2 设置板子的 mac,ip 等信息

1
2
3
4
5
6
7
8
9
10
11
12
~ # ifconfig eth0 hw ether 40:74:e0:b3:f2:64
~ # ifconfig eth0 192.168.3.30 netmask 255.255.255.0
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
~ # hi_gmac_v200 40e0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

~ # route add default gw 192.168.3.1
~ # ping 192.168.3.29
PING 192.168.3.29 (192.168.3.29): 56 data bytes
64 bytes from 192.168.3.29: seq=0 ttl=64 time=43.142 ms
64 bytes from 192.168.3.29: seq=1 ttl=64 time=62.610 ms
64 bytes from 192.168.3.29: seq=2 ttl=64 time=76.662 ms

4.3 板子上挂载 nfs 文件系统

1
2
3
4
5
~ # mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.3.29:/media/qiushao/source-code/Hi3519AV100_SDK /mnt
~ # ls /mnt
osdrv            scripts          sdk.unpack       smp_image_glibc
package          sdk.cleanup      smp
~ #

5. 编译运行 sample

5.1 编译 sample

海思 sdk 里面带了一些 sample:

1
2
3
4
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample$ ls
audio  awb_online_calibration  dis  fisheye  lsc_online_cali  Makefile.param  region      smp_linux.mak  svp  traffic_capture  vdec  vgs
avs    common                  dpu  hifb     Makefile         pciv            scene_auto  snap           tde  uvc_app          venc  vio
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample$

我们先试着在上面跑个简单的 vio sample 看看。vio sample 的功能是从摄像头输出,然后输出到 hdmi。
编译的方法很简单,进入 sample/vio 目录,直接 make 就行。编译成功的话,会在 vio 目录生成一个 sample_vio_main 文件:

1
2
3
4
5
6
7
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample$ cd vio
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample/vio$ ls
Makefile  res  sample_vio.h  sample_vio_main.c  smp
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample/vio$ make
...
qiushao@qiushao-pc:/media/qiushao/source-code/Hi3519AV100_SDK/smp/a53_linux/mpp/sample/vio$ ls
Makefile  res  sample_vio.h  sample_vio_main  sample_vio_main.c  sample_vio_main.o  smp

5.2 加载设备驱动

现在我们又回到板子上进行操作。
在运行 sample 之前我们需要先加载 hisi 的驱动

1
2
3
4
5
6
7
8
9
10
/ # cd /mnt/smp/a53_linux/mpp/ko
/mnt/smp/a53_linux/mpp/ko # ./load3519av100 -i -sensor0 imx334
mmz_start: 0x32000000, mmz_size: 1760M
sys_config: loading out-of-tree module taints kernel.
==========sensr0: imx334==========
==========sensr1: imx334==========
==========sensr2: imx334==========
==========sensr3: imx334==========
==========sensr4: imx334==========
Module himedia: init ok

5.3 运行 sample

驱动加载成功之后,就可以开始运行 sample 啦

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/mnt/smp/a53_linux/mpp # cd sample/vio/
/mnt/smp/a53_linux/mpp/sample/vio # ./sample_vio_main
Usage : ./sample_vio_main <index> <intf>
index:
         0)VI(Online) - VPSS(Online) - VO.
         1)VI(Offline)- VPSS(Offline) - VO. LDC+DIS+SPREAD.
         2)VI(Offline)- VPSS(Online) - VO.  Double pipe.
         3)VI(Online)- VPSS(Offline) - VO.  Double chn.
         4)Resolute Ratio Switch.
         5)GDC - VPSS LowDelay.
         6)Double WDR Pipe.
         7)FPN Calibrate & Correction.
         8)WDR Switch.
         9)90/180/270 Rotate.
         10)Mipi Demux Yuv.
         11)UserPic.
intf:
         0) vo HDMI output, default.
         1) vo BT1120 output.
/mnt/smp/a53_linux/mpp/sample/vio # ./sample_vio_main 0
[SAMPLE_COMM_VI_SetMipiAttr]-1408: ============= MipiDev 0, SetMipiAttr enWDRMode: 0
linear mode
===Imx334 8M30fps 12bit LINE Init OK!===
[SAMPLE_COMM_ISP_Thread]-187: ISP Dev 0 running !
[SAMPLE_COMM_VO_StartChn]-544: u32Width:1920, u32Height:1080, u32Square:1
---------------press Enter key to exit!---------------

至此,系统就已经运行起来了, sample 也运行起来了。后面我们再来逐步学习 camera 系统相关的开发知识。

海思hi3519av100emmcflash方式linux系统移植hitool工具烧写(代码片段)

因为我这里的海思文档只有SPINORFlash方式的详细烧写步骤,没有emmc方式的,本文提供一个自己成功的案例仅供参考和记录1.准备SDK、安装交叉编译工具、编译osdrv1.1解压SDK包 将Hi3519AV100_SDK_Vx.x.x.x.tgz文件放入ubuntu系统下ÿ... 查看详情

海思3519av100开发:海思sample代码测试之tde

...;SecureCRT8.1破解版资源网盘链接提取码:pzxg3.海思sample代码测试tde用例目录Hi3519AV100_SDK_V2.0.1.0\\smp\\a53_linux\\mpp\\sample,该文件下每个子文件都是一个例子。我们以最简单(没有输入)的例子tde作为测试。它不需要输... 查看详情

海思3519av100开发:海思sample代码测试之tde

...;SecureCRT8.1破解版资源网盘链接提取码:pzxg3.海思sample代码测试tde用例目录Hi3519AV100_SDK_V2.0.1.0\\smp\\a53_linux\\mpp\\sample,该文件下每个子文件都是一个例子。我们以最简单(没有输入)的例子tde作为测试。它不需要输... 查看详情

海思3519av100开发:linux环境搭建(代码片段)

海思文档+nfsAxe+SecureCRT8.1破解版资源网盘链接提取码:pzxg1.Linux环境搭建参考文档:ReleaseDoc\\zh\\01.software\\board\\SVP\\HiSVP开发指南.pdf概念:NNIE(NeuralNetworkInferenceEngine)其他概念和开发流程等等都省略,只为安装好对应的环... 查看详情

开发工具mtestuboot内存检测工具(mtest)的使用(代码片段)

以Hi3519av100对应的uboot为例,想要uboot下进行内存测试可以使用“mtest”命令编译uboot,配置增加mtest宏makeARCH=armxxx_hi3519av100_defconfigmakeARCH=armmenuconfig找到CONFIG_CMD_MEMTEST将其变为CONFIG_CMD_MEMTEST=y然后找到对应的“include... 查看详情

hi3519多sensor设置说明(代码片段)

hi3519多sensor设置说明mipi接口模式与设备号3519总共有12-lane输入,从手册上看支持12lane,8lane+4lane,4lane+4x2laneSDK中从mipi_rx.c文件mipi_print_lane_divide_mode函数可以区分mipi模式staticconstchar*mipi_print_lane_divide_mode(lane_div 查看详情

hi3559av100osd开发安装库文件(代码片段)

OSD开发移植库文件,用于生成bmp文件源码包链接:freetype-2.4.10.tar.gz,SDL-1.2.15.tar.gz,SDL_ttf-2.0.11.tar.gz提取码:dj8rfreetype-2.4.10.tar.gz./configureCC=aarch64-himix100-linux-gcc--h 查看详情

海思3519av100开发:开发板环境搭建

海思文档+nfsAxe+SecureCRT8.1破解版资源网盘链接提取码:pzxg2开发板环境设置本文省去kernel、uboot、文件系统烧写步骤,详见海思文档。工具:开发板、usb转串口(dp9)、usb转网卡、网线、windows10系统+nfsAxe+SecureC... 查看详情

海思3519av100开发:开发板环境搭建

海思文档+nfsAxe+SecureCRT8.1破解版资源网盘链接提取码:pzxg2开发板环境设置本文省去kernel、uboot、文件系统烧写步骤,详见海思文档。工具:开发板、usb转串口(dp9)、usb转网卡、网线、windows10系统+nfsAxe+SecureC... 查看详情

hi3519多sensor设置说明(代码片段)

hi3519多sensor设置说明mipi接口模式与设备号3519总共有12-lane输入,从手册上看支持12lane,8lane+4lane,4lane+4x2laneSDK中从mipi_rx.c文件mipi_print_lane_divide_mode函数可以区分mipi模式staticconstchar*mipi_print_lane_divide_mode(lane_divide_mode_tmode)switch(mode... 查看详情

hi3519设置crop动态调节输出分辨率(代码片段)

正常出图后,客户要求调整视角,所以需要在开始编码后设置crop,测试过好多办法都不行,单独只设置venc的crop不行,设置vpss,再设置venc也不行,设置isp,vpss在设置venc也不行,最后找到一个... 查看详情

hi3519v101调试rtc功能

...序写时间,正确。调用测试程序读时间,卡住。1,阅读代码和文档,rtc实际访问要采用spi模式。SPI时钟频率。/*clkdivvalue=(apb_clk/spi_clk)/2-1,forasic,apbclk=100MHz,spi_clk=10MHz,sovalue=0x4*/osal_writel(0x4,SPI_CLK_DIV);未完,待续  查看详情

嵌入式开发之hi3519---spinorflash启动

author:pkfqq:13277066461.官方hi3519默认是硬件3byte地址模式,配置完ddr始终后,sdkv100.020是可以支持正常启动,用到低位16Mflash内存2.如果要换成emmc启动,由于emcc的环境变量和分区信息,要在start.s中跳过960个字节3.无论nand ornorfla... 查看详情

hi3519设置crop动态调节输出分辨率(代码片段)

...样要设置crop的说是要先设置vi,最后测试成功。主要代码如下voidmycamera_setCrop(intwidth,intheight,intx,inty) HI_S32s32Ret; VI_CROP_INFO_SpstCropInfo; s32Ret=HI_MPI_VI_GetChnCrop(myViPipe,myViChn,&pstCropInfo); printf("HI_MPI_VI_GetChnCrops32Ret=:0x%lx\\n&#... 查看详情

嵌入式开发之hi3519---gpio驱动

在一个嵌入式系统中使用最多的莫过于通用输入输出GPIO口。看到论坛中经常有朋友问海思为什么没有提供GPIO驱动。其实不然。在海思SDK  xxx/osdrv/tools/board_tools/reg-tools-1.0.0/source/tools/下提供了himm的读写工具源码。你也可以... 查看详情

hi3516av200专业型hdipcamerasoc简介

Hi35xx系列开发板 SoC介绍资料及参考原理图下载链接https://pan.baidu.com/s/1jDkNTuWe7WLCizjGGIGgBA海思Hi3516AV200/3519V101+索尼IMX274开发学习评估板#机器视觉图像处理开发板#       海思Hi3516AV200+索尼IMX274,800万像... 查看详情

海思qt开发系列:3559平台qt移植(代码片段)

参考海思Hi3559av100移植Qt5.9.7Qt5.5.1移植到freescaleimx6网上的版本大都不完善,或多或少会出一些错误,所以一切以我为准!环境主机环境:Ubuntu16.04;板端:hi3559av100交叉编译环境:aarch64-himix100-linux-没环... 查看详情

关于海思hi3559安装好sdk和编译器后运行编译器出现“bash:...aarch64-himix100-linux-c++:nosuchfileordirectory”的解决方法((代码片段)

若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121424846长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808红胖子(红模仿)的博文大全:开发技... 查看详情