![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
hdusunny44
这个作者很懒,什么都没留下…
展开
-
linux内核空间与用户空间信息交互方法
linux内核空间与用户空间信息交互方法本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种方法可以用来完成这些任务。本文总结了各种常用的信息交换方法,并原创 2010-12-03 21:08:00 · 850 阅读 · 0 评论 -
Linux的帧缓冲设备
<br />Linux的帧缓冲设备 <br />帧缓冲(framebuffer)是 Linux 为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在<br />图形模式下直接对显示缓冲区进行读写操作。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机<br />制等等具体细节。这些都是由Framebuffer 设备驱动来完成的。帧缓冲驱动的应用广泛,在 linux 的桌面系统中,<br />Xwindow 服务器就是利用帧缓冲进行窗口的绘制。尤其是通过帧缓冲可显示汉字点阵,成为转载 2010-11-18 20:37:00 · 961 阅读 · 0 评论 -
davinci内存使用
<br />闻亭的6446开发板上有256MB的DDR2内存,这部分内存默认的分配如下:0x80000000 .. 0x87800000 (0-120MB; size 120MB): Linux, booted with MEM=120M<br />0x87800000 .. 0x88000000 (120-128MB; size 8MB): CMEM -- shared buffers between Arm, DSP<br />0x88000000 .. 0x8FA00000 (128-250MB转载 2010-11-19 21:24:00 · 1263 阅读 · 0 评论 -
framebuffer设备的参数
<br />如果应用程序需要知道Framebuffer设备的相关参数,必须通过ioctl()系统调用来完成。<br />在头文件<linux/fb.h>中定义了所有的ioctl命令字,不过,最常用的ioctl命令字是下面这两个:FBIOGET_FSCREENINFO和FBIOGET_VSCREENINFO。<br />前者返回与Framebuffer有关的固定的信息,比如图形硬件上实际的帧缓存空间的大小、能否硬件加速等信息。<br />而后者返回的是与Framebuffer有关的可变信息。<br />之所以转载 2010-11-18 20:22:00 · 7682 阅读 · 0 评论 -
v4l2详解
1 VIDIOC_REQBUFS:分配内存 2 VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的数据缓存转换成物理地址 3 VIDIOC_QUERYCAP:查询驱动功能 4 VIDIOC_ENUM_FMT:获取当前驱动支持的视频格式 5 VIDIOC_S_FMT:设置当前驱动的频捕获格式 6 VIDIOC_G_FMT:读取当前驱动的频捕获格式 7 VIDIOC_TRY_FMT:验证当前驱动的显示格式 8 VIDIOC_CROPCAP:查询驱动的修剪能力 9 VIDIOC_S_CROP:转载 2010-11-14 21:51:00 · 2795 阅读 · 0 评论 -
Linux的分段分页
<br /><br />1.x86 内存架构和Linux的分段管理<br />x86 内存架构<br />在 x86 架构中,内存被划分成 3 种类型的地址:<br />· 逻辑地址 (logical address) 是存储位置的地址,它可能直接对应于一个物理位置,也可能不直接对应于一个物理位置。逻辑地址通常在请求控制器中的信息时使用。<br />· 线性地址 (linear address) (或称为平面地址空间)是从 0 开始进行寻址的内存。之后的每个字节都可顺序使用下原创 2010-12-06 20:19:00 · 972 阅读 · 0 评论 -
掌握Linux 程序调试
<br />http://www.ibm.com/developerworks/cn/linux/sdk/l-debug/<br />您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几种可以用来调试在 Linux 上运行的程序的方法。我们将回顾四种调试问题的情况,这些问题包括段错误,内存溢出和泄漏,还有挂起。<br />本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中,我们使用了两个有内存分配问题的样本程序,使用转载 2010-12-03 21:14:00 · 651 阅读 · 0 评论 -
gdb调试相关
3.2.1 断点的工作原理在本书的所有地方都使用了STATUS_BREAKPOINT异常,尤其是在本章中,但却没有很明确地解释这个异常的引发方式。现在,我们就来解释如何在进程中产生这个异常。在x86指令集中包含了一个特殊的指令int 3,这个指令将在处理器上产生硬件中断STATUS_BREAKPOINT以用于调试。为了响应异常STATUS_BREAKPOINT,处理器将执行位于中断矢量3中的中断处理器。中断处理器将把这个硬件异常转换为在这条指令地址上引发的一个软件异常。这条指令在指令流中被表原创 2010-12-03 21:36:00 · 1344 阅读 · 0 评论 -
什么是Core Dump?
<br />什么是Core Dump?<br />Core的意思是内存, Dump的意思是扔出来, 堆出来.<br />开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.<br />core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储原创 2010-12-03 21:19:00 · 2357 阅读 · 0 评论 -
v4l2详解(续)
<br />一.什么是video4linux<br />Video4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。<br /> <br />二.一般操作流程(视频设备):<br />1.打开设备文件。 int fd=open(”/dev/video0″,O_RDWR);<br />2.取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。V转载 2010-11-19 19:54:00 · 1916 阅读 · 0 评论