BM1684X搭建sophon c++环境

news2024/11/23 2:23:27

1:首先安装编译好sophon-sail

比特大陆BM1684X开发环境搭建--SOC mode-CSDN博客

2:在将之前配置的soc-sdk拷贝一份到sdk根目录,将交叉编译好的sail中的build_soc拷贝至soc-sdk文件夹内;

cp -rf build_soc/sophon-sail/inlcude soc-sdk

cp -rf build_soc/sophon-sail/lib soc-sdk

3:安装交叉编译器

 sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

4:新建文件夹MNIST,目录结构如下

CMakeFile.txt

set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)

set(CMAKE_ASM_COMPILER aarch64-linux-gnu-gcc)

set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)


include_directories("/home/wzw/Bitmain/Release_230301-public/soc-sdk/include")

include_directories("/home/wzw/Bitmain/Release_230301-public/soc-sdk/include/sail")

# 添加交叉编译需要使用的头文件目录


link_directories("//home/wzw/Bitmain/Release_230301-public/soc-sdk/lib")

# 添加交叉编译需要使用的动态库目录


set(SOURCE_FILES main.cpp)

set(TARGET_NAME MNIST)

add_executable(${TARGET_NAME} ${SOURCE_FILES})

target_link_libraries(${TARGET_NAME} sail)

# sail为需要链接的库
 

main.cpp

#define USE_FFMPEG 1

#define USE_OPENCV 1

#define USE_BMCV 1

#include <stdio.h>

#include <sail/cvwrapper.h>

#include <iostream>

#include <string>

using namespace std;

int main()

{

    int device_id = 0;

    std::string video_path = "test.avi";

    sail::Decoder decoder(video_path,true,device_id);

    if(!decoder.is_opened()){

        printf("Video[%s] read failed!\n",video_path.c_str());

        exit(1) ;

    }

    sail::Handle handle(device_id);

    sail::Bmcv bmcv(handle);

    while(true){

        sail::BMImage ost_image = decoder.read(handle);

        bmcv.imwrite("test.jpg", ost_image);

        break;

    }

    return 0;

}
 

5:编译cmake CMakeFile.txt

make

6:拷贝至板端

scp MNIST linaro@10.12.13.112:/home/wzw

./MNIST

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1513184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试用例实战(全网最详细-注册,登录,发布文章)

1.注册测试用例实战 需求图片如下&#xff1a; 注册测试点&#xff08;用等价类和边界值&#xff09; 重点提示&#xff1a; 正向&#xff1a;⼀次尽量覆盖多条 逆向&#xff1a;⼀次只能覆盖⼀条&#xff0c;其他选项必须正确。 注册测试用例 注意&#xff1a;注册的测试点…

Linux:深入文件系统

一、Inode 我们使用ls -l的时候看到的除了看到文件名&#xff0c;还看到了文件元数据。 [rootlocalhost linux]# ls -l 总用量 12 -rwxr-xr-x. 1 root root 7438 "9月 13 14:56" a.out -rw-r--r--. 1 root root 654 "9月 13 14:56" test.c 每行包含7列&…

一文弄懂空间金字塔池化网络

目录 空间金字塔池化网络是什么&#xff1f; 组成部分和工作原理 具体步骤 ​编辑 主要优点 空间金字塔池化网络是什么&#xff1f; 空间金字塔池化网络&#xff08;Spatial Pyramid Pooling Network&#xff0c;SPPNet&#xff09;是一种用于处理具有不同尺寸和比例的输入…

选股就用河北源达“财源滚滚”选股软件

在股市投资的道路上&#xff0c;选股无疑是至关重要的一环。然而&#xff0c;面对海量的个股信息和复杂的市场环境&#xff0c;如何科学、准确地选股&#xff0c;成为了投资者必须面对的难题。河北源达信息技术股份有限公司推出的“财源滚滚”选股软件&#xff0c;以其独特的优…

Kotlin 数据解析(Gson)

一、添加依赖 build.gradle.kts(:app) // gson数据解析implementation("com.google.code.gson:gson:2.8.6") 对象类&#xff1a; // 对象类 class Account {var uid:String "00001"var userName:String "Freeman"var password:String &quo…

使用IDEA构建SpringBoot程序的镜像

实战&#xff1a;使用IDEA构建SpringBoot程序的镜像 这里就以我之前写的WIT问卷管理系统为例子吧。 首先在之前写好的SpringBoot项目中新建一个DockerFile 在Dockerfile中写入我们的base镜像&#xff0c;之前我已经创建好了并且传到docker仓库了&#xff0c;这里就直接拉取 …

【教程】APP加固的那些小事情

摘要 APP加固是保护APP代码逻辑的重要手段&#xff0c;通过隐藏、混淆、加密等操作提高软件的逆向成本&#xff0c;降低被破解的几率&#xff0c;保障开发者和用户利益。本文将介绍APP加固常见失败原因及解决方法&#xff0c;以及处理安装出现问题的情况和资源文件加固策略选择…

yolo发展历史

