安装自己的处理程序,当数据从FIFO中读出或写出时运行。
3.6.2 共享内存
在RTLinux启动的时候,通过指定内核一个mem参数决定内核可以使用的内存大小,空出来的内存空间用于实时任务和Linux进程进行通信的共享内存。在RTLinux任务中通过/dev/mem设备在这段内存中寻址,Linux进程也通过读取这段内存的数据获得实时任务提供的信息,这样完成实时任务和Linux进程之间的通信。
3.6.3 mbuff驱动程序
它是由Tomasz Motylewski提供的一个使用共享内存的驱动程序,用来实现核心内存空间和用户之间的共享。通过使用mbuff提供的mbuff_alloc()的函数给申请的内存取一个名字,mbuff驱动程序使用一个链表通过这个名字来管理这些申请的内存。通过这个驱动程序也可以在包括RTLinux的Linux内核内存空间和用户内存空间之间共享内存。
#include <mbuff.h>
void * mbuff_alloc(const char *name, int size);
void mbuff_free(const char *name, void * mbuf);
第一次调用mbuff_alloc时,给定一个名字,一个给定大小的共享内存块将分配。这个内存块的引用数设为1。调用成功返回新内存块的指针。失败时返回NULL。如果给定的名字已经存在,将返回存在的内存块的指针,以操作这块共享内存块,该内存块的引用数将加1。
上一页 [1] [2] [3] [4]
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18