Linux驱动之准备
第一:
开始系统学习Linux驱动,以前断断续续也玩玩了一下,开贴来系统学习Linux驱动。
硬件平台是JZ2440-4.3 ARM9开发板,开发板运行系统版本Linux3.4.2内核(内核移植,下载等相关其他篇幅)。
设置开发板系统IP,让开发板与主机、开发板与虚拟机互通。
查看开发板ip
/ # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.255.255.0 U 0 0 0 lo
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
以上是我设置好的,如果没有设置过是没有IP的,如下:
/ # route
设置ip
ifconfig lo 127.0.0.1
route add -net 127.0.0.0 netmask 255.255.255.0 lo
ifconfig eth0 192.168.1.17
route add -net 192.168.1.17 netmask 255.255.255.0
注意:192.168.1.17这个是开发板ip,这个ip要与主机、虚拟机在同一个网段,简单说主机ip应该为192.168.1.xx、虚拟机ip也应该为192.168.1.xx,否则三者之间无法ping通。
测试ip是否可以ping通
开发板ping主机
/ # ping 192.168.1.10(主机ip)
PING 192.168.1.10 (192.168.1.10): 56 data bytes
64 bytes from 192.168.1.10: seq=0 ttl=64 time=1.888 ms
64 bytes from 192.168.1.10: seq=1 ttl=64 time=0.763 ms
64 bytes from 192.168.1.10: seq=2 ttl=64 time=0.733 ms
64 bytes from 192.168.1.10: seq=3 ttl=64 time=0.744 ms
64 bytes from 192.168.1.10: seq=4 ttl=64 time=0.769 ms
^C
--- 192.168.1.10 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.733/0.979/1.888 ms
开发板ping虚拟机
/ # ping 192.168.1.20(虚拟机ip)
PING 192.168.1.20 (192.168.1.20): 56 data bytes
64 bytes from 192.168.1.20: seq=0 ttl=64 time=22.074 ms
64 bytes from 192.168.1.20: seq=1 ttl=64 time=0.975 ms
64 bytes from 192.168.1.20: seq=2 ttl=64 time=1.100 ms
64 bytes from 192.168.1.20: seq=3 ttl=64 time=0.934 ms
64 bytes from 192.168.1.20: seq=4 ttl=64 time=1.090 ms
64 bytes from 192.168.1.20: seq=5 ttl=64 time=1.075 ms
64 bytes from 192.168.1.20: seq=6 ttl=64 time=1.004 ms
64 bytes from 192.168.1.20: seq=7 ttl=64 time=0.955 ms
^C
--- 192.168.1.20 ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 0.934/3.650/22.074 ms
设置正确就可以相互ping通。
NFS挂载开发板到虚拟机nfs目录
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.20:/work/nfs_root /mnt
注意:
1、192.168.1.20为虚拟机ip(根据虚拟机ip的目录做相应改变)
2、/work/nfs_root为虚拟机nfs目录(根据nfs的目录做相应改变)
第二:
上面的方法比较麻烦,太笨了,改另一种方法。估计也不少人遇到这样的问题,串口连接在运行Linux系统开发板,输入ifconfig命令不显示IP地址。
应该是输入ifconfig eth0,显示如下:
/ # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:51 Base address:0x8000
/ #
显然这个时候开发板是没有IP地址的,好了这要知道了这个命令了好,那就给动态分配一个IP吧。
/ # ifconfig eth0 192.168.1.17
/ # ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20): 56 data bytes
64 bytes from 192.168.1.20: seq=0 ttl=64 time=1.223 ms
64 bytes from 192.168.1.20: seq=1 ttl=64 time=1.643 ms
64 bytes from 192.168.1.20: seq=2 ttl=64 time=0.982 ms
64 bytes from 192.168.1.20: seq=3 ttl=64 time=1.065 ms
^C
--- 192.168.1.20 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.982/1.228/1.643 ms
/ #
这样就完成了IP配置了。
Linux驱动之准备的更多相关文章
- Linux代码的重用与强行卸载Linux驱动
(一)Linux代码的重用 重用=静态重用(将要重用的代码放到其他的文件的头文件中声明)+动态重用(使用另外一个Linux驱动中的资源,例如函数.变量.宏等) 1.编译是由多个文件组成的Linux驱动 ...
- Linux驱动学习之常用的模块操作命令
1.常用的模块操作命令 (1)lsmod(list module,将模块列表显示),功能是打印出当前内核中已经安装的模块列表 (2)insmod(install module,安装模块),功能是向当前 ...
- Linux驱动学习之驱动开发准备工作
一.开启驱动开发之路 1.驱动开发的准备工作 (1)正常运行linux系统的开发板.要求开发板中的linux的zImage必须是自己编译的,不能是别人编译的.原因在于在安装模块的时候会进行安全性校验 ...
- Linux驱动学习之什么是驱动?
一.什么是驱动? 1: 驱动一词的字面意思 2: 物理上的驱动 3: 硬件中的驱动 4: linux内核驱动.软件层面上的驱动广义上是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序. ...
- 嵌入式Linux驱动开发日记
嵌入式Linux驱动开发日记 主机硬件环境 开发机:虚拟机Ubuntu12.04 内存: 1G 硬盘:80GB 目标板硬件环境 CPU: SP5V210 (开发板:QT210) SDRAM: 512M ...
- linux驱动程序设计的硬件基础,王明学learn
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一 ...
- linux驱动初探之杂项设备(控制两个GPIO口)
关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...
- linux驱动初探之字符驱动
关键字:字符驱动.动态生成设备节点.helloworld linux驱动编程,个人觉得第一件事就是配置好平台文件,这里以字符设备,也就是传说中的helloworld为例~ 此驱动程序基于linux3. ...
- Linux驱动之HelloWorld
最近看android的一些源码,里面有一些功能是用驱动实现的.于是就兴起看了一些驱动相关的东西,准备日后深入.这没有技术含量的水文,仅作为日后的备忘吧. 系统使用的是ubuntu 12.0.04,内核 ...
- linux 驱动学习笔记01--Linux 内核的编译
由于用的学习材料是<linux设备驱动开发详解(第二版)>,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式. #make confi ...
随机推荐
- MySQL下载、安装和修改root密码
一.下载地址:MySQL_5.6.22_winx64_XiaZaiBa :http://rj.baidu.com/soft/detail/12585.html?ald 二.安装软件,安装到指定的路径, ...
- centos6.6安装redis服务安装redis服务,对于discuz来说可以作为缓存使用,减轻服务器压力
获取redis源码包 #wget http://download.redis.io/releases/redis-stable.tar.gz 解压缩 #tar xf redis-stable.tar ...
- 注解:@Autowired
Spring的bean对象自动装配注解,@Autowired有三种使用方式,下面分别介绍! 1. 作用于类成员变量上,即在定义类的成员变量的时候,至于其上方. public class Mobile{ ...
- 【linux】cut
vim test id name age score 101 paul 18 100 102 suan 11 99 103 peter 18 98 [root@andon ~]# cut -f 2 t ...
- Func系列1:安装配置
简介 Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理框架.它是一个能有效简化多服务多服务器系统管理工作的工具,它易于学习.使用和扩展,功能 ...
- 236. Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
- Sublime Text 介绍、用法、插件等
个人常用插件: AlignmentBracket Highlighter 此插件能完成括号高亮匹对DocBlockrEmmentNodejsPackage ControlPrefixr CSS3中 ...
- The dependency `BaiduMapKit` is not used in any concrete target
RubertdeMacBook-Pro:项目名 Rubert$ pod install Analyzing dependencies [!] The dependency `BaiduMapKit` ...
- 如何实现一个malloc
任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至 ...
- Codeforces Round #365 (Div. 2) Chris and Road
Chris and Road 题意: 给一个n个顶点的多边形的车,有速度v,人从0走到对面的w,人速度u,问人最快到w的时间是多少,车如果挡到人,人就不能走. 题解: 这题当时以为计算几何,所以就没做 ...