![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 78
luixing67
这个作者很懒,什么都没留下…
展开
-
Linux导出符号冲突相关问题总结
版权声明:本文为博主原创文章,未经博主允许不得转载。在linux中使用动态链接库进行链接时出现冲突导致crash,查看原因是因为我们的动态连接库中使用的protubuf版本与对方使用的版本冲突。但是我们产品中的protubuf是以静态库的方式链入,怎么会出现版本冲突呢。谷歌了一下,究其原因是因为在Linux中会默认将所有导入的第三方库的接口一并导出,这使得产品先启动后再load我们的引擎的时候,我们的第三方库在使用接口的时候,使用的并不是我们自己版本的接口,而是产品使用的版本的接口。转载 2023-12-08 13:51:11 · 89 阅读 · 0 评论 -
Linux中断实现方法(一):中断注册方法及异常向量表的建立
Linux中断实现方法(一):中断注册方法及异常向量表的建立看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解。先从函数注册引出问题吧。一、中断注册方法在linux内核中用于申请中断的函数是reque转载 2011-07-20 23:18:35 · 1055 阅读 · 0 评论 -
Linux中断实现方法(三):中断处理模型
Linux中断实现方法(三):中断处理模型四、中断处理模型 要想弄清楚desc->handle_irq(irq, desc)和我们注册的中断有什么关联,就要了解中断处理模型了。 4.1 中断处理模型结构 中断处理模型如下图所示, 其中NR_IRQS表示最大的中断号,在includ转载 2011-07-20 23:14:08 · 817 阅读 · 0 评论 -
linux ioctl函数及其驱动和应用程序注意事项
在mtd-util的flash_eraseall中发现这样的用法:----------------------------------------------------------------#define MEMGETINFO _IOR('M', 1转载 2011-07-17 23:21:40 · 2782 阅读 · 0 评论 -
ubuntu下使用命令行配置查看网络
UBUNTU 自带network manage,只能使用DHCP上网,使用固定IP会导致无法上网。使用图形界面设置固定IP,system-perferences-network connection,对无限网络进行edit,进入IPV4 settings,将method中的DHC转载 2011-07-17 07:32:06 · 1419 阅读 · 0 评论 -
Linux中断实现方法(二):中断处理过程
Linux中断实现方法(二):中断处理过程三、中断处理过程 这一节将以S3C2410为例,描述linux-2.6.26内核中,从中断开始,中断是如何一步一步执行到我们注册函数的。 3.1 中断向量表 archarmkernelentry-armv.S__vectors_start转载 2011-07-20 23:17:44 · 824 阅读 · 0 评论 -
gspca 摄像头驱动的移植(ZC3XX)
gspca 摄像头驱动的移植(ZC3XX)www.firnow.com 时间 : 2008-09-27 作者:佚名 编辑:本站 点击: 1013 [ 评论 ]--Kernel version :2.6.22.6Crosstool :arm-linux-gcc-3.4.5Board :FS2410 System :Fedora 8Sour转载 2010-05-14 10:40:00 · 923 阅读 · 0 评论 -
module_init和module_exit
一直以来写linux驱动,都是按照固定格式,定义一个初始化和推出函数,书上告诉我这两个函数会被调用,至于为什么会被调用,在哪调用,一直不清楚。偶然的一个机会,看到blob里面的代码,里面有一个初始化函数列表。按照一般的编程想法,各部分的初始化函数会在一个固定的函数里调用比如:void init(void){ init_a(); init_b();} 如果再加转载 2009-10-21 21:00:00 · 645 阅读 · 0 评论 -
kernel中执行一次就释放空间的代码
linux kernel中有很大一部分代码是设备驱动代码,这些驱动代码都有初始化和反初始化函数,这些代码一般都只执行一次,为了有更有效的利用内存,这些代码所占用的内存可以释放出来。linux就是这样做的,对只需要初始化运行一次的函数都加上__init属性。在kernel初始化后期,释放所有这些函数代码所占的内存空间。它是怎么做到的呢?看过module_init和module_exit 的人转载 2009-10-21 21:17:00 · 736 阅读 · 0 评论 -
linux内核模块和驱动程序的编写
linux中的大部分驱动程序,是以模块的形式编写的.这些驱动程序源码可以修改到内核中,也可以把他们编译成模块形势,在需要的时候动态加载.一个典型的驱动程序,大体上可以分为这么几个部分:1、注册设备在系统初启,或者模块加载时候,必须将设备登记到相应的设备数组,并返回设备的主驱动号,例如:对快设备来说调用refister_blkdec()将设备添加到数组blkdev中.并且获得该设备号.并转载 2009-10-16 09:43:00 · 609 阅读 · 0 评论 -
Framebuffer Driver
一、FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebuf转载 2009-10-14 17:25:00 · 529 阅读 · 0 评论 -
读核感悟-kbuild系统-make bzImage的过程
从以上例子中可以看到,内核的编译系统kbuild是个很庞大的系统。但是,它所使用的make和我们平时用的make是一模一样的。kbuild只是通过预定义一些变量(obj-m,obj-y等等)和目标(bzImage ,menuconfig等等),使内核的编译和扩展变得十分方便。我们不妨yy一下kbuild的一些功能:1.考虑到Linux能够方便地移植到各个硬件平台,kbuild也必须很容易添加对转载 2009-10-15 09:21:00 · 1069 阅读 · 0 评论 -
Fedora--没有正确安装GNOME电源配置器
今天一运行虚拟机,进入桌面的时候,突然跳出来对话框“没有正确安装GNOME电源配置器”,然后桌面黑屏,但是可以看到鼠标还有反应,诶,不知道昨天装东西,又把哪里的配置给弄坏了(刚开始倒腾Linux,还在朋友指导下玩的,惭愧,没入门的菜鸟)。GOOGLE一下,发现有人提出来用如下办法“打开终端,输入sudo dpkg --configure -a,输入密码,可能要等上比较长一段时间,完成以后重原创 2009-10-09 13:49:00 · 2002 阅读 · 2 评论 -
在 Fedora 下建立 ARM-Linux 交叉编译环境
这几天忙着在Fedora 7下建立ARM-Linux的交叉编译环境。一开始参考了《构建嵌入式Linux系统》,这是一本很经典的书。上面介绍了建立ARM-Linux的交叉编译环境的许多知识,建立的原则和方法。我一开始想按照上面的一般方法,建立一个自己的、最新的交叉编译环境。但是 ,试了才知道这个过程是一个繁琐、耗时的工作。对于没转载 2009-09-28 09:01:00 · 1593 阅读 · 0 评论 -
建立基于ARM体系结构的交叉编译环境
一.需要掌握的工具&技能。 1、Linux操作系统终端的使用&基本Linux操作命令。 注解:Linux操作系统的终端类似windows操作系统的DOS命令窗口,它是运行在Linux操作系统中的命令行工具,通过在其命令提示符后面输入相应命令,完成对 操作系统相应功能的实现和调用。Linux操作系统命令繁多,但常用的命令只有有限几个,很容易掌握,具体参见Lin转载 2009-09-28 08:46:00 · 1358 阅读 · 0 评论 -
交叉编译基于ARM体系结构的Linux内核
交叉编译基于ARM的Linux内核之前,我们作以下的准备工作: 1、已经安装好一套你熟悉的交叉编译工具(建立好交叉编译环境)。 2、选择一套你熟悉的功能足够你使用的内核,当然,这个内核是适合用你的交叉编译工具编译的。 掌握以上2点,基本上就差不多了。这里默认你知道的一些常用知识----命令&VI&常识什么的你已经了解。 开始编译: 1、下载内核: 下载一个你觉得可以满足你的设计要转载 2009-09-28 08:44:00 · 3419 阅读 · 0 评论 -
Linux下 Makefile 的 automake 生成全手册
一、Makefile介绍 Makefileshi用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但shi不shi所有的文件都需要重新编译,Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件。 Makefile的宗旨就shi:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动的转载 2009-09-29 22:58:00 · 693 阅读 · 0 评论 -
C++ STL编程轻松入门基础
http://www.stlchina.org/twiki/bin/view.pl/Main/STLEasyStudy转载 2009-09-29 22:59:00 · 489 阅读 · 0 评论 -
构建ARM平台的交叉工具链第一部分
Crosstool是由美国人Dan Kegel(毕业于加(利福尼亚)州工学院)开发的一套可以自动编译不同匹配版本gcc和glibc,并作测试的脚本程序。Crosstool最初是为嵌入式系统开发者创建,但也适用于主流开发者比如只是希望他们去快速编译或需要建立程序,可运行在旧版本的Linux操作系统(例如Red Hat的6.2 )。Crosstool是一种便携式的shell脚本。你可以使用它来建立Li转载 2009-09-28 08:42:00 · 1339 阅读 · 0 评论