Huawei Atlas 200 DK使用教程——最全的教程之一

Huawei Atlas 200 DK配置教程

后续还会继续更新

软件环境依赖配置

系统需求

我目前使用的是Ubuntu16.04,华为官方要求也是使用Ubuntu16.04进行环境配置和开发。

前期系统配置工作

1.要安装mindstdio的用户准备
  • 工具只支持单用户安装并操作Mind Studio,不支持多用户同时安装或使用。
  • 若使用已存在的非root用户安装,须保证该用户对$HOME目录具有读写以及可执行权限。
  • 若使用新的非root用户安装Mind Studio,请参考如下步骤进行创建,如下操作请在root用户下执行。本手册以该种场景为例执行Mind Studio的安装。

执行下面的语句创建一个用户

useradd -d /home/username -m username

执行下面的命令设置密码

passwd username

username为安装 Mind Studio的用户名,该用户的umask值不能大于0027:
若要查看umask的值,则执行命令:umask
若要修改umask的值,则执行命令:umask 新的取值

2.配置用户权限(可选)
  1. 打开“/etc/sudoers”文件:
chmod u+w /etc/sudoers
vi /etc/sudoers
  1. 在该文件“# User privilege specification”下面增加如下内容:
username ALL=(ALL:ALL)   NOPASSWD:SETENV:/usr/bin/apt-get

**“username”**为执行安装脚本的普通用户名。

说明:
请确保“/etc/sudoers”文件的最后一行为“#includedir /etc/sudoers.d”,如果没有该信息,请手动添加。

  1. 添加完成后,执行:wq!保存文件。
  2. 执行以下命令取消“/etc/sudoers”文件的写权限:
chmod u-w /etc/sudoers
3.检查源

请在root用户下执行如下命令检查源是否可用。

apt-get update
4.安装依赖
  • 先执行su - username 切换到要安装MindStdio的用户,执行下面的代码进行依赖安装。(gcc、jdk)
sudo apt-get install gcc g++ cmake curl libboost-all-dev libatlas-base-dev unzip haveged liblmdb-dev

sudo apt-get install python-skimage python3-skimage python-pip python3-pip

sudo apt-get install libhdf5-serial-dev libsnappy-dev libleveldb-dev swig python-enum python-future

sudo apt-get install make graphviz autoconf libxml2-dev libxml2 libzip-dev libssl-dev sqlite3 python
  • 安装JDK
    执行sudo apt-get install -y openjdk-8-jdk命令安装JDK。

1.若本地已经安装JDK,使用java -version命令查看版本号,若版本号低于1.8.0_171,则请卸载JDK,然后通过检查源中的方法重新下载源,并安装JDK。
2.若通过检查源中的源以及2.a中的命令安装的JDK,通过java -version命令查看版本号,若版本号低于1.8.0_171,则使用sudo apt-get update更新源。
3.若通过以上两种方法更新源后,若版本号仍低于1.8.0_171,则进入Oracle官网下载jce_policy-8.zip文件,将该包中的local_policy.jar和US_export_policy.jar文件,替换掉“%JAVA_HOME%\jre\lib\security”中的相应文件(%JAVA_HOME%为环境变量,该环境变量所指地址可以在.bashrc文件中查看)。

  • 配置JAVA_HOME环境变量,Mind Studio的安装及运行都依赖该环境变量,设置方法如下。

说明: 若未按照该步骤设置环境变量,则在安装Mind Studio时会提示如下错误信息,安装Mind Studio失败。Please set JAVA_HOME !, Exit 1

  • 在任何目录下执行vi ~/.bashrc命令,打开.bashrc文件。
    在文件的最后一行后面添加如下内容。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
export PATH=$JAVA_HOME/bin:$PATH

说明:
“JAVA_HOME”为JDK的安装目录,若用户已经配置了JDK,请根据安装目录的实际情况进行修改。若根据上述步骤安装的JDK,则安装目录不用修改。

  • 执行:wq!命令保存文件并退出。
  • 执行source ~/.bashrc命令使环境变量生效。
  • 执行 echo $JAVA_HOME命令检查环境变量设置,回显信息如下:
/usr/lib/jvm/java-8-openjdk-amd64

执行which jconsole命令检查JDK安装。
如果输出如下回显信息表示安装成功,如果未输出如下回显信息表示JDK安装失败。

/usr/lib/jvm/java-8-openjdk-amd64/bin/jconsole

此外还要安装Python 2.7及以上的Python2和3.5及以上版本的Python3,两个版本的Python都需要安装。

5.设置安装权限
  • 首先进入到主目录(也可以是Linux系统下的$HOME目录),执行
mkdir <dir_name>
  • 设置文件夹权限
    对于新建的文件安装的用户必须要有读写和执行的权限,所以要进行权限设置。
