首页 > 代码库 > 学习内核驱动是出现的错误及其解决方式

学习内核驱动是出现的错误及其解决方式

一  在测试tftp下载文件时有两个问题困惑了我一下,

   A  就是开发板一直ping不通虚拟机和宿主机 网络也打开了 防火墙也关闭了! 之后才发现是虚拟机的联网方式有问题  如果要能ping可能要在同一网段 ,但我的虚拟机与宿主机不在一个网段 ,由于之前虚拟机用的是 a.

   a:默认的net 的联网方式 : 它是只要物理机能连通网络,虚拟机也就可以连通的 但它的ip地址是随机分配的 因此与宿主机不在一个网段;   

   b:还有一种是桥接(bridge):默认使用vmnet0 

将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同: 

例如主机ip是192.168.2.46,设置虚拟机ip为192.168.2.254。netmask,broadcast,gateway,dns都与主机相同即可实现虚拟机主机 虚拟机互联网 通信。 

  c:再就是有一种host-only:

   默认使用vmnet1 

   DHCP:默认下是DHCP 

  组成与独立的与物理网络相隔离的虚拟网络 

  但有一点是可以和宿主机器通信。 

  当然你可以手动指定IP,但网头一要选择VMNET1的IP

介绍完三种网络模式后自然就知道我最后选择了桥接的方式使它们在同一网段 然后将开发板也设置为在同一网段;  再重启机器  大功告成!!!!

B: 能ping通虚拟机之后问题又来了  我把tftp打开了但tftp下载不了文件,之后发现原来重启机器之后没有关闭linux的防火墙,等关闭防火墙之后   就可以下载文件了:

二 在加载内核时在开发板控制台出现了这样的错误

            


 

   最后进过查找资料发现是我的源文件里有问题    错误如下

     由于需要指针类型 故我将一个结构体变量声明为指针类型后面直接用了指针类型  但编译没有问题  在加载时出先现了以上问题

     解决办法 :

      将结构体变量声明为非指针变量  在用时取结构体变量地址来用就行了;

      注:这可能只是我遇到的一种情况  我看了网上也有其他原因导致此问题的出现,所以现在就是走一步看一步了!

 

 

学习内核驱动是出现的错误及其解决方式