Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173114
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-28 09:10
文章分类
文章存档

2016年(43)

我的朋友

分类: 嵌入式

2016-07-25 15:36:35

 

linux-uk-proxy.ko 字符设备,加载模块时生成设备节点/dev/linux-uk-proxy

linux-uk-proxy.ko 模块中创建一个链表_service_list,与bcm shell交互的数据全保存在该链表中,比如linux-uk-proxy.接收bcm shell下发过来的数据会保存在该链表中,反之linux-uk-proxy.应答bcm shell也是从该链表中拷贝数据,然后发送给bcm shell

那么该_service_list是如何和驱动交互的呢?

Bcm shell是应用程序,首先open  dev/linux-uk-proxy,然后通过ioctllinux-uk-proxy.ko交互。包括发送用户输入给linux-uk-proxy及接收驱动执行用户输入后的应答结果。

       linux-bcm-diag.ko模块在初始化过程中会创建一个线程bcm_shell,该线程,bcm shell主体如下:

while (1)

{

    sh_process(-1, "BCM", TRUE);

}

sh_process中获取用户的输入,然后调用对应的处理函数。

阅读(3378) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~