chown username:usergroup <dir_name>
chmod 750 <dir_name>

username为安装Mind Studio的用户名。
usergroup为安装Mind Studio的用户所属的组。

usergroup为安装Mind Studio的用户所属的第一个组,查询命令为groups
若工具安装在其他路径,请确保此路径也具有750权限。 只对director文件夹设置750权限即可。

在这里插入图片描述

Mind Stdio安装

1.软件包下载

Mind Stdio、DDK:

  1. 首先进入昇腾开发者社区https://www.huaweicloud.com/ascend/home.html?ggw_kfz
  2. 点击"资源"–>选择工具
  3. 找到DDK和MindStdio,
  4. 进入下载页面
    在这里插入图片描述
    将这六个文件下载下来。

注意版本号的对应在这里插入图片描述

2.软件包完整性校验

为了防止软件包在传输过程中由于网络原因或存储设备原因出现下载不完整或文件破坏的问题,在执行安装前,建议您对软件包的完整性进行校验。

在安装包所在目录刚才创建的文件<dir_name>下,执行如下操作:

  • 使用Mind Studio安装用户分别执行如下命令,检测Mind Studio和DDK软件包是否合法完整,如图2所示。
    Mind Studio:
gpg --verify "mini_mind_studio_*.rar.asc"
  • DDK:
gpg --verify "MSpore_DDK****tar.gz.asc"

在这里插入图片描述

  • 返回信息中“D5CFA5D9”为Mind Studio公钥ID,“27A74824”为DDK公钥ID。
    提示信息返回“Good signature”且信息中无 WARNING 或 FAIL,表明此签名为有效签名,软件包完整性校验通过。
  • 若提示信息存在 WARNING 或 FAIL,则表明验证不通过,请参见软件包完整性校验返回WARNING或 FAIL处理建议解决。

操作时,请将mini_mind_studio_.rar.asc以及MSpore_DDK***tar.gz.asc替换为实际安装包对应的校验文件。
软件包和软件包.asc文件必须放在同一个路径,才能进行完整性校验。 解压安装包 使用Mind
Studio的安装用户执行如下命令,解压“mini_mind_studio_Ubuntu.rar”安装包。

unzip mini_mind_studio_Ubuntu.rar

说明: 安装Mind Studio时,安装脚本会自动加载DDK安装包中的相关内容,所以无需解压DDK安装包。

详情见
https://www.huaweicloud.com/ascend/doc/mindstudio/2.1.0(beta)/zh/zh-cn_topic_0200348016.html

3.安装

  • 首先进入到存放这六个文件的文件夹用控制台
    在这里插入图片描述
    这里我放到的是ascend文件
    在这里插入图片描述
    执行指令
tar zxvf mindstdio.tar.gz

等待解压完毕之后
会出现对应的文件夹在这里插入图片描述
用控制台cd进入
执行下面的语句

cd MindStdio-ubuntu/bin

在这里插入图片描述
MindStdio.sh这个文件不仅是安装的文件,还是之后打开MindStdio的文件,我们可以写一个脚本来方便我们打开

#!/bin/bash

cd ~/home/ascend/MindStudio-ubuntu/bin
./MindStudio.sh

在这里插入图片描述
这里他会显示你的系统是否可以安装
都是对勾没问题之后点击next

进入到这个页面之后就要选择你的DDK文件了,点击右边的按钮选择DDK文件路径,记住一定要选对应版本的
注意不要把DDK的tar.gz文件给解压了,直接选择tar.gz即可,然后就会对应找到Asc文件,不过新版本好像不需要。
在这里插入图片描述

在这里插入图片描述

一定要注意对应上版本,就是文件里面Ascend_DDK-(这里的内容).T12.B120-1.1.1-x86_64

使用Mind Studio的安装用户将如下文件上传至Mind Studio安装服务器任意目录,本示例为上传到$HOME目录:
mindstudio.tar.gz:Mind Studio软件包。
Mmindstudio.tar.gz.asc:Mind Studio软件包校验文件。
Ascend_DDK-{software version}-{interface version}-x86_64.ubuntu16.04.tar.gz:DDK软件包。
Ascend_DDK-{software version}-{interface version}-x86_64.ubuntu16.04.tar.gz.asc:DDK软件包校验文件。

然后等待安装即可。

结束之后会自动运行打开
在这里插入图片描述

然后就可以进行开发了。

创建工程

打开之后点击创建项目
在这里插入图片描述
第一个是一个算子工程,第二个就是应用工程
在这里插入图片描述
在这里可以进行选择哪种类别的项目,可以选择分类网络,目标检测等。
在这里插入图片描述

这样一个工程就创建完毕了。

硬件开发板配置

1.准备软件包