yolo系列 一、任务描述二、设计思想三、发展历程1. YOLOv11.1问题背景1.2创新点1.3训练流程1.4检测流程1.4.1 优点1.4.2 缺点 2. YOLOv22.1问题背景2.2创新点2.3提升性能的方法2.4训练流程&#xff1f;&#xff1f;&#xff1f;&#xff1f; 3. YOLOv33.1问题背景3.2模型改进 4…

MySQL学习Day31-主从复制

一、主从复制概述: 主从复制作用1:读写分离&#xff0c;可以通过主从复制的方式来同步数据&#xff0c;然后通过读写分离提高数据库并发处理能力;其中一个是Master主库&#xff0c;负责写入数据;其它都是slave从库&#xff0c;负责读取数据。当主库进行更新的时候&#xff0c;…

相机安装位置固定后开始调试设备供电公司推荐使用方法

摄像头安装位置固定后开始调试 设备供电&#xff1a;无电源设备需要连接12V/2A电源并连接到摄像机的DC端口&#xff0c;而有电源的摄像机可以直接连接到220V电源。 连接设备&#xff1a;如果是有线连接&#xff0c;请使用网线将设备连接到电脑&#xff08;建议直接连接&#…

Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人

今天我们来重点研究与实测一个开源的Text2SQL优化框架 – Vanna 1. Vanna 简介【Text-to-SQL 工具】 Vanna 是一个基于 MIT 许可的开源 Python RAG&#xff08;检索增强生成&#xff09;框架&#xff0c;用于 SQL 生成和相关功能。它允许用户在数据上训练一个 RAG “模型”&a…

PLC数采网关在实际应用中的效能-天拓四方

在工业自动化领域中&#xff0c;PLC扮演着至关重要的角色&#xff0c;它负责控制和监测生产线的各个环节。然而&#xff0c;随着工业4.0的推进和智能制造的快速发展&#xff0c;单纯依靠PLC进行现场控制已无法满足企业对数据集中管理、远程监控和智能分析的需求。因此&#xff…

立即注册 | 线上讲座:借助 NGINX Plus 优化物联网数据传输和应用安全

原文作者&#xff1a;NGINX 原文链接&#xff1a;立即注册 | 线上讲座&#xff1a;借助 NGINX Plus 优化物联网数据传输和应用安全 转载来源&#xff1a;NGINX 开源社区 NGINX 唯一中文官方社区 &#xff0c;尽在 nginx.org.cn 基本信息 课程主题 借助 NGINX Plus 优化物联网…

地理数据 vs. 3D数据

在表示我们周围的物理世界时&#xff0c;地理空间数据和 3D 建筑数据是两个最常见的选择。 他们在各个行业和项目中发挥着至关重要的作用。 从构建数字孪生到可视化城市景观和创建沉浸式应用程序。 尽管地理空间和 3D 建筑数据有相似之处&#xff0c;但它们不可互换。 虽然地…

专升本 C语言笔记-05 常量定义 #define宏定义 const关键字 enum关键字

1.宏定义 #define的使用 1.1.宏定义的概念 宏定义就是用一个标识符来表示一个字符串,如果后面代码出现了该标识符,那么就全部替换成指定的字符串 1.2.宏定义实现案例 #include <stdio.h> #define N 123 int main() {printf("N %d\n",N);printf("N N…

Linux tcpdump抓包转Wireshark 分析

简介 tcpdump 是Linux系统下的一个强大的命令&#xff0c;可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤&#xff0c;本文将展示如何使用 tcpdump 抓包&#xff0c;以及如何用 tcpdump 和 wireshark 分析网络流量 tcpdump指…

一文带你详解天池医疗数据集

医疗作为和民生健康息息相关的产业&#xff0c;通过天池大赛开放出一批有临床科研价值的数据集&#xff0c;涵盖了预防、辅诊、医学科研等主题。 与此同时&#xff0c;阿里云天池平台也积极推动产学研的共同进步&#xff0c;开源了多个本地生活领域的数据集&#xff0c;如aBea…

(含代码)利用TensorRT的8位PTQ将Stable Diffusion速度提高 2 倍

利用TensorRT的8位PTQ将Stable Diffusion速度提高 2 倍 在生成人工智能的动态领域中&#xff0c;扩散模型脱颖而出&#xff0c;成为生成带有文本提示的高质量图像的最强大的架构。 像稳定扩散这样的模型已经彻底改变了创意应用。 然而&#xff0c;由于需要迭代去噪步骤&#x…

vulhub靶场-Jangow

下载&部署 下载 下载链接&#xff1a; https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 点击下载即可 部署 因为源虚拟机是从virtualbox导出的&#xff0c;为了避免繁琐的操作步骤&#xff0c;用virtualbox来导入 virtualbox下载地址&#xff1a; https:…

2021年1月1日起四川启动食品经营许可与备案电子证书办理

12月25日&#xff0c;四川省市场监督管理局、四川省大数据中心发布《关于启用食品经营许可登记电子证书的公告》&#xff08;以下简称《公告》&#xff09;。 《公告》显示&#xff0c;为贯彻落实《食品经营许可证管理办法》、《四川省小食品作坊、小经营店、商贩管理规定》和国…