没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式课程设计,关于交叉编译链接等linux操作内容
需积分: 19 3 下载量 154 浏览量
2018-09-14
16:22:05
上传
评论
收藏 1.63MB DOCX 举报
温馨提示
试读
31页
嵌入式课程设计,关于交叉编译链接等linux操作内容。。。
资源推荐
资源详情
资源评论
嵌入式课程设计报告
2018 年 6 月 28 日
学院名称:
专业班级:
学生姓名:
学生学号:
指导教师:
嵌入式课程设计
目录
一.设备驱动..............................................................1
1.1 设备驱动简介.........................................................................1
1.2 创建简单模块.........................................................................1
1.3 模块相互引用.........................................................................3
1.4 基本参数的使用......................................................................4
1.5 参数数组的使用......................................................................6
1.6 增加模块信息.........................................................................8
二.设备号................................................................9
2.1 手工指定设备号......................................................................9
2.2 动态指定设备号....................................................................10
2.3 同时支持手工和动态指定设备号..............................................11
三.字符设备............................................................13
3.1 字符设备注册.......................................................................13
3.2 用户程序使用 open/close 操作...............................................15
3.3 自定义字符设备对象保存.......................................................16
Ⅰ
嵌入式课程设计
3.4 用户程序使用 read/write 操作...............................................17
四.LED 驱动开发实验................................................20
4.1 测试硬件代码.......................................................................20
参考文献............................................................................ 25
Ⅰ
1
嵌入式课程设计
一.设备驱动
1.1 设备驱动简介
Linux 设备驱动分为字符设备,块设备和网络设备
字符设备指那些必须以串行顺序依次进行访问的设备,如触摸屏、磁带驱
动器、鼠标等。块设备可以用任意顺序进行访问,以块为单位进行操作,如硬
盘、软驱等。字符设备不经过系统的快速缓冲,而块设备经过系统的快速缓冲。
但是,字符设备和块设备并没有明显的界限,如对于 Flash 设备,符合块设备的
特点,但是我们仍然可以把它作为一个字符设备来访问。
块设备是 i/o 设备中的一类,是将信息存储在固定大小的块中,每个块都有
自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘,U 盘,
SD 卡等。
网络设备及部件是连接到网络中的物理实体。网络设备的种类繁多,且与
日俱增。基本的网络设备有:计算机(无论其为个人电脑或服务器)、集线器、
交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、
打印机和调制解调器、光纤收发器、光缆等。
1.2 创建简单模块
1.2.1 操作要求
2
嵌入式课程设计
1. 编写名为 test 的模块,自定义函数名以 test_开头,功能和前面 Hello
World 的功能相同
2. 编写 Make$le 文件,
3. 编译生成模块。
4. 进行模块加载和移除测试,并查看结果。
1.2.2 操作过程
图 1.1 操作一全部文件
图 1.2 安装的 test 模块
图 1.3 装载卸载模块日志信息
1.2.3 问题汇总
(1)操作一中需要注意 gcc 版本号,gcc version 4.4 版本编译的驱动可以
insmod 载入,但是不能 rmmod 移除,故需使用如下命令升级为 4.6 版本:
sudo rm /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.6 /usr/bin/gcc
通过 cat /proc/version 查看 gcc 版本为:gcc version 4.6.3
(2)实验代码中初始化函数名可与模块名不同
(3)虚拟机关机重启后,加载的模块需要重新加载,可设置开机自动加载
剩余30页未读,继续阅读
资源评论
杜杜杜f
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功