在这里插入图片描述
图中的链接
https://gitee.com/HuaweiAscend/tools
https://github.com/Ascend-Huawei/tools
mini_deiveloperkit-xxx.rar上面介绍dkk下载的时候这个包也在那里下载
http://cdimage.ubuntu.com/ubuntu/releases/16.04/release/

2.烧入系统进开发板

  1. 请将SD卡放入读卡器,并将读卡器与Ubuntu服务器的USB接口连接。
  2. 在Ubuntu服务器中执行如下命令安装qemu-user-static、binfmt-support、yaml与交叉编译器。
su - root

执行如下命令更新源:

apt-get update

执行如下命令安装相关依赖库:

apt-get install qemu-user-static binfmt-support python3-yaml gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

其中“gcc-aarch64-linux-gnu”“g++-aarch64-linux-gnu”为“5.4.0”版本,其他依赖软件包无版本要求。

将软件包准备获取的SD卡制作脚本“make_sd_card.py”“make_ubuntu_sd.sh”Mini PackageUbuntu Package普通用户上传到Ubuntu服务器任一目录,例如/home/ascend/mksd。

以上脚本与软件包请放置到同一目录下。
本地制卡只允许当前目录下存放一个版本的软件包。

  1. 切换到root用户,并进入制卡脚本所在目录/home/ascend/mksd。
su - root

cd /home/ascend/mksd/
  1. (可选)SD制卡脚本中默认配置的Atlas 200 DK开发者板的USB网卡的IP地址为192.168.1.2,NIC网卡的IP地址为192.168.0.2,若您想修改默认IP地址,请参考此步骤进行修改。
    分别修改“make_sd_card.py”中的“NETWORK_CARD_DEFAULT_IP”与“USB_CARD_DEFAULT_IP”的参数值。
  • “NETWORK_CARD_DEFAULT_IP”:Atlas 200 DK开发者板NIC网卡的IP地址。
  • “USB_CARD_DEFAULT_IP”:Atlas 200 DK开发者板USB网卡的IP地址。
  1. 执行制卡脚本。
    执行如下命令查找SD卡所在的USB设备名称。
fdisk -l

例如,SD卡所在USB设备名称为“/dev/sda”。

  • 运行SD制卡脚本“make_sd_card.py”。
python3 make_sd_card.py local /dev/sda

“local”表示使用本地方式制作SD卡。
“/dev/sda”为SD卡所在的USB设备名称。

如图1所示表示制卡成功。
在这里插入图片描述
图1 SD制卡回显信息示例

如果制卡失败,可以查看当前目录下的sd_card_making_log文件夹下的日志文件进行分析。

  1. 制卡成功后,将SD卡从读卡器取出并插入Atlas 200 DK开发者板卡槽。
  2. 上电Atlas 200 DK开发者板。

首次启动Atlas 200 DK开发者板时不能断电,以免对Atlas 200
DK开发者板造成损害,再次上电需与上次下电时间保持2S以上的安全时间间隔。

  • 10
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
根据提供的引用内容,您提供的代码片段似乎是C语言的代码。根据您的问题,您遇到了编译错误。要解决这个问题,您可以尝试以下几个步骤: 1. 检查代码中是否存在拼写错误或语法错误。编译错误通常是由于代码中的错误导致的。请确保您的代码中没有任何拼写错误,并且所有的语法都是正确的。 2. 检查是否缺少头文件。在C语言中,您需要包含所需的头文件来使用特定的函数和库。请确保您的代码中包含了所需的头文件,并且这些头文件的路径是正确的。 3. 检查是否缺少库文件。有时候,编译错误可能是由于缺少所需的库文件而引起的。请确保您的代码中包含了所需的库文件,并且这些库文件的路径是正确的。 4. 检查编译命令是否正确。编译C语言代码时,您需要使用正确的编译命令来编译代码。请确保您使用的编译命令是正确的,并且所有的参数都是正确的。 以下是一个示例的C语言代码,用于创建和读取共享内存: 创建共享内存: ```c #include <stdio.h> #include <stdlib.h> #include <sys/shm.h> int main(int argc, char* argv[]) { key_t key = ftok(argv[1], 1); if (-1 == key) { perror("ftok err"); return 1; } int shmid = shmget(key, atoi(argv[2]), IPC_CREAT | 0644); if (-1 == shmid) { perror("shmget err"); return 1; } printf("shmid:%d\n", shmid); return 0; } ``` 读取共享内存: ```c #include <stdio.h> #include <stdlib.h> #include <sys/shm.h> int main(int argc, char* argv[]) { int shmid = atoi(argv[1]); if (-1 == shmctl(shmid, IPC_RMID, NULL)) { perror("shmctl err"); return 1; } return 0; } ``` 请注意,这只是一个示例代码,您需要根据您的具体需求进行修改和适应。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Delv_Peter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值