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

环境配置-SOC模式

1:对于SoC模式,模型转换也需要在docker开发容器中完成;C/C++程序建议在x86主机上使用交叉编译工具链编译生成可执行文件后,再拷贝到SoC目标平台运行;

2:对于SoC平台,内部已经集成了相应的libsophon、sophon-opencv和sophon-ffmpeg运行库包,位于/opt/sophon/下。只需设置环境变量即可;

# 设置环境变量

export PYTHONPATH=$PYTHONPATH:/opt/sophon/sophon-opencv_<x.y.z>/opencv-python

安装docker

sudo apt-get install docker.io

# docker命令免root权限执行

# 创建docker用户组,若已有docker组会报错,没关系可忽略

sudo groupadd docker

# 将当前用户加入docker组

sudo gpasswd -a ${USER} docker

# 重启docker服务

sudo service docker restart

# 切换当前会话到新group或重新登录重启X会话

newgrp docker​

tpu-Mlir环境搭建

BM1684X请使用MLIR工具链!!!!

1:进入docker

docker run --privileged --name tpu-mlir -v $PWD:/workspace -it sophgo/tpuc_dev:v2.2

原因:该镜像已创建,要么重新创建一个新进程,要么杀死老进程;

解决办法如下:

查看当前创建的docker

2:tar zxf tpu-mlir_v0.9.9-g29bbf954-20230327.tar.gz

3:source envsetup.sh

libsophen环境搭建

获取当前pc的架构

# 安装依赖库,只需要执行一次

sudo apt install dkms libncurses5

sudo dpkg -i sophon-*.deb

# 在终端执行如下命令,或者log out再log in当前用户后即可使用bm-smi等命令

source /etc/profile

使用手册
LIBSOPHON使用手册 — LIBSOPHON-GUIDE v23.03.01 文档

sophon-MW安装

sudo dpkg -i sophon-mw-sophon-ffmpeg_0.6.0_amd64.deb sophon-mw-sophon-ffmpeg-dev_0.6.0_amd64.deb

sudo dpkg -i sophon-mw-sophon-opencv_0.6.0_amd64.deb sophon-mw-sophon-opencv_0.6.0_amd64.deb

使用手册
3. 安装sophon-mw — Multimedia Manual v23.03.01 文档

交叉编译环境搭建:

首先安装交叉编译工具:sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

其次解压sophon-img包里的libsophon_soc_<x.y.z>_aarch64.tar.gz,将lib和include的所有内容拷贝到soc-sdk文件夹

cd sophon-img_<date>_<hash>

# 创建依赖文件的根目录

mkdir -p soc-sdk

# 解压sophon-img release包里的libsophon_soc_${x.y.z}_aarch64.tar.gz,其中x.y.z为版本号

tar -zxf libsophon_soc_<x.y.z>_aarch64.tar.gz

# 将相关的库目录和头文件目录拷贝到依赖文件根目录下

cp -rf libsophon_soc_<x.y.z>_aarch64/opt/sophon/libsophon-<x.y.z>/lib ./soc-sdk

cp -rf libsophon_soc_<x.y.z>_aarch64/opt/sophon/libsophon-<x.y.z>/include ./soc-sdk

接着解压sophon-mw包里的sophon-mw-soc_<x.y.z>_aarch64.tar.gz,将sophon-mw下lib和include的所有内容拷贝到soc-sdk文件夹

cd sophon-mw_<date>_<hash>

# 解压sophon-mw包里的sophon-mw-soc_<x.y.z>_aarch64.tar.gz,其中x.y.z为版本号

tar -zxf sophon-mw-soc_<x.y.z>_aarch64.tar.gz

# 将ffmpeg和opencv的库目录和头文件目录拷贝到依赖文件根目录下

cp -rf sophon-mw-soc_<x.y.z>_aarch64/opt/sophon/sophon-ffmpeg_<x.y.z>/lib ${soc-sdk}

cp -rf sophon-mw-soc_<x.y.z>_aarch64/opt/sophon/sophon-ffmpeg_<x.y.z>/include ${soc-sdk}

cp -rf sophon-mw-soc_<x.y.z>_aarch64/opt/sophon/sophon-opencv_<x.y.z>/lib ${soc-sdk}

cp -rf sophon-mw-soc_<x.y.z>_aarch64/opt/sophon/sophon-opencv_<x.y.z>/include ${soc-sdk}

验证

which aarch64-linux-gnu-g++

终端输出内容

/usr/bin/aarch64-linux-gnu-g++

安装sophon_sail(即可在板端使用python进行bmodel模型推理)

参考-->2. 编译安装指南 — sophon-sail v23.03.01 文档

1:首先解压sophon-sail_3.4.0.tar.gz

2:进入到解压出来的sophon-sail

3:创建一个build目录并进入

mkdir build && cd build

