软件设计课程笔记

embedded/2024/11/13 22:57:26/

11.11就做了这两件事情

  • 写在前面
  • 11.11课程总结
    • (1)将开发板与pc机连接到同一个局域网
    • (2)NFS共享文件设置

写在前面

“好记性不如烂笔头”。记性太差,总结来救。水平太差,那没办法。这是写给自己的课程笔记,肯定会有一些错误与非常多“囫囵吞枣的记录”。如能对未来一二人有帮助,善。

11.11课程总结

本节课的主要任务就是将板子PC机使用网络进行连接。使得板子与PC机之间可以互传文件。本人除机组外未学过任何硬件部分。为了下次课程中可以快速复现第一次课程中的内容,现将第一次实验课上课实验内容进行总结,难免出错,以便下节课使用。

本部分内容在嵌入式系统A9实验指导书的第二部分-第一章实验环境与软件工具Linux开发环境简介 P13

  • 实验环境:实验室win10电脑的linux虚拟机
  • 实验主要目标:
    • 1.将开发板与pc机连接到同一个局域网下,使互相可以ping通
    • 2.将pc机的某文件夹位置设置同步到开发板的某文件夹

(1)将开发板与pc机连接到同一个局域网

将上课讲的内容与实验的内容进行步骤的总结,以及遇到的一些问题。但是请清楚,最初的目标是什么。

实验前工具验证,没有的话换设备呀:

- 开发板通电后4个小企鹅
- 电源线、usb转串口线、网线
  • 1.物理设备连接

    • 开发板通电,并且使用usb转串口线与电脑的usb相连。
  • 2.软件设备连接

    • a.输入以下命令进入图形化界面

      startx  #进入图形操作界面,因为命令行有一些端口看不到了
      
    • b.使用串口工具读取启动。

      # 在linux下运行
      cd .. #确保在跟目录下
      cd /etc/dev
      ls
      

      此时屏幕应该显示类似的内容。但是可以在最右侧一列看到有名为ttyUSB0的名称(如果你插上在拔掉,该名称就可能变为ttyUSB1,以此类推)

      在这里插入图片描述

      • 有一个命令好像可以更快的查找,可以试试

        • ls /dev/ttyUSB*
          
    • c. 在命令行下输入minicom -s命令修改串口名称

      • 第三行一个port,回车进入
      • 需要修改内容有:
        • 选A 修改为之前查到的设备分配串口号,例如ttyUSB0
        • 倒数第二行是啥忘记了,但是选择NO。剩下的什么波特率,想了解的到时候再查
        • 回车退出,在选择Exit退出,就会进入到开发板的命令行中了
        • 注:在本实验中如果出现以下界面,根据串口号发现,名称配置错了,所以无法进入。这里的port写的是 /dev/ttyS0,不是ttyUSB0
        • 在这里插入图片描述
  • 3.将开发板与PC机连接到同一局域网下

    • a.物理连接

      • 使用网线将开发板与PC机连接(没错,把实验室主机的网线给拔了)

      • 这里注意看开发板网线接口的灯是否亮,应该是一个常亮,一个闪烁。如果没有亮,网线、开发板网线接口、电脑网线接口,三者中肯定有一个接触不好,或者坏了。建议换网线。

      • 注:下列这个就是实验做到一半发现没ip了,发现灯都不亮,可能是主机那端接触不良。而软件层面同样可以发现该问题:开发板输入ifconfig命令,没有任何输入。如下图

      • 在这里插入图片描述

      • 在这里插入图片描述

  • b.软件连接设置到同一个局域网下!>)

    • 原理:修改一方的ip地址,使得在同一个网段内即可,主机号可以随便给。

      • 注意事项:此时有两个终端了,PC机的终端用户名为“root@localhost”,开发板的终端用户名为“root@Cyb-Bot”,之后的操作直接使用用户名代替,要清楚在谁的终端运行!其实这块自己查命令就好了。
    • 步骤:

      • step1:在root@localhost中输入查询ifconfig查询PC机ip地址,

      • step2:在root@Cyb-Bot中输入查询ifconfig查询开发板ip地址

        • 例如在这里插入图片描述
      • step3:修改一端的ip与另一端的ip在同一个网段即可。

        • 例如,root@localhost的ipv4地址为192.168.1.230,root@Cyb-Bot的ipv4地址为139.162.5.218。此时可以在root@Cyb-Bot中输入命令ifconfig eth0 192.168.1.231。(如看上图,网卡设备号eth0,网卡ipv4地址也圈出来了)
      • step4:再次在两个终端查询ip地址,看是否在同一个ip网段。

      • step5:Vm中编辑、虚拟网络设备编辑器,修改虚拟机网络模式为桥接,不要使用NAT,同时虚拟网络设置为真实的使用的网卡(最后一项),不要使用自动。上述如果不能修改,点击界面中的“更改系统选项”,然后在Vmware右上角退出全屏模式,再次执行step5即可。

        • 在这里插入图片描述
      • step6:此时再任意一个终端都可以ping对方的ip地址了。有time就说明ping通了。

(2)NFS共享文件设置

