• 2017-2018-1 20155203 20155204 《信息安全系统设计基础》实验一:开发环境的熟悉


    • 实验目的

    • 熟悉开发环境

    • 实验步骤

    • 实验一-1-交叉编译环境

    1. 实验两人一组,最多三人一组
    2. 可以使用自己的笔记本,也可以使用实验室台式机,使用实验室机器的不用做本题
    3. 安装老师提供的software目录中的“VMware-workstation-full-10.0.1-1379776.exe”
    4. 解压老师提供的software目录中的“Ubuntu1204.rar”
    5. 用VMWare打开Ubuntu,用户名:linux,口令:1
    6. 建立实验目录"mkdir linux_组员1学号_组员2学号"
    7. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名
    8. 参考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
    • 实验一 开发化境的熟悉-2-目标机宿主机联通

    1. 使用实验室机器不用安装软件,桌面上有相应图标
    2. 使用自己笔记本电脑的,解压超级终端软件“windows7st(Windows).rar”,并在桌面上建立快捷方式(这个不用在实验室做)
    3. 使用自己笔记本电脑的,到实验室把“USB转串口线”的USB口插入自己的电脑,把串口连到实验箱的COM0
    4. 参考视频配置超级终端,用超级终端作为实验箱的显示终端
    5. 用ifconfig在超级终端中查看实验箱IP(目标机),在Ubuntu中(宿主机)中用ifconfig在命令行查看IP
    6. 用网线连接实验室台式机(或自己笔记本电脑)和ARM实验箱的网口NET1(最大屏旁边的)
    7. 用ping命令保证目标机和宿主机能互相ping通,提交ping通的截图
    • 实验一 开发化境的熟悉-3-目标机运行程序

    1. 学习资源中第五周的“ARM实验箱实验指导书”的第二章,理解tftp和nfs的作用
    2. 在超级终端中用“mkdir /arm_组员1学号_组员2学号” 建立实验箱中程序运行目录“arm_组员1学号_组员2学号”
    3. 在超级终端中运行“mount -t nfs -o nolock 宿主机IP:/home/linux/linux_组员1学号_组员2学号 /arm_组员1学号_组员2学号”通过NFS把宿主机中的“linux_组员1学号_组员2学号” 映射到目标机中的“/arm_组员1学号_组员2学号”
    4. 超级终端中运行"cd /arm_组员1学号_组员2学号"
    5. 超级终端中运行"./armhello", 提交运行截图,并深入理解交叉编译
    • 实验一 开发化境的熟悉-4-目标机模块分解

    1. 在目标机上重现上周“系统调用版的myod”
    2. 以静态库或共享库的方式在目标机上重现上周“系统调用版的myod”
    3. 提交超级终端中的运行截图
    • 实验一 开发化境的熟悉-5-清理工作(只有用实验室机器的小组做)

    实验结束后,把实验室原来的网线插回,否则以后做实验的同学无法开机,提交插好网线的照片。

    • 实验中的问题及解决过程

    • 问题一:armlinux无法在虚拟机中编译后运行,运行出错原因是:无法执行二进制文件

    • 问题一解决方案:armhello运行显示无法运行二进制文件,是因为编译器是64位而用file命令查看交叉编译器arm-none-linux-gnuenbi-gcc 是32位所以不能成功 因为没有32位库 可以在arm所在的文件中下载32位库,但是后来做实验意识到老师好像就是想要运行不出来的结果?

    • 问题二:超级终端配置的时侯显示没有除TCP/IP以外的选项

    • 问题二解决方案:应该在连接数据线后再进行这一操作,因为这个配置就是根据已连接设备进行配置的,而且不要太着急实验室的电脑超级慢的。

    • 问题三:映射文件夹时显示Permission denied

    • 问题三解决方案:更改路径文件。

    • 问题四:虚拟机无法安装打开。

    • 问题四解决方案:这其实是不应该出现的错误,毕竟以前安装过好几次了,就是没有打开虚拟化。

    • 新学到的知识点

      - 交叉编译
      就是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。
      
      - 宿主机与目标机
      在嵌入式开发过程中,有宿主机和目标机的角色之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。通常我们用的PC机就是宿主机,而我们用的开发板则是目标机
      - NFS
      NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
      
      - 超级终端
      
      终端,即计算机显示终端,是计算机系统的输入、输出设备。计算机显示终端伴随主机时代的集中处理模式而产生,并随着计算技术的发展而不断发展。迄今为止,计算技术经历了主机时代、PC时代和网络计算时代这三个发展时期,终端与计算技术发展的三个阶段相适应,应用也经历了字符哑终端、图形终端和网络终端这三个形态。超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的“显示器”。
      
      - file命令
      file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
      
      [file命令](http://man.linuxde.net/file)
      
      
      
      - ...
  • 相关阅读:
    Ubuntu安装deb软件包错误(依赖关系问题)解决
    scrapy抓取的中文结果乱码解决办法
    删除Git记录里的大文件
    Ubuntu18.04 修改DNS
    linux实现ssh免密码登录
    Vim进阶指南
    查找相同图片并重命名
    Markdown进阶指南
    一眼看穿flatMap和map的区别
    Java8简明指南
  • 原文地址:https://www.cnblogs.com/20155204wh/p/7698527.html
Copyright © 2020-2023  润新知