Welcome 微信登录

首页 / 操作系统 / Linux

准备进行Linux设备驱动的开发了

准备进行Linux设备驱动的开发了

首先是搭建开发环境,由于目标机是ARM2410,需要用到GCC,在Windows平台虽然有cygwin等工具可以模拟Linux环境,但是据说问题比较多,出了问题也不好解决,干脆还是直接转到Linux平台吧。 本来一直是用的Vmware装了RedHat9.0,来搭建的交叉编译环境,后来还是感觉是在太慢了,光是编译交叉工具链就要5个小时以上。正好同事中有用了5年Linux的高手,在他的帮助下,一狠心把vmvare卸载了,直接装Linux,用Linux作为主机...
Ubuntu调用函数分析

Ubuntu调用函数分析

俗话说365行,隔行如隔山(恩,我说的)。不同行业有不同行业的规矩,而今天说的Ubuntu操作系统也如此,今天我就闪了一下腰。程序很简单,大概是这样的。#include int main() { char *msg = "mnzn"; printf("msg is %s", msg); return 0; } 很简单吧,可是任凭我在x86-ubuntu的64位机器上怎么写汇编就是不对,刚才突然开窍,反汇编看了看,心里的谜团全部解释清楚了。1 |#inclu...
Linux下能不能替换运行中的程序

Linux下能不能替换运行中的程序

今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结果:(test正在运行中)# cp test2 testcp: cannot create regular file `test": Text file busy看起来是程序被占用,无法覆盖。于是自己又再做了几个实验:(1)先rm删除正在运行的test,然后cp test2 test就没有错误了。(...
在Linux系统中实现虚桩式内核模块

在Linux系统中实现虚桩式内核模块

最近在把以前做的一个驱动程序在线加载技术移植到SUSE的AutoYaST安装系统中时遇到了一点小麻烦。AutoYaST采用SuSE自己编写的Linuxrc作为其初期引导部分,有别于大部分常规的initrd引导部分,Linuxrc是直接用C语言编写的,而且几乎没有提供什么扩充的灵活性。如此一来,就无法像以往移植到其它环境中那样单纯修改引导脚本就可以搞定。虽说直接修改Linuxrc的源码也可以达到这个目的,但这样就增加了后期维护的复杂度。唉,还真是个头疼的问题...
升级Linux内核错误解决

升级Linux内核错误解决

因为要使用ntfs-3g(内核至少2.6.22才不会有warning提示)的写功能,所以将自己机器上的linux(debian)内核从2.6.18升级到目前最新的2.6.25.9 下载源码,定制参数选项(make menuconfig,很重要,好多问题其实出现在参数的配置上),make;make modules_install;make install,就是这么简单。 最后还是要生成initrd文件的,可以使用yaird命令 这里记录一下升级过程中碰到的两...
Linux终端不回显

Linux终端不回显

一直想在Linux下写段程序试试输入不回显的东西,但是一直被一些事情所羁绊(其实是自己懒,玩游戏去了),直到最近要在公司的代码上加东西。于是乎,一轮 google 以后,终于找到了答案,其实是因为自己看APUE看的头晕了。代码很简单,先用 tcgetattr 取到现有的属性,然后在现有属性上设置 XXX.c_lflag &= ~ECHO ,再用 tcsetattr 把新属性给设置上去,就行了,对于两个终端相关的函数,需要提供 fd ,对于 stdi...
Linux2.6与2.4内核驱动程序的区别

Linux2.6与2.4内核驱动程序的区别

为了彻底防止对正在被使用的内核模块进行错误操作,Linux2.6内核在加载和导出内核模块方面都较2.4内核有所改进,避免了用户执行将导致系统崩溃的操作(例如强制删除模块等)。同时,当驱动程序需要在多个文件中包含头文件时,不必定义宏来检查内核的版本。与2.4内核相比,2.6内核在可扩展性、吞吐率等方面有较大提升,其新特性主要包括:使用了新的调度器算法;内核抢占功能显著地降低了用户交互式应用程序;多媒体应用程序等类似应用程序的延迟;改进了线程模型以及对NPTL...
Linux文件系统ext4 相关知识大全

Linux文件系统ext4 相关知识大全

Ext4 是众多 Linux? 文件系统中的最新版本,它将像以前的版本一样重要和流行。作为 Linux 系统管理员,您应该知道迁移到 ext4 的优缺点和基本步骤。本文将介绍何时应采用 ext4、如何在 ext4 中使用传统的文件系统维护工具以及如何充分利用该文件系统。Ext4 的功能Linux 支持几个不同的文件系统。这些文件系统中,一些是专用的网络文件系统或为其他操作系统开发的文件系统,但绝大部分还是用作 Linux 本地文件系统 — 您可以将 Lin...
Linux兼容内核的三个重要源泉详细介绍

Linux兼容内核的三个重要源泉详细介绍

我们要开发、构建的Linux兼容内核并非无源之水,也不需要从零开始“重新发明轮子”。正如牛顿所说要“站在巨人肩膀上”一样,我们也应该充分利用别人已经取得的成就、特别是开源社区已经取得的成就。除Linux本身以外,兼容内核主要的源泉有三个,那就是Wine、NdisWrapper、以及ReactOS。三者都是在Sourceforge立项的开源项目,源代码可从www.sourceforge.net下载。下面对三个源泉分别作一简单的介绍。Wine按Wine项目自己...
关于Linux下PHP编程的几个问题

关于Linux下PHP编程的几个问题

1、环境的搭建:本机虚拟机装好PHPTOMCATAPACHE等所需环境,具体安装过程可从网上搜到,然后设置本机虚拟机FTP可以ROOT访问,可以通过修改FTP配置文件实现,可从网上搜到具体修改的过程。WINDOWS环境下装Zend Development Environment,创建FTP连接,链接到本机虚拟机,这样就可以实现在WINDOWS上直接编辑Linux下的代码。但注意要在装虚拟机时把支持中文选上,否则你用VI打开源码文件时中文注释或者中文提示语将...
<< 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 >>