本部分内容主要查看word文档。这里将内容进行复制粘贴。出现的问题进行加粗或标黄处理。

  • 1.添加NFS共享目录并设置权限

    • [root@localhost ~]#vim /etc/exports
      #修改内容如下:
      /SomeDirctory *(rw)
      #退出保存即可,该行语句表明,将系统的 根目录 下的/SomeDirctory目录设置成共享,“*”代表任意机器都可以访问,rw表示具有读写权限。注意,SomeDirctory这个是你自己起的名字!!
      #退出之后,你在 根目录 下需要创建文件夹SomeDirctory
      
  • 2.关闭防火墙、3.启动NFS共享服务(跟着敲就行)

  • 4.在ARM Linux系统中访问宿主机端NFS共享

    • [root@Cyb-Bot /]#mount -t nfs -o nolock 192.168.1.230:/SomeDirctory /mnt/
      

    注意:/SomeDirctory /mnt/,这两个之间是有空格的!因为一个代表的是device,一个代表的是dir,不要写成/SomeDirctory/mnt/,我记得应该需要自己建SomeDirctory这个文件夹。只记得这里了,剩下的忘记了。。。错误评论区指出。剩下的大家加油!

    • mount命令是在终端root@Cyb-Bot上的ARM Linux系统的串口终端中使用的。挂载成功后,即可在ARM系统中访问PC机的共享实验目录了。

      注意一下是谁的ip。PC机的IP为192.168.1.230,开发板的ip之前改为了192.168.1.231。

    • 简要记录一下monut命令,可以跳过

      • 命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir
        
      • device:指明要挂载的设备;
        dir:挂载点事先存在;建议使用空目录;进程正在使用中的设备无法被卸载;
        常用命令选项:-t vsftype:指定要挂载的设备上的文件系统类型;-r: readonly,只读挂载;-w: read and write, 读写挂载;-n: 不更新/etc/mtab; -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)-L 'LABEL': 以卷标指定挂载设备;-U 'UUID': 以UUID指定要挂载的设备;-B, --bind: 绑定目录到另一个目录上;
        注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
        ………………………………………………………………………………………………………………………-o options:(挂载文件系统的选项)async:异步模式;sync:同步模式;atime/noatime:包含目录和文件;diratime/nodiratime:目录的访问时间戳auto/noauto:是否支持自动挂载exec/noexec:是否支持将文件系统上应用程序运行为进程dev/nodev:是否支持在此文件系统上使用设备文件;suid/nosuid:是否支持在此文件系统上使用特殊权限remount:重新挂载ro:只读rw:读写user/nouser:是否允许普通用户挂载此设备acl:启用此文件系统上的acl功能
        注意:上述选项可多个同时使用,彼此使用逗号分隔;
        默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async上述信息可以通过查看超级块信息看到,这里不再对其进行演示。
        
      • 以上mount命令复制https://blog.csdn.net/daydayup654/article/details/78788310

  • 5.此时你在root@localhost的根目录下的SomeDirctory目录下,新建一个文件a.txt。在root@Cyb-Bot的根目录下的mnt文件夹可以看到a.txt。说明开发板与pc机之间共享成功。



http://www.ppmy.cn/embedded/137339.html

相关文章

RoseTTAFold MSA_emb类解读

MSA_emb 类的作用是对多序列对齐(MSA)数据进行嵌入编码,同时添加位置编码和查询编码(调用PositionalEncoding 和 QueryEncoding)以便为序列特征建模类。 源代码: class MSA_emb(nn.Module):def __init__(self, d_model=64, d_msa=21, p_drop=0.1, max_len=5000):super(…

Spring Boot编程训练系统:技术实现与案例分析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

解决表格出现滚动条样式错乱问题

自定义表格出现滚动条时,会因为宽度不对等导致样式错乱; 解决思路: 监听表格数据的变化,当表格出现滚动条时,再调用更新宽度的方法updateWidth,去改变表格头部的宽度,最终保持表格头部和内容对…

方法论-2W1H提问法

概述 2W1H(What, Why, How)提问法是一种简洁而高效的分析工具,通过明确回答三个核心问题:“What(是什么)”、“Why(为什么)”和“How(如何做)”,…

C++写一个Date日期类

一个日期类作为类和对象知识点的总结 注意: 因为历史上1582年10月是少了10天,并且闰年的计算规则在1582年前后是不同的,因此计算某一天是周几,直接采用了倒推的方式确定公元1年1月1日是周几,然后反过来写的。&#xff…

Python操作系统交互:subprocess库的基本应用

Python 操作系统交互:subprocess 库的基本应用 在日常的 Python 编程中,操作系统交互是一个常见的需求。无论是调用外部命令、与操作系统进程进行交互,还是在 Python 中运行脚本,subprocess 庋是一个强大的工具。它为 Python 提供…

信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)

1 概述 1.1 项目简介 1.2 测评依据 2 被测信息系统情况 2.1 定级情况 2.2 承载的业务情况 2.3 网络结构 2.4 被测对象资产 2.5 上次测评问题整改情况说明 3 测评范围与方法 3.1 测评指标 3.1.1 安全通用要求指标 3.1.2 安全扩展要求指标 3.1.3 其他安全要求指标 3.1.4 不适用安…

【LeetCode】【算法】22. 括号生成

LeetCode 22. 括号生成 题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解题思路 天天到处看答案,看的灵神的解题思路回溯不会写?套路在此!(Pyth…