精华内容
下载资源
问答
  • 海思3519a的mpp层处理文档,里面有详细的基于mpp层的搭建,希望对大家有用。
  • 海思3519A平台上使用qt opencv 进行测试opencv是否正确移植的程序。
  • opencv3.2 海思3519A 交叉编译结果,如果平台相同,而且也同样想使用opencv3.2 版本的童鞋,可以直接下载使用,参考博客: https://www.cnblogs.com/chay/p/10384942.html
  • 海思3519A芯片的架构: 系统设计架构图 因为嵌入式板卡上不能进行编译,只能执行指令和运行编译后的执行文件,所以要采用Linux服务器和3519A板卡的交叉编译方式。 设计流程 华为海思官方推荐的是Windows+...

    架构总览

    海思3519A芯片的架构:

     

    系统设计架构图

    因为嵌入式板卡上不能进行编译,只能执行指令和运行编译后的执行文件,所以要采用Linux服务器和3519A板卡的交叉编译方式。

    设计流程

    华为海思官方推荐的是Windows+Linux+Hi3519A共同编译,分工如下流程:

    1.Windows:进行模型的转换和仿真。RuyiStudio

    2.Linux:使用交叉编译进行编译。arm-himix200-linux

    3.Hi3519A:板卡进行最后的运行。

    这里声明下,我这边采用的是Windows和Linux之间通过shell连接,Linux和Hi3519A之间通过nftp文件传输系统进行连接,Hi3519A和Windows之间是通过串口进行连接。

     

    准备阶段

    1. Hi3519A板卡点亮

     

    2. Linux和Windows开发和运行环境搭建

     

    开发过程

    1. 要将自己的YOLO模型的权重文件与cfg文件转化为caffe的权重与结构文件。此过程中需要安装caffe并修改重新编译使得caffe支持特殊网络层。

                                           https://blog.csdn.net/avideointerfaces/article/details/89111955

    2.打开SDK中提供的sample文件,将caffe模型转化为海思可以识别的.wk文件。

                                           https://blog.csdn.net/qq_34533248/article/details/102496209

    3.完成wk文件的功能仿真与指令仿真,简单分析仿真代码与修改方法。

                                           https://blog.csdn.net/qq_34533248/article/details/102497297

    4.将有关nnie的sample 进行修改并make ,并分析与修改部分代码,传输到开发板进行调试

                                          https://blog.csdn.net/qq_34533248/article/details/102498143

    5.将相关sample代码重构并封装成API(施工中...)

    6.重构从摄像头读取图像并将推理结果显示出来的sample(未完成)


    注意事项:

    1. 因为3519A板卡只支持cafffe框架且是v1.0最基础版本,所以需要将yolov3模型转化成.caffemodel格式。

    板卡上

    2. 华为海思3519A给的SDK里面没有yolov3的Demo例子,这点还需要自己整。

     

    展开全文
  • 海思3519A配置IP

    2020-10-16 14:23:27
    查询ip:ip addr 或 ip a 配置ip:ifconfig eth0 192.168.0.100 一、临时修改 1:修改IP地址 ifconfig eth0 192.168.0.100 2:修改网关地址 route add default gw 192.168.0.1 dev eth0 3:修改DNS echo ...

    查询ip:ip addr 或 ip a

    配置ip:ifconfig eth0 192.168.0.100

    一、临时修改

    1:修改IP地址
    ifconfig eth0 192.168.0.100

    2:修改网关地址
    route add default gw 192.168.0.1 dev eth0

    3:修改DNS
    echo "nameserver 8.8.8.8" >> /etc/resolv.conf

    这个时候就可以上网了,上网的IP地址为192.168.0.100,网关地址为192.168.0.1。但是这样的设置是临时性的,一旦重启网卡或者重启服务器,除了3的操作其他均会被还原,这样的方式只适合临时IP修改,想要永久性修改网卡配置文件,就需要修改相应的文件

    二、永久修改

    在文件/etc/init.d/rcS中修改

    #! /bin/sh

    /bin/mount -a

    ifconfig eth0:0 192.168.0.100 netmask 255.255.255.0 broadcast up

     

    展开全文
  • 生成 MakeFile 文件之后,依次进行: make make install make编译完后, 会生成若干Qt的.a文件,这里说下qt的核心库会被编译在qt-everywhere-opensource-src-5.5.1/qtbase/lib目录下,而fb以及图像支持的库入libjpeg...

    源码下载

    配置生成MakeFile 文件

    解压源码包,在源码包路径下生成配置 MakeFile :

    ./configure -prefix /home/qt-5.5.1 -release -opensource -confirm-license -static \

    -platform linux-g++ -xplatform linux-himix200-linux-g++ \

    -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -no-pch -no-avx -no-openssl \

    -no-cups -no-dbus -no-opengl -no-glib -skip qtwebchannel -skip qtcanvas3d -skip qtwebkit \

    -mtdev -evdev -nomake examples -nomake tests

    -prefix /home/qt-5.5.1 指定最终的安装路径为/home/qt-5.5.1;

    -static 来生成静态库是为了方便程序在板端运行,减少对库加载路径的配置以及文件目录的挂载。执行程序时不需要再设置一堆的环境变量以及挂载库的路径;

    -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype 这几个选项最好使用qt库自带的源码,不然如果系统上没有这个库或者找不到,自行编译这些库后再加入到相关路径上还需要为这些库写依赖文件才能使用,没有依赖文件,链接程序时会报一些插件找不到的错误;

    -platform linux-g++ 指的是你在什么机器上编译这些文件;

    -xplatform 指的是程序要运行在什么平台,linux-g++会用来编译一些使用工具;

    -mtdev 用于多点触摸,-evdev 用于鼠标键盘;

    生成 MakeFile 文件之后,依次进行:

    make

    make install

    make编译完后, 会生成若干Qt的.a文件,这里说下qt的核心库会被编译在qt-everywhere-opensource-src-5.5.1/qtbase/lib目录下,而fb以及图像支持的库入libjpeg和libgif等库都是以插件的形式存在的,放在qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins目录下。

    Qt库对接海思平台

    linuxfb 插件修改重编译

    arm上使用的绘图后端一般都是linuxfb这个插件,在海思上使用fb之前需要先做一些初始化的工作,需要先初始化MPP系统以及VO,不然直接打开fb会报权限不允许的错误。 在此我们可以通过修改qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb,添加MPP,VO初始化的工作。之后再执行:

    make

    make install

    这时linuxfb插件就可以适配海思平台,此部分的修改参考文末的下载程序。

    交叉编译环境配置

    点击qtCeator菜单栏的Tools->option->Build&Run,配置交叉编译环境:

    Compliers选项,增加一个编译器,配置该编译器的路径为相应的arm-himix200-linux-g++的路径,,我的路径是arm-himix200-linux/bin/下。

    Qt Versions选项,增加一个qmake工具,Qt中通过qmake编译.pro文件来生成Makefile。配置该qmake工具路径为qt-5.5.1/bin/qmake, 该qmake是使用arm-himix200-linux-g++编译后生成的工具类,专门使用在3519平台上,用于生成相应的Makefile。

    Kits,增加一个Kit,在compiler和Qt Version中选中步骤1,2中配置的选项。

    测试

    创建一个简单的qt程序,在.pro中添加海思相关的库和头文件,并使用qmake手动生成makefile:

    qt-5.5.1/bin/qmake *.pro -o Makefile

    接着make并生成可执行文件,将文件拷贝到nfs系统的/home目录下,工程可以参考文末的下载程序,接着就可以执行程序。

    hifb 叠加

    目的是将qt的GUI与海思的MPI分离,在视频层上叠加上图形层。 此部分的工作,需要在linuxfb上启用hifb。 另外,设置QT界面透明显示 (1) 修改qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp:

    for (int i = 0; i < rects.size(); i++)

    {

    // -

    //mBlitter->drawImage(rects[i], *mScreenImage, rects[i]);

    // +

    mBlitter->setCompositionMode(QPainter::CompositionMode_Source);

    mBlitter->drawImage(rects[i], *mScreenImage, rects[i]);

    mBlitter->setCompositionMode(QPainter::CompositionMode_SourceOver);

    }

    (2) 修改qtbase\src\platformsupport\fbconvenience\qfbscreen.cpp:

    // -

    //mCompositePainter->fillRect(rect, Qt::black);

    //+

    mCompositePainter->setCompositionMode(QPainter::CompositionMode_Source);

    mCompositePainter->fillRect(rect, Qt::transparent);

    mCompositePainter->setCompositionMode(QPainter::CompositionMode_SourceOver);

    (3) 修改qt程序

    MainWindow::MainWindow(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::MainWindow)

    {

    ui->setupUi(this);

    setWindowFlags(Qt::CustomizeWindowHint);

    }

    展开全文
  • 海思3519A 移植ffmpeg

    2019-09-24 09:35:22
    文件下载 下载x264 git clone git://git.videolan.org/x264.git 下载ffmpeg git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 编译和安装 ...CC=arm-himix200-linux-gcc ./configure \ --host=arm-himix200-li...

    文件下载

    • 下载x264
    git clone git://git.videolan.org/x264.git
    • 下载ffmpeg
    git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

    编译和安装

    x264编译

    CC=arm-himix200-linux-gcc  ./configure \
    --host=arm-himix200-linux \
    --prefix=/opt/ffmpeg-hisi/x264_hisi \
    --cross-prefix=arm-himix200-linux- \
    --enable-static \
    --enable-shared \
    make 
    make install

    ffmpeg 编译安装

    ./configure \
            --prefix=/opt/ffmpeg-hisi/ffmpeg_hisi/ \
            --enable-filters   \
            --enable-asm \
            --enable-ffmpeg \
            --enable-ffplay \
            --enable-ffprobe \
            --enable-doc \
            --enable-cross-compile \
            --cross-prefix=arm-himix200-linux- \
            --arch=arm \
            --target-os=linux \
            --host-os=linux \
            --enable-gpl \
            --enable-version3 \
            --enable-small \
            --enable-shared \
            --enable-static \
            --enable-encoder=rawvideo \
            --enable-encoder=mpeg2video \
            --enable-encoder=mp2 \
            --enable-encoder=libx264 \
            --enable-libx264 \
            --enable-muxer=adts \
            --enable-muxer=mpegts \
            --enable-muxer=mpeg2video \
            --enable-muxer=rtsp \
            --enable-muxer=hls \
            --enable-muxer=h264 \
            --enable-muxer=rtp \
            --enable-muxer=avi \
            --enable-muxer=flv \
            --enable-muxer=mp4 \
            --enable-demuxer=mpegts \
            --enable-demuxer=rtsp \
            --enable-demuxer=hls \
            --enable-demuxer=h264 \
            --enable-demuxer=rtp \
            --enable-demuxer=flv \
            --enable-muxer=mp4 \
            --enable-demuxer=mpegts \
            --enable-demuxer=rtsp \
            --enable-demuxer=hls \
            --enable-demuxer=h264 \
            --enable-demuxer=rtp \
            --enable-demuxer=flv \
            --enable-demuxer=avi \
            --enable-demuxer=mpegps \
            --enable-demuxer=mpegtsraw \
            --enable-demuxer=mpegvideo \
            --enable-parser=aac \
            --enable-parser=h264 \
            --enable-parser=mpeg4video \
            --enable-parser=mpegvideo \
            --enable-parser=mpegaudio \
            --enable-bsf=h264_mp4toannexb \
            --enable-protocol=http \
            --enable-protocol=rtp \
            --enable-protocol=rtmpts \
            --enable-protocol=https \
            --enable-protocol=hls \
            --enable-protocol=file \
            --enable-protocol=data \
            --enable-gray  \
            --enable-safe-bitstream-reader \
            --extra-cflags=-I/opt/ffmpeg-hisi/x264_hisi/include \
            --extra-ldflags=-L/opt/ffmpeg-hisi/x264_hisi/lib
    make 
    make install

    转载于:https://www.cnblogs.com/chay/p/11038678.html

    展开全文
  • 海思3519A uboot开机画面

    热门讨论 2020-04-03 12:02:10
    然后在 cmd_vo_hi3519av100.c do_startvo 函数,会调到 mipi_tx_display,调到 Mipi_tx.c ,需要在此完成自己屏幕初始化的部分: / * name : mipi_tx_display * desc : mipi_tx interface display.*/ int mipi_tx_...
  • 介绍如何使用Paho提供的嵌入式C语言MQTT开源工程交叉编译(海思3519A/3516D),并进行消息收发测试。https://github.com/eclipse/paho.mqtt.embedded-c 2、解压sdk unzip paho.mqtt.embedded-c-master.zip 目录 /...
  • 海思3519A 移植 Qt 5.5.1

    2019-09-24 09:32:50
    , 该qmake是使用arm-himix200-linux-g++编译后生成的工具类,专门使用在3519平台上,用于生成相应的Makefile。 Kits,增加一个Kit,在compiler和Qt Version中选中步骤1,2中配置的选项。 测试 创建一个简单的...
  • tftp 0x42000000 u-boot-hi3519av100.bin nand erase 0 80000 nand write 42000000 0 80000 也可以使用 HiTool 软件烧写: 烧写时需要注意串口不被占用。 烧写过程中要先断电再重新上电。 内核烧写 mw.b ...
  • 我是在qt中使用opencv,提前已经编译好了可以在海思3519A上执行的qt,测试部分代码如下: void cvTest() { Mat img = imread("lena.jpg"); Mat grad_x; Sobel(img, grad_x, CV_16S, 1, 0); Mat grad_y; ...
  • 安装nfs文件系统 在开发调试过程中,我们需要在linux服务器上安装nfs,以便开发代码可以mount到板子来运行。 sudo apt-get install nfs-kernel-server //install sw sudo apt-get install nfs-common //install ...
  • 系统架构:
  • protobuf简介 protobuf(Google Protocol Buffers)是Google提供一个具有高效的协议数据交换格式工具库(类似Json),但相比于Json,Protobuf有更高的转化效率,时间效率和...参考:protobuf2.6.1海思平台交叉编译 准备:

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 197
精华内容 78
关键字:

海思3519a