一 、PC虚拟机上安装Ubuntu (系统版本为(ubuntu-16.04.3-desktop-amd64.iso),与版端系统版本必须对应(ubuntu-16.04.3-server-arm64.iso)) 1.在Pc机上安装完ubuntu系统 虚拟机的安装以及ubuntu的具体操作,就不描述了,网上很多。注意修改一下内存。 弹出系统更新时,请选(Don't Upgrade)不更新,然后点击ok,如下两图所示:   2.更改国内软件源: 打开火狐浏览器,在百度上输入“ubuntu源”找到链接 “ubuntu 16.04 几个国内更新源-bovenson-博客园”, 进入 "https://www.cnblogs.com/bovenson/p/5752213.html" 选择 “清华大学” 下所有源链接,复制
然后进入 ubuntu打开终端,命令输入: ascend@ubuntu:~$ sudo passwd root ###修改密码 ascend@ubuntu:~$ su - root root@ubuntu:~# apt-get install vim ## vim root@ubuntu:~# cd /etc/apt root@ubuntu:/etc/apt# ll root@ubuntu:/etc/apt# vim sources.list # 插看软件源列表 root@ubuntu:/etc/apt# >sources.list # 清空软件源 root@ubuntu:/etc/apt# vim sources.list ---> 按i键切换到编写模式:将清华大学软件源或者其他的比如说阿里云的都可以,复制链接粘贴,按Esc切换到命令模式,保存退出:wq! root@ubuntu:/etc/apt# apt-get update # 刷新软件源列表 root@ubuntu:/etc/apt# exit # 退出root用户 3.安装Goole chorme(Mind Studio只能在这个浏览器上访问) 对于谷歌Chrome32位版本,使用如下链接: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 对于64位版本可以使用如下链接下载: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载完后,运行如下命令安装。 可以先下载好,这里下载的是64位版本的,放在指定的文件夹,切换到Downloads ascend@ubuntu:~$ cd Downloads/ ascend@ubuntu:~/Downloads$ sudo dpkg -i google-chrome* ascend@ubuntu:~/Downloads$ sudo apt-get -f install #常见的修复安装命令 二、 在PC上安装Mind Studio a.安装Mind Studio前的准备 1、配置Mind Studio安装用户权限 ascend@ubuntu:~$ su - root ###进入root root@ubuntu:~# cd /etc root@ubuntu:/etc# ll root@ubuntu:/etc# ll sudoers ###查看其读写权限,只有读权限  root@ubuntu:/etc# chmod u+w /etc/sudoers #赋予读写权限
root@ubuntu:/etc# vim /etc/sudoers 添加: ascend ALL=(ALL:ALL) NOPASSWD:SETENV:/usr/bin/apt-get 注意:请确保“/etc/sudoers”文件的最后一行为“#includedir /etc/sudoers.d”,如果没有该信息,请手动添加 按下Esc切换到命令模式,执行:wq!命令保存文件并退出 root@ubuntu:/etc# chmod u-w /etc/sudoers ###写权限改回 root@ubuntu:/etc# ll sudoers ###查看其读写权限,只有读权限 
root@ubuntu:/etc# exit ###回归普通用户 2、安装依赖(安装之前,确保软件源已经更改好) 1)安装Mind Studio相关依赖(注意实践证明,网络配置模式在NAT模式,也就是默认的模式,非桥接模式,否则很难下载,出现网络下载不了的问题) ascend@ubuntu:~$ sudo apt-get install gcc g++ cmake curl libboost-all-dev libatlas-base-dev unzip haveged liblmdb-dev python-skimage python3-skimage python-pip python3-pip libhdf5-serial-dev libsnappy-dev libleveldb-dev swig python-enum python-future make graphviz autoconf libxml2-dev libxml2 libzip-dev libssl-dev sqlite3 python 如图所示: 
正常情况是所有都为0,这里是有555个软件未升级。如果报错如下: 0 upgraded, 0 newly installed, 0 to remove and 555 not upgraded 
解决方法: ascend@ubuntu:~$ sudo apt-get dist-upgrade # 更新软件,这又是一个漫长的等待。。。。。 2)安装openJDK a. ascend@ubuntu:~$ sudo apt-get install -y openjdk-8-jdk  b. 配置JAVA_HOME环境变量,Mind Studio的安装及运行都依赖该环境变量,设置方法如下 a.打开.bashrc文件 ascend@ubuntu:~$ vim ~/.bashrc b.打开.bashrc文件后,在末尾添加:(shift+g可以将光标移动到最下面,o可以另起一行) export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH 如下图所示:  按下Esc,执行:wq!命令保存文件并退出 c.使环境变量生效 ascend@ubuntu:~$ source ~/.bashrc d.检查环境变量设置 ascend@ubuntu:~$ echo $JAVA_HOME # 回显信息如下: /usr/lib/jvm/java-8-openjdk-amd64  e.检查JDK安装 ascend@ubuntu:~$ which jconsole # which查看可执行文件在哪 # 如果输出如下回显信息表示安装成功,如果未输出如下回显信息表示JDK安装失败: /usr/lib/jvm/java-8-openjdk-amd64/bin/jconsole

b.开始安装Mind Studio 创建ascend目录,子目录mksd下拷入安装所需文件:./1.3.0.0/下所有文件,
ascend@ubuntu:~$ cd /home/ascend/mksd ascend@ubuntu:/home/ascend/mksd$ unzip mini_mind_studio_Ubuntu.rar./instal 给当前用户添加root权限 ascend@ubuntu:/home/ascend/mksd$ su root root@ubuntu:/home/ascend/mksd# ./add_sudo.sh ascend ##添加权限 root@ubuntu:/home/ascend/mksd# exit ##回归普通用户 ascend@ubuntu:/home/ascend/mksd# vim env.conf ##修改本机ip为 127.0.0.1(我的本机Ip:192.168.15.173,这里的地址用来访问MindStudio的地址) 其他不变 ascend@ubuntu:/home/ascend/mksd# ./install.sh ###会提示安装成功 最后改一下适配器中的网络连接,经过实践证明,在安装的过程中不要设置网络适配器,否则无法获得vim,或者其他的一些依赖,将“NAT模式”改为“桥接模式”,如图:  三、 制卡: 准备工作: 需要: make_sd_card.py 和make_ubuntu_sd.sh 相关安装包:mini_developerkit-1.3.T34.B891.rar , ubuntu-16.04.3-server-arm64.iso 1. 把卡插进读卡器,把读卡器插进PC里
2. 安装依赖包:(其实就是搭建环境) 命令如下: ascend@ubuntu:~$ su root ###进入root root@ubuntu:~#apt-get install qemu-user-static binfmt-support python3-yaml gcc-aarch64-linux-gnu g++-aarch64-linux-gnu root@ubuntu:~#cd /home/ascend/ root@ubuntu:/home/ascend/#fdisk -l ###查找sd卡在哪个环境下 root@ubuntu:/home/ascend/#python3 make_sd_card.py local /dev/sdb 输出成功信息: Make sd card successfully 3. 把卡拔出来,插到开发板上 四、连接并启动开发板 1、开发板连接宿主机: 两种连接方式:usb连接和网线连接,二者选其一,网线连接设为麻烦了些。 1) usb连接:
typc1接口是重接口,不支持odg的,所以这个开发板只能作为重设备来使用。(不了解这个概能的,可以去了解一下usb协议基础) 开发板与宿主机走的是USB虚拟网卡的连接方式,也就是说,当开发板开机,与宿主机连接好了之后,它会在宿主机上创建一个usb的虚拟网卡,此时这个usb虚拟网卡是没有地址的,也没有动态ip,开发板和宿主机还没有连接,而我们要做的就是给这个宿主机的usb虚拟网卡分配一个静态IP,这个虚拟网卡和开发板都有了ip地址之后,就可以连接了。注意这两个ip需要和开发板在一个网段。 下载:configure_usb_ethernet.sh 脚本自动化执行方式: ascend@ubuntu:~Downloads$ su root ###进入root root@ubuntu:/home/ascend/Downloads# bash configure_usb_ethernet.sh -s 192.168.15.175 # 配置结束 如果直接执行(bash configure_usb_ethernet.sh)的话,脚本会给虚拟网卡默认分配一个192.168.15.166。如果pc上有了这个ip地址已经存在,就会造成地址冲突,所以添加 -s 192.168.15.175来添加自己选定的ip地址。 root@ubuntu:/home/ascend/Downloads# ifconfig # 看一下ip地址。 root@ubuntu:/home/ascend/Downloads# ssh HwHiAiUser@192.168.15.167 # 验证一下与开发板的连接 手动执行方式: ascend@ubuntu:~Downloads$ su root ###进入root ascend@ubuntu:/home/ascend/Downloads$ ifconfig # 获取一下usb网卡名 
进入interfaces,添加虚拟的静态IP: root@ubuntu:/home/ascend/Downloads# vim /etc/network/interfaces 配置interfaces文件,例如添加一个 ens160u4u1 的静态IP为 192.168.15.175,配置方法如下 auto lo iface lo inet loopback auto ens160u4u1 iface ens160u4u1 inet static address 192.168.15.175 netmask 255.255.255.0 
修改“NetworkManager.conf”文件,避免重启后网络配置失效: root@ubuntu:/home/ascend/Downloads# vim /etc/NetworkManager/NetworkManager.conf 修改文件中的“managed=false”为“managed=true” 
root@ubuntu:/home/ascend/Downloads# service NetworkManager restart //Ubuntu Server版本,此步骤请忽略 root@ubuntu:/home/ascend/Downloads# ifconfig # 看一下ip地址 
验证一下是否能连接开发板 root@ubuntu:/home/ascend/Downloads# ssh HwHiAiUser@192.168.15.167 2) 网线连接: 开发板静态IP地址:192.168.15.167 ,在宿主机上配IP也就只能192.168.15.X, 这个地址不能在宿主机上配置192.168.15.167 配置如下: a. ascend@ubuntu:~$ su - root b. 进入interfaces,添加虚拟的静态IP: root@ubuntu:~# vim /etc/network/interfaces 配置interfaces文件,例如添加一个 eth0 :1的静态IP为 192.168.15.175,配置方法如下 auto eth0:1 iface eth0:1 inet static address 192.168.15.175 netmask 255.255.255.0  c.修改“NetworkManager.conf”文件,避免重启后网络配置失效: root@ubuntu:~# vim /etc/NetworkManager/NetworkManager.conf 修改文件中的“managed=false”为“managed=true”
 d.重启网络相关服务 root@ubuntu:~# service networking restart root@ubuntu:~# service NetworkManager restart //Ubuntu Server版本,此步骤请忽视

e.验证一下是否能连接开发板 root@ubuntu:~# ssh HwHiAiUser@192.168.15.167 如果你在制卡的时候用的机器,就是你制卡用的机器就是装MindStudio用的机器的话,到这步就算是彻底完成了。 2、配置交叉编译环境(可选的) 使用Atlas 200 DK进行应用程序开发前,用户需要在Mind Studio所在的Linux服务器中配置交叉编译环境。 如果制作SD卡的Ubuntu服务器即为Atlas 200 DK开发者板连接的Mind Studio所在的服务器,则本节可以跳过。制作SD卡时,会自动为当前制卡的Ubuntu服务器部署交叉编译环境 如果制卡用的机器就是安装MindStudio的机器,就不需要配置交叉编译环境 amd64是基于X86架构的。 MindStudio的编译-执行-应用,其实就是在宿主机上把代码编译成二进制,然后把编译好的二进制和各种库等资源推送到开发板上,最后在开发板上把这个应用拉起来。 在X86的系统上编了arm的代码,原因在于:在宿主机上配好了一个arm的编译环境,配置编译环境的过程就叫配置交叉环境。 make_ui_cross_env.py 操作步骤如下: a. 下载,获取配置交叉编译环境脚本“make_ui_cross_env.py”上传到Mind Studio所在服务器任一目录,例 如/home/ascend/Downloads,切换到Downloads ascend@ubuntu:~/Downloads$ ll  b. 切换到root用户下 ascend@ubuntu:~/Downloads$ su - root c. 执行如下命令安装pexpect,用于实现SSH自动交互 root@ubuntu:/Downloads# pip3 install pexpect d. 执行配置交叉编译环境的脚本(必须把开发板连上,要联网,否则无法下载编译器) root@ubuntu:/Downloads# python3 make_ui_cross_env.py 会提示输入如下信息: Atlas DK Development Board IP: Atlas 200 DK开发者板的IP地址。(本文的是:192.168.15.167) Atlas DK Development Board SSH user:Atlas 200 DK开发者板的SSH登录用户名,请配置为普通用户,默认用户为HwHiAiUser。 Atlas DK Development Board SSH user password: Atlas 200 DK开发者板的SSH登录用户的密码。 Atlas DK Development Board SSH port:Atlas 200 DK开发者板的SSH端口号,默认为22。 如果下载过程中卡死了,就重新打开一个终端,输入ifconfig,检查一下开发板IP地址是不是掉了,如果掉了,就执行service NetworkManager restart。然后再重新跑一下交叉编译环境脚本,命令如下:root@ubuntu:/Downloads# python3 make_ui_cross_env.py
 注意本文的3个IP地址,这地址根据自己实际情况调整,但注意一下,必须在同一个网段: 本机:192.168.15.173 ----》在谷歌浏览器登入mindstudio时,需要用到,注意是你宿主机的ubuntu系统下的IP地址 开发板:192.168.15.167 如果是网线连接,上面两个就可以! 虚拟网卡:192.168.15.175 宿主机的ubuntu系统下的虚拟网卡,这是与开发板连接的虚拟网卡的IP地址 3、常见问题总结: 1. 需要确认开发者板的版本的一致性 首先,在MindStudio -About -Version确认 其次,确定开发者板上的版本。 操作:以HwHiAiUser用户ssh登录到开发者板,然后切换到root用户。 键入 ssh HwHiAiUser@192.168.15.167 执行如下命令查看开发者板的Ascend 310软件升级后的版本号。 cat /etc/sys_version.conf 切换到root用户。 su - root 进入firmware目录。 cd /var/davinci/firmware/ 执行如下命令查询firmware的系统版本号。 ./upgrade-tool --device_index -1 --system_version 执行如下命令查询firmware的组件版本号。 ./upgrade-tool --device_index -1 --component -1 --version 2. 网络断了 终端输入:ifconfig service NetworkManager restart # 重启网络 ifconfig 4. 修改ip地址 

 5. chrome 输入https://192.168.:8888登录Mindstudio 网络链接失败 首先确认,ssh是否可以登录板端,如果不可以,重新设置IP等操作: (vi /etc/network/interfaces vi /etc/NetworkManager/NetworkManager.conf service networking restart service NetworkManager restart ); 如果可以,执行下一步确认。 其次确认,chrome浏览器可以打开类似百度网页,如果不可以,重启Network等网络服务; 如果可以,执行一步。 最后,在tools/bin文件夹下 执行./stop.sh 之后 再执行./start.sh,若还是不成功,两个配置ip的文件需要检查,把ip都改成现在的ip,两个文件分别是tools-covf-env.conf,tools-script-env.conf,这里的ip地址需要和chorme里输入的一样,如果还是不成功,出现这样的界面错误:

点击Advanced之后,进入下一个界面,再点击那个“not sercure”,成功的标志如下: 
3. 配置交叉编译器出现编译失败 首先确认下载的脚本文件make_ui_cross_env.py是否正确。 建议使用linux命令下载:wegt https://xxxxxxxxxxxxxxx 更改过下载源后,速度和下载后的文件稳定性更好, windows下下载的东西存在解压失败,以及解压出的文件大小和原文件不一致等情况。 欢迎大家加入一起学习讨论,有错误的地方请大家留言指出。 最后留个学习视频的链接:昇腾开发者社区 - 华为 https://ascend.huawei.com/Institute/0
|