- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式实验报告
搭建linux系统下的交叉编译环境
Linux源码/linux工具包/crosstools_all.tar.bz2
#cd /opt/HK
#tar xvfj crosstools_all.tar.bz2 -C /
执行解压命令之后,就把交叉编译器分别安装到”/usr/local/arm/”目录下的“2.95.3”和“3.3.2” “3.4.1 ”目录中
还会安装制作文件系统的软件到/usr/local/sbin/
3.3.2版本的交叉编译器用来编译Qtopia/Embedded
2.95.3版本的交叉编译器用来编译VIVI以及移植boa等
3.4.1_softfolat版本的交叉编译器用来编译内核、busybox、u-boot和各种应用程序等
接下来配置系统环境变量,然后执行命令: #sudo gedit /etc/profile
把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在其他目录下使 用这些工具。然后在“profile”文件里面添加如下信息 :
if [ `id -u` -eq 0 ]; then
export PATH=$PATH:/opt/hk/usr/local/arm/2.95.3/bin
export PATH=$PATH:/opt/hk/usr/local/arm/3.3.2/bin
export PATH=$PATH:/opt/hk/usr/local/arm/3.4.1/bin
export PATH=$PATH:/opt/hk/usr/local/sbin
fi (PATH等号两端不要空格 )
使用命令:source /etc/profile使环境变量生效
-/bin/sh: ./hello: not found
arm-linux-readelf -a hello
找到需要的库ld-linux.so.2
到编译器下找到相关的库拷到开发板/lib下
二、CAN总线驱动程序实现
1.文件操作接口的实现
CAN设备驱动程序最终提供给应用程序的是一个流控制接口,主要包括open, close(或realse3、read, write, ioctl等操作.添加设备驱动程序,实际上就是给上述操作编写相应的程序代码。对于字符设备和块设备,Linux内核对这些操作作了统一的抽象,而每一个设备都会用一个特殊的设备文件来表示,通过虚拟文件系统,应用程序得到一组与具体设备无关的系统调用。而虚拟文件系纺的主体就是结构体file operations,每一种文件系统都有自己的file operations数据结构,结构体中的每一个成员都是一个函数指针,实际上实现了对于不同操作的函数跳转功能,例如open是指向具体文件系统用来实现打开设备文件操作的入口函数。可以说file_operations实现了标准文件操作到硬件设备操作的映射.
根据CAN控制器的特点,CAN设备驱动程序实现了结构体中一部分重要的操作,在Linux 2.4.18内核中,具体声明的实现如下:
static struct fiel_operations s3c2410_fops{
owner: THIS MODULE,
write: s3c2410 mcp2510 write,
read: s3c2410_mcp2510 read,
ioctl: s3c2410. mcp2510 ioctl,
open: s3c2410 mcp2510 open,
release: s3c2410 mcp2510 release,
};
在s3c2410ee fops中声明的每一个成员功能描述如下(未声明的成员值为0):
(1} s3c2410 mcp2510 open负责对将要进行的1/0操作做好必要的准备工作,主要包括限制CAN打开次数、清空3个发送缓冲区和2个接收缓冲区等。
(2) s3c2410_mcp2510_release负责CAN设备关闭时的操作,包括还原打开次数,关闭中断等。
(3) s}c2410 mcp2510 ioctl负责CAN设备读写操作之外的工作特性设置,主要完成设置工作模式、数据帧ID、设备滤波器、总线波特率等工作。
(4} s3c2410 mcp2510 write负责处理CAN总线数据的发送方法.
s3c2410 mcp2510 read负责处理CAN总线数据的接收方法。
2.驱动程序入口的实现
驱动程序在加载到内核中时,会首先运行驱动程序的初始化函数,然后等待系统调用在file_operations数据结构中定义的相关函数,实现对设备的操作.CAN设备的初始化函数主要负责创建CAN设备
您可能关注的文档
- 综合实验报告_excel.doc
- 近代物理实验-变温霍尔效应.doc
- flash实训报告三完整版.doc
- 浸膏的存放有效期及存放温度问题.doc
- 塑料模拆装实训报告.doc
- 数据结构实验报告4栈的实现.doc
- 广东海洋大学数据库实验六.doc
- 洪云山调研汇报材料.doc
- 激光切割机安全操作规程.doc
- 20102100062黄耿星页面置换算法实验报告.doc
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)