linux内核socket can中文文档

linux内核socket can中文文档

ID:14404803

大小:140.50 KB

页数:22页

时间:2018-07-28

linux内核socket can中文文档_第1页
linux内核socket can中文文档_第2页
linux内核socket can中文文档_第3页
linux内核socket can中文文档_第4页
linux内核socket can中文文档_第5页
资源描述:

《linux内核socket can中文文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux内核SocketCAN中文文档分类: linux驱动2012-01-3016:26 1301人阅读 评论(2) 收藏 举报自己在年假中空闲之余翻译的内核中SocketCAN的文档,原文地址在:http://lxr.linux.no/linux+v2.6.34/Documentation/networking/can.txt但是这篇文档没有涉及广播管理协议套接字(SOCK_DGRAM) 的内容。另外一篇比较好的SocketCAN的英文文档是(详细介绍了广播管理协议套接字):LowLevelCANFrameworkApplicationProgrammersIn

2、terfacehttp://www.brownhat.org/docs/socketcan/llcf-api.html#SECTION00051000000000000000自己暂时没时间翻译这篇文章了,有空再说吧。 自己英文水平有限,希望高人指正。================================================================================ 这篇文章主要针对can协议簇(akasocketcan)这篇文章包含以下内容:===============1概述--什么是SocketCAN?2动机--为什么使

3、用socketAPI接口?3SocketCAN详解   3.1接收队列   3.2发送帧的本地回环   3.3网络安全相关   3.4网络故障监测4如何使用SocketCAN   4.1使用can_filter的原始套接字(RAWsocket)     4.1.1原始套接字选项CAN_RAW_FILTER     4.1.2原始套接字选项 CAN_RAW_ERR_FILTER      4.1.3原始套接字选项 CAN_RAW_LOOPBACK      4.1.4原始套接字选项 CAN_RAW_RECV_OWN_MSGS   4.2广播管理协议套接字(SOCK_DG

4、RAM)   4.3面向连接的传输协议(SOCK_SEQPACKET)   4.4无连接的传输协议 (SOCK_DGRAM)5SocketCAN核心模块   5.1can.ko模块的参数   5.2procfs接口   5.3写一个自己的CAN协议模块6CAN网络驱动   6.1常见设置   6.2发送帧的本地回环   6.3CAN控制器的硬件过滤   6.4虚拟的CAN驱动(vcan)   6.5CAN网络设备驱动接口     6.5.1Netlink接口--设置/获取设备属性     6.5.2设置CAN的比特_时序     6.5.3启动和停止CAN网络设备  

5、 6.6支持SocketCAN的硬件7 学习SocketCAN的相关资源8贡献者名单==============现在开始===================1. 概述--什么是SocketCAN?==================socketcan子系统是在Linux下CAN协议(ControllerAreaNetwork)实现的一种实现方法。CAN是一种在世界范围内广泛用于自动控制、嵌入式设备和汽车领域的网络技术。Linux下最早使用CAN的方法是基于字符设备来实现的,与之不同的是SocketCAN使用伯克利的socket接口和linux网络协议栈,这种方法使得

6、can设备驱动可以通过网络接口来调用。SocketCAN的接口被设计的尽量接近TCP/IP的协议,让那些熟悉网络编程的程序员能够比较容易的学习和使用。2. 动机--为什么使用socketAPI接口?=======================在SocketCAN之前Linux中已经有了一些CAN的实现方法,那为什么还要启动SocketCAN这个项目呢?大多数已经存在的实现方法仅仅作为某个具体硬件的设备驱动,它们往往基于字符设备并且提供的功能很少。那些方案通常是由一个针对具体硬件的设备驱动提供的字符设备接口来实现原始can帧的发送和接收,并且直接和控制器硬件打交道。帧

7、队列和ISO-TP这样的高层协议必须在用户空间来实现。就像串口设备接口一样,大多数基于字符设备的实现在同一时刻仅仅支持一个进程的访问。如果更换了CAN控制器,那么同时也要更换另一个设备驱动,并且需要大多数应用程序重新调整以适应新驱动的API。SocketCAN被设计用来克服以上种种不足。这种新的协议族实现了用户空间的socket接口,它构建于Linux网络层之上,因此可以直接使用已有的队列功能。CAN控制器的设备驱动将自己作为一个网络设备注册进Linux的网络层,CAN控制器收到的CAN帧可以传输给高层的网络协议和CAN协议族,反之,发送的帧也会通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。