Welcome 微信登录

首页 / 操作系统 / Linux

debian Linux驱动开发

debian Linux驱动开发

应该说debian发展到了4.0r0 , 他的桌面系统已经变得很完美了,我原来一直用到3.3后实在不能忍受,就转用了Ubuntu6的桌面系统,但是现在转回来发现 4.0r0和ubuntu没什么特别的区别了,而且更加稳定。我在ubuntu下面中文输入法和gaim经常会起冲突而出错,而在debian下没出现这个问题。 这里我要介绍的是如何在debian下配置broadcom网卡的问题。 debian 4.0默认使用的是2.6.18-4系列的内核,这个内核版本...
Linux内核模块以及驱动的编写过程

Linux内核模块以及驱动的编写过程

Linux内核是一个整体是结构,因此向内核添加任何东西,或者删除某些功能,都十分困难。为了解决这个问题引入了内核机制。从而可以动态的想内核中添加或者删除模块。 模块不被编译在内核中,因而控制了内核的大小.然而模块一旦被插入内核,他就和内核其他部分一样.这样一来就会曾家一部分系统开销。同时,如果模块出现问题,也许会带来系统的崩溃。 模块的实现机制: 启动时,由函数 void inti_modules() 来初始化模块,因为启动事很多时候没有模块....
ssh乱码问题的解决

ssh乱码问题的解决

WindowsXP下使用SecureCRT SSH到rhel5上使用gcc 编译程序居然发现出错信息里面带乱码,且多到几乎看不清意思的程度。设置LC_ALL,LANG等环境变量无效,到google一下居然没有找到类似的问题,难道全世界只有我一个人运气好碰到这个问题吗? 无奈直接本地使用rhel5机器的图形界面,竟然没有这个问题!恍然大悟!肯定是ssh终端程序的设置问题!立即修改SecureCRT的Terminal->Emulation 的termi...
Linux下使用GCC CPU参数优化代码编译

Linux下使用GCC CPU参数优化代码编译

使用特定的GCC参数可以使编译出的程序执行效率有较大提升。具体如下:1、优化原理:在编译程序时,借助参数传递的方法,使用与系统CPU相匹配的gcc参数,编译出的程序就是为系统CPU而进行特定优化过的,因而执行速度和效率都会是最好。2、注意事项(1) 经过大量测试发现,在RedHat, CentOS系统中通常只能通过参数传递的方法进行编译优化,当然,如果愿意并且能够修改程序的MakeFile也可以达到这一效果,只不过比较复杂,工作量较大。其他在网上广为流传的...
redhat上用rpm包方式升级gcc

redhat上用rpm包方式升级gcc

本人在前面编译kgdb的时候,由于内核配置的缘故(详见本人blog《在vmware上建立kgdb调试linux kernel源码的平台》文章),编译一直通不过,所以最早本人怀疑是RedHat上的gcc版本太低(3.2.2)所致。Gcc版本升级至3.4.6后发现不是版本的缘故。但是这样一来,倒是实践了一下gcc的rpm升级方式。这边就把gcc升级的rpm方式以大家分享一下: 1,下载gcc3.4.6版本相应的rpm包 ftp://mirror.switc...
交互式Linux内核地图

交互式Linux内核地图

作为 Linux 系统心脏的 Kernel 想必是博大精深,无论是对于源代码的分析,还是想要查阅其中的函数,恐怕都是一件比较麻烦的事情。而 Interactive Linux kernel map(交互式 Linux 内核地图)这个在线工具的出现,无疑会为那些喜欢钻研 Linux 核心的朋友起到较为方便的作用。 这个交互式 Linux 内核地图允许你使用鼠标对其进行操作。 例如,使用鼠标滚轮可以缩放地图,你也可以拖曳地图以便移动它,如果你点击关键字则会...
基于2.6.19内核小型Linux系统制作与移植

基于2.6.19内核小型Linux系统制作与移植

ARM9 S3C2410微处理器与Linux的结合越来越紧密,逐渐在嵌入式领域得到广范的应用。目前,在便携式消费类电子产品、无线设备、汽车、网络、存储产品等都可以看到S3C2410与Linux相结合的身影。 S3C2410微处理器是一款由Samsung公司为手持终端设计的低价格、低功耗、高性能,基于ARM920T核的微处理器。它带有内存管理单元(MMU),采用0.18mm工艺和AMBA新型总线结构,主频可达203MHz。同时,它支持Thumb 16位压...
Linux下用gcc编译使用了math库函数的程序出错的解决

Linux下用gcc编译使用了math库函数的程序出错的解决

症状: 在c程序中用到math库函数时,编译成obj后,再生成执行文件时,会遇到类似下面的错误: /tmp/ccalvMPY.o: In function `main": /tmp/ccalvMPY.o(.text+0x40): undefined reference to `pow" 原因: 因为linux中, pow 函数定义在 libm.so中,不像一般DevC++或TC是放在C语言的/lib下,所以。C无法在连接时,找到相对应的库来连接。...
Linux系统下的多线程编程-条件变量&信号量

Linux系统下的多线程编程-条件变量&信号量

条件变量 使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程。这些线程将重新锁定互斥锁并重新测试条件是否满足。一般说来,条件变...
Linux开发环境

Linux开发环境

编程库头文件汇编器分析器编译器链接器调试器文本编辑器编程工具内核源代码文件和头文件 /usr/src/linuxC的开发库 glibc源代码调试器 gdb (GNU Debugger), kdbg, ddd, xdgbindent 能够按照许多预先定义好的或者自定义的标准调整源代码以及代码缩进的格式以达到所需的风格。tags程序 (在emacs上对应etages) 生成的文件能够增强编辑器浏览和分析源代码的能力。lclint 快速语法检查,找出大量问题,包...
Fedora Core服务器调试手记

Fedora Core服务器调试手记

我想大家有不少都成功实现apache+php+mysql,网上的文章也有不少,但我发现不少文章都是抄来抄去,并且没有说明白编译的方式,有的索性apache1.3的编译方法原封不动的搬过来套在apache2.0,显然误导一些菜鸟。我今天就以apache+mysql+php说一下静态编译和DSO动态编译的区别,我会分别拿apache1.3.27和apache2.0.46 说明,因为两个版本的编译命令是有所区别的。 系统和所需软件: RedHat9.0 apac...
嵌入式Linux综合知识

嵌入式Linux综合知识

Tomlinux 嵌入式Linux文档、资源及下载,提供免费版本的嵌入式Linux系统。 Linuxforum Linux技术交流与提问,有什么问题去那里发问,肯定会有所帮助。 Freshmeat 有许多Linux项目资源,内容丰富,版本最新还可发布自己的项目。 Sourceforge 最著的名源码下载网站,内容丰富,版本最新还可发布自己的项目。 GNU 查阅各种标准,下载GNU软件。 Kernel 下载最新内核及查阅Linux内核的最新动向。 Turbo...
<< 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 >>