当前位置: 首页 > 编程日记 > 正文

2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉

2018-2019-1 20165226 20165310 20165315 实验一 开发环境的熟悉

目录


一、实验目的
二、实验步骤
三、实验过程中遇到的问题及解决
四、实验感想

一、实验目的


熟悉Linux开发环境并学会Linux开发环境的配置和使用,熟悉arm箱的使用,熟悉以下知识点:

  • 交叉编译
  • 宿主机与目标机
  • NFS
  • 超级终端
  • file命令

返回目录

二、实验步骤


任务一 交叉编译环境

1.安装老师提供的software目录中的“中的“VMware-workstation-full-10.0.1-1379776.exe”

  1. 解压老师提供的software目录中的“中的“Ubuntu1204.rar”
  2. 用VMWare打开Ubuntu,用户名:linux,口令:1
  3. 建立实验目录:mkdir linux_组员1学号_组员2学号_组员3学号
  4. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名
  5. 参考bocsd目录中的脚本的脚本armc.sh,分别用,分别用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c,用gcc编译的可执行文件命名linuxhello:gcc hello.c -o linuxhello;用arm-none-linux-gnuenbi-gcc编译的命名为armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
  6. 分别运行linuxhello,armhello

实验步骤:

  • 用VMWare打开Ubuntu,用户名:linux,口令:1。
  • 建立实验目录mkdir linux_20165226_20165310_20165315
  • 在实验目录中编写“helloworld”程序,另外补充几行打印所有组员的学号姓名
  • 分别用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c
    • 用gcc编译的可执行文件命名为“linuxhello”:gcc hello.c -o linuxhello
    • 用arm-none-linux-gnuenbi-gcc编译的命名为'“armhello”:
      • 首先使用chmod +x +x arm.sh命```命令赋予权限
      • /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
  • 分别运行linuxhello,armhello

运行截图:

1293911-20181019210142988-879103787.png

实验分析:
经过运行发现,在Linux中只能运行使用gcc编译的linuxhello,而无法运行使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello。这是因为,使用gcc编译的linuxhello适用于x86-64机器,而使用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译的armhello只能在arm实验箱上运行


任务二 目标机宿主机连通

  1. 到实验室把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
  2. 参考视频配置超级终端,用超级终端作为实验箱的显示终端
  3. ifconfig在超级终端中查看实验箱ip(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看ip
  4. 用网线连接电脑和ARM实验箱的网口NET1
  5. 用ping命令保证目标机和宿主机能互相ping通

实验步骤:

  • 连接好arm实验箱的电源线,并将串口线接入实验箱COM1、网线接入NET1

  • 进入bocsd目录,运行,运行armc.sh 交叉编 交叉编译出hello程序

1293911-20181021131234400-108202958.png

  • 在win7 虚拟机中查看ip:

1293911-20181021131325557-831165789.png

  • 通过设备管理器查看USB转串口的端口号为COM3

1293911-20181021130922705-702186943.png

  • 打开超级终端,选择正确的串口号COM3,并在属性中,将波特率设置为115200。

1293911-20181021130609461-1215078153.png

  • 打开arm机电源开关,等待arm机的信息在超级终端的窗口显示,登陆用户为root

1293911-20181021130721464-87532113.png

  • ifconfig在超级终端中查看实验箱ip(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP。记录下arm机的ip为:p为:192.168.0.232,Ubu,Ubuntu的ip为:p为:192.168.0.230

1293911-20181021130804814-1313618071.png

  • 使用ping命令测试目标机与宿主机是否能连通

运行截图:

1047870-20181021170156724-47480059.png
1047870-20181021170215871-139678744.png
1047870-20181021170222487-1216932564.png

返回目录

三、实验过程中遇到的问题及解决


  • 问题1:在 用arm-none-linux-gnuenbi-gcc编译的时候出现了一些问题,报错没有那个文件
    1047870-20181017090016800-2127896049.png

  • 问题1解决方案:以为是没有下载 编译环境,然后使用wget指令下载编译环境

  • 问题2:在问题一基础上进行操作后结果继续报错
    1047870-20181017090734539-1655633045.png

  • 问题2解决方案: 于是再继续跟进,进入root权限使用sudo apt-get update

  • 问题3:在问题3基础上进行相关操作,下载相当慢不说,还报错
    1047870-20181017091045023-1016667182.png

  • 问题3解决方案:退出root,然后检查最初调用编译环境时使用的编译输入指令,发现复制指令时有回车键,于是重新手动输入/usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello,编译成功

  • 问题4:win7宿主ping不通
    1047870-20181021171239810-1662074717.png

  • 问题4解决方案:
    • 方案1:查看网络是否是桥接,将nat改成桥接
    • 方案2:关闭防火墙
      1047870-20181021171915126-1247596984.png

    • 方案3:关闭WiFi、热点等移动网络,只使用本地网络
    • 方案4:使用另外一台电脑
      返回目录

四、实验感想


  • 本次实验学习了如何搭建开发环境以运行可执行文件,让我们进一步熟悉Linux开发环境的配置和使用,在Linux中编译程序,并将生成的可执行文件挂载到arm开发板上,从而完成程序在开发板上的运行。
  • 主机的作用主要是提供虚拟机运行的环境,并把arm编译工具共享给linux虚拟机,在linux虚拟机下用arm编译工具编译hello.c文件,将生成的可执行文件挂接到arm实验箱上,即可在实验箱的终端上进行操作,最终达到了虽然没有在arm实验箱中编译,但可以在arm上运行的效果。
  • 因为电脑配置的原因,在做实验一任务二时无论使用什么方法都ping不通,于是我们决定换另一台电脑,第一次实验难免会生疏,不过我们会更加熟练地进行实验操作。

返回目录

转载于:https://www.cnblogs.com/musea/p/9802221.html

相关文章:

上海居民被垃圾分类逼疯!这款垃圾自动分类器也许能帮上忙

作者 | 视说君来源 | 授权转载自视说AI(ID:techtalkai)让垃圾自动分类近期垃圾分类成为了一个热门话题,原来直接一次性扔掉的垃圾,现在都需要分门别类进行投放。从今年7月1日起,新的《上海市生活垃圾管理条例》正式开始…

虽被BERT碾压,但还是有必要谈谈BERT时代与后时代的NLP

作者 | 吴金龙,爱因互动技术合伙人,算法负责人来源 | 授权转载自AINLP(ID:nlpjob)2018年是NLP的收获大年,模型预训练技术终于被批量成功应用于多项NLP任务。之前搞NLP的人一直羡慕搞CV的人,在ImageNet上训练…

C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组

转自:http://hi.baidu.com/ctralt/blog/item/cde79fec87f841302697911c.html fstream提供了三个类,用来实现c对文件的操作。(文件的创建、读、写)。ifstream -- 从已有的文件读 ofstream -- 向文件写内容 fstream - 打开文件供读写…

Exchange 2007迁移2010时的公用文件夹多个公用树错误

近期在项目中,客户Exchange 从2007迁移到2010,Microsoft Exchange从2007开始就逐渐弱化了公用文件夹,outlook 2007和2010都不需要使用到公用文件夹了。但客户现状存在90%的outlook 2003客户端,因此需要使用到公用文件夹。在Exchan…

约瑟夫环问题的两种解法(详解)

约瑟夫环问题的两种解法(详解) 题目: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个…

Linux下多播的配置【十全十美】

单播地址标识单个IP接口,广播地址标识某个子网的所有IP接口。多播地址表示某一组IP接口,单播和广播是寻址方案中的两个极端(要么单个要么全部),多播则意在两者之间提供一种折中方案。多播是用于建立分布式系统的重要工具,例如&…

CvSeq相关函数

转自:http://hi.baidu.com/pengjun/blog/item/a72fc8ea030e79d4d439c906.html 函数原型说明CvSeq* cvCreateSeq(int seq_flags,int header_size,int elem_size,CvMemStorage* storage)功能:创建一序列 参数:seq_flags为序列的符号标志。如果序…

10月份机房技术指标

下载syslinux,dhcp,http,tftp-serveryum -y install syslinux dhcp httpd tftp-serveryum -y install system-config-kickstart挂载sr0是镜像用system-config-kickstart工具来生成一个自动的安装的配置文件ip填自己的ip地址。目录填挂载光盘的…

5G时代,微软又走对了一步棋!

2019年4月,CSDN采访微软(中国)首席技术官韦青,期间谈到5G。他认为,5G绝对是一个划时代的革命性突破,但是这个突破不止于现在所说的“5G”通讯技术,它为未来以“万物互联”为基础的智能社会开创了…

6426C Lab3 部署证书和管理注册

共有4个练习:练习1:配置证书模板练习2:配置自动注册练习3:管理证书 Revocation练习4:配置Key Recovery练习1:任务1:复制、安装和手动注册一个证书1. 转到HQDC1.contoso.com服务器,添…

CreateStructuringElementEx

转自:http://baike.baidu.com/view/4819443.htm CreateStructuringElementEx 创建结构元素 IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anchor_x, int anchor_y, int shape, int* valuesNULL ); cols 结构元素的列数目 rows 结构…

阿里AI再摘一冠,大幅提高视觉对话世界纪录

近日, 在第二届视觉对话挑战赛Visual Dialogue Challenge中,阿里AI击败了微软、首尔大学等十支参赛队伍,获得冠军。 (阿里AI在视觉对话竞赛中得冠)视觉对话竞赛由美国佐治亚理工大学、Facebook人工智能实验室&#xff…

OSChina 周一乱弹 —— 嫂子我帮你们照顾放心吧

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 clouddyy :#每日一歌# 《绿光 - 孙燕姿》 《绿光》 - 孙燕姿 手机党少年们想听歌,请使劲儿戳&#xff0…

十一月工作小记--上线前的冲刺

加班不是目的,重要的是找到加班的意义。尽管程序猿们有很多个不愿意,他们却依然要面对加班的现实。加班就是程序猿们生活中的一张牌,既然不能决定这张牌是什么,那就想想如何去打好这张牌吧。本月,我们的生活依然是那么…

Java跌落神坛,Python继续夺冠....凭啥?

编程语言流行指数(PYPL)排行榜近日公布了2019年6月份榜单。相比 5 月编程语言榜单,Python 不仅超过了 C,成功占据第三名位置,还以 2.77% 的涨幅成为增速最快的编程语言,与此同时,拥有 8.53% 份额的 Python 达到了 TIOB…

opencv实现二值图像细化的算法

转自:http://blog.csdn.net/byxdaz/archive/2010/06/02/5642669.aspx 细化算法通常和骨骼化、骨架化算法是相同的意思,也就是thin算法或者skeleton算法。虽然很多图像处理的教材上不是这么写的,具体原因可以看这篇论文,Louisa Lam…

@芥末的糖----------《管理系统后台架构逻辑》

mongo逻辑 //1.创建mongoose对象链接数据库,并暴露 var mongoose require(mongoose) mongoose.connect(mongodb://localhost:27017/lagou, {useNewUrlParser: true })var db mongoose.connection db.on(error, console.error.bind(console, connection error:)) d…

PHP函数之无极分类

无极分类属于现在比较难攻克的一关,现在就把代码贴出来,有需要的朋友可以根据实际需要扩展一下。 //假设分类关系为“ 地球”(id为1,父id为0),“国家”(id为2,父id为1)&a…

我发现了一个非常酷的软件,用自然语言编程!

作者 | 刘欣,前IBM架构师,用15年的技术工作经验去总结提炼,以故事讲解技术本质,让大家看过以后有一种“原来如此”的感觉。来源 | 码农翻身(公众号id:coderising)周六晚上10点半, 张…

Matlab中去除exe执行时文件的DOS窗口的方法

转自:http://www.matlabsky.com/thread-547-1-1.html 方法1在command window中输入如下命令: cd(prefdir) edit compopts.bat 此时compopts.bat打开,在文件最后添加 A.VC环境下: set LINKFLAGS%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENT…

ubuntu14.04 升级gcc的方法

Ubuntu12..4版本也可正常安装。 1、添加软件源 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update2、安装gcc高版本,gcc4.8,gcc4.9,gcc5 gcc4.8 sudo apt-get upgrade sudo apt-get install gcc-4.8 g-4.8gcc4.9 sud…

Java 基础【04】Swing 组件事件注册

聪明出于勤奋,天才在于积累。——华罗庚 对上次的三个问题的个人理解: 1) 程序首先是从main函数开始执行的,假设main 函数不是 static ,就要先实例化这个类,然后调用 main 方法,这似乎是不现实…

VC++ 隐藏控制台程序窗口

转自:http://hi.baidu.com/sicceer/blog/item/d9c35a810d15c4c8bc3e1ec8.html 设置 #pragma comment( linker, "/subsystem:/ "windows/ " /entry:/ "mainCRTStartup/ " " ) // 设置入口地址 这样就ok了 在控制台程序中隐藏控制台窗口…

深度学习原来还可以这么学!

最近身边很多朋友在讨论人工智能,讨论人工智能在我们生活中的应用,随之而来就开始讨论深度学习技术,但是由于深度学习的涉及面比较广,对数学的要求比较高,所以想学也不太敢学,生怕认真学了却没学会。其实可…

016-热更新之FishingJoy一

我们在完成对xlua的学习后,现在我们在接下来的几天中,将会用一个案例来学习一下xlua的使用。请大家不用担心,这个课件的使用是基于xlua而开发的。因为我们在这个部分是为了使用xlua,所以我们只在已经做到的案例上进行xlua的学习。…

从0到1 | 手把手教你如何使用哈工大NLP工具——PyLTP!

作者 | 杨秀璋来源 | CSDN 博客(CSDN id:Eastmount)(本文经作者授权,此系列文章整理后微信平台首发于AI科技大本营)【导语】此文是作者基于 Python 构建知识图谱的系列实践教程,具有一定创新性和…

PL/SQL Developer远程访问Oracle数据库

安装oracle对应的版本 ,在oracle的安装目录找到oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora这个文件添加上数据库访问的串 LWZC (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST [服务器地址])(PORT 1521))(CONNECT_DATA (SERVER DEDICATED)(SE…

基于shiro的权限设计

shiro介绍 Apache shiro是一个权限控制框架,它将安全认证抽取出来,实现用户身份认证,权限授权,加密,会话管理等功能,是一个通用的安全认证框架,而且还可以用于分布式集群。功能如下 1.验证用户 …

C++ 中隐藏DOS调用的命令行窗口

转自:http://hi.baidu.com/jackyho2000/blog/item/b5c5fabdd3b4db0019d81fbb.html 我演示了一下在MFC程序中怎么应用DOS的dir的命令,可是我们遇到了需要解决的问题,首先就是文件dir.txt的残留问题,其实这个问题很简单,…

Citrix Avalon安装实验手册之一----Avalon概述及实验环境准备

“Avalon”(阿瓦隆)是思杰下一代桌面/应用交付产品的项目名称,其核心目标是把现有Windows应用和桌面转换成云服务。 其中你最熟悉的XenApp和XenDesktop就是Avalon项目的核心所在。Avalon这个全新解决方案将XenApp、XenDesktop、CloudGateway、…