4:执行以下命令

 cmake -DBUILD_TYPE=soc  \

    -DCMAKE_TOOLCHAIN_FILE=../cmake/BM168x_SOC/ToolChain_aarch64_linux.cmake \

    -DPYTHON_EXECUTABLE=python_3.8.2/bin/python3 \

    -DCUSTOM_PY_LIBDIR=python_3.8.2/lib \

    -DLIBSOPHON_BASIC_PATH=libsophon_0.4.6_aarch64/opt/sophon/libsophon-0.4.6 \

    -DFFMPEG_BASIC_PATH=sophon-mw-soc_0.6.0_aarch64/opt/sophon/sophon-ffmpeg_0.6.0 \

-DOPENCV_BASIC_PATH=sophon-mw-soc_0.6.0_aarch64/opt/sophon/sophon-opencv_0.6.0 ..

这里需要注意一下红色的路径需要根据自身情况进行更改,这里的python包建议直接下载官方编译好的SOPHGO(python版本需与板端一致,可以使用python --version进行查看)

5:执行make即可

6:make install

 

7:此时会在build同级目录下生成一个build_soc文件夹,将该目录下的sophon-sail文件推至板端的/opt/sophon目录下

scp -r sophon-sail/ linaro@10.12.13.105:/opt/sophon

8:将sail进行打包,

cd sophon-sail_20230327_085400/sophon-sail/python/soc

chmod a+x  sophon_soc_whl.sh

./sophon_soc_whl.sh

可能会遇到如下问题,sudo pip3 install wheel即可

9:将生成的sophon_arm-3.4.0-py3-none-any.whl拷贝到目标SOC上,然后在板端执行如下安装命令

pip3 install sophon_arm-3.4.0-py3-none-any.whl --force-reinstall

10:检测是否安装成功,不报错即成功

至此sophon-sail安装成功

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 《Xilinx All Programmable Zynq-7000 SoC设计指南》是一本为设计师提供关于Xilinx Zynq-7000 SoC架构和应用的指南。该指南旨在帮助设计师全面了解并充分利用Xilinx Zynq-7000 SoC的优势。 首先,该指南详细介绍了Zynq-7000 SoC的基本架构和组成部分,包括处理系统(PS)和可编程逻辑(PL)。处理系统基于ARM Cortex-A9处理器,提供了高性能和低功耗的处理能力,而可编程逻辑则提供了高度可定制和可扩展的硬件加速功能。 其次,该指南介绍了如何使用Xilinx Vivado设计套件进行系统设计和开发。Vivado提供了丰富的设计工具和IP核库,帮助设计师快速实现各种功能模块。这些工具和IP核可以帮助设计师完成从系统级设计到RTL开发的整个设计流程。 此外,该指南还讨论了基于Zynq-7000 SoC的嵌入式系统设计的关键问题。例如,如何有效地利用处理系统和可编程逻辑的协同工作,如何优化系统引脚分配和时序约束,以及如何进行系统级的功耗优化等等。 最后,该指南还提供了大量的设计实例和案例分析,帮助设计师理解如何应用Zynq-7000 SoC进行具体的应用开发。这些实例和案例分析涵盖了各种应用领域,包括工业控制、汽车电子、通信系统等。 总之,Xilinx All Programmable Zynq-7000 SoC设计指南通过详细介绍Zynq-7000 SoC的架构和组成部分,以及提供丰富的设计工具和实例,帮助设计师快速掌握并应用Zynq-7000 SoC进行系统设计和开发。这本指南是设计师在使用Zynq-7000 SoC时的重要参考资料。 ### 回答2: 《Xilinx All Programmable Zynq-7000 SoC设计指南》是一本关于Xilinx Zynq-7000 SoC的设计指南。Zynq-7000 SoC是一款Xilinx公司推出的集成了ARM Cortex-A9双核处理器和可编程逻辑的SoC芯片。 首先,指南介绍了Zynq-7000 SoC的基本架构和特性。它解释了SoC芯片中ARM处理器和FPGA可编程逻辑相互协作的方式,并详细说明了它们各自的功能和优势。此外,指南还介绍了Zynq-7000 SoC支持的外设和接口,如UART、SPI、I2C、GPIO等,以及相应的硬件和软件编程方法。 其次,指南详细说明了如何利用Xilinx Vivado工具和SDK进行Zynq-7000 SoC开发和编程。它包含了从项目创建、设计激活到综合、实现和生成比特流的全过程。指南还介绍了如何将ARM处理器和可编程逻辑之间的数据传输进行优化,以实现最佳性能。 此外,指南还提供了一系列面向不同应用场景的示例设计。这些设计包括图像处理、机器人控制、工业自动化等,可以作为开发者的参考和借鉴。每个示例设计都包含了详细的框图、资源配置和软件代码,帮助开发者更好地理解和应用Zynq-7000 SoC。 最后,指南还介绍了一些与Zynq-7000 SoC相关的开发资源和工具。这些资源包括官方网站、社区论坛、开发板和模块等。开发者可以通过这些资源获取更多的技术支持和学习资料,加速项目的开发和上市时间。 总之,《Xilinx All Programmable Zynq-7000 SoC设计指南》详细介绍了Zynq-7000 SoC的架构、开发方法、示例设计以及相关资源和工具。对于希望了解和应用Zynq-7000 SoC开发者来说,这本指南是一本非常有价值的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warren@伟_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值