Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

linux驱动程序编写

linux驱动程序编写

linux驱动程序编写引 言 linux驱动程序编写无疑是一项复杂的工作。本文将集中介绍非标准硬件的设备驱动程序编写,探讨硬件应用编程接口,并借用 Cirrus Logic EP9312 片上系统嵌入式平台添加设备驱动程序这一案例来进行分析。 如果有些编程内容未能在本文中涉及,那么读者亦可以查阅相似的设备驱动程序编码,以做参考。还有一种方法,就是检索历史档案或者向 Linux 内核问讯中心去函问讯。 Linux 概述 Linux 是 UNI...
构建嵌入式linux平台下的用户应用

构建嵌入式linux平台下的用户应用

1.引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次,如图1-1所示: (1)引导程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。 (2)Linux 内核。针对于嵌入式板子的定制内核以及内核的启动参数。 (3)文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram d...
Linux内核如何接收不同类型以太帧

Linux内核如何接收不同类型以太帧

1. 前言以太头中除了6字节目的MAC地址、6字节源MAC地址外,还有两字节的以太帧类型值,如IPv4为0x0800,ARP为0x0806等,网卡驱动收到以太帧后通过接口函数netif_receive_skb()(netif_rx实际最后也是调用netif_receive_skb)交到上层,而这个接口函数就完成对以太帧类型的区分,交到不同的协议处理程序。如果想自己编写某一以太类型帧的处理程序,需要自己添加相应的以下Linux内核代码为2.6.17.11。2...
Java语言与C语言的区别

Java语言与C语言的区别

1. Java没有预处理指令。(如C中的#define , #include , #ifdef等)。C中的常量定义在Java中用static final来取代。2. Java中没有C中的全局变量。3. Java中的主类型的size是确定的,而C中主类型的size跟平台相关。4. Java中没有了指针,它使用了类似的句柄来取代指针,但是Java中不允许对句柄进行加减,没有取地址操作符之类的东东。5. Java有垃圾收集机制,不需要自己释放空间。6. Java...
怎样提高java程序性能

怎样提高java程序性能

在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 JAVA程序设计中一个普遍的问题就是没有好好的利用JAVA语言本身提供的函数,从而常常会生成大量的对象(或实例)。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。 例1:关于String ,StringBuffer,+和append JAVA语言提供了对于...
Java认证及培训简介

Java认证及培训简介

美国Sun公司提供的关于Java的SCJP/SCJD认证是全球各大企业都认同的行业认证之一,其特点是培训和考试费用高、考试难度较大。那么,为何要进行Java的认证考试呢?其目的主要为: Java认证是全球各大企业都认可的行业认证,获取该认证表明您有很高水平的Java编程能力,这样就可以拥有更多的找到好的满意的工作的机会,当然,这也同样为您的提升增加了一个很重要的砝码。 Java语言本身很简单,很容易学和使用,但也有很多的一些习惯用法与其它语言不同。获得...
C++ 小内存堆(Small Block Heap)问题

C++ 小内存堆(Small Block Heap)问题

摘要 Visual C++ 6.0 最近的版本包含了一个高度优化的队管理器,并由此将应用程序性能提高到 Visual C++ 5.0的400%。但是,重新设计的堆可能会由于用户用Visual C++ 5.0编写的应用程序当中的有关内存分配和释放方面的编程错误,出现错误。这将导致现有的某些用Visual C++早期版本编写的最终用户/ISV/OEM 应用程序的运行难以把握。该问题不是Visual C++的错误,而是编程错误的一种表现,一些ISV和OEM过多地...
Linux编程环境详解

Linux编程环境详解

一、序言 说到编程,大家肯定会想到许许多多,例如Visual C++、Visual Basic、Delphi、PowerBuild、java、perl、asp等等。现在的程员们早已习惯了可视化的编程工具,习惯在“向导”的带领下step by step地编程。在一个象WORD一样的环境下轻松敲入源码,有人为你校对,有人提醒你的代码是否错误,完成后,轻轻点击菜单中的“编译”,就可以生成可执行程序了。甚至于,可以画出用户界面来,用一些“巫师”程序生成基本的程...
linux驱动模块编写

linux驱动模块编写

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

Linux内核学习的误区

常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux. 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需: 1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、内存的关系(很粗略即可),等等。 2, 关于C语言...
asp.net 防sql注入的实现

asp.net 防sql注入的实现

一、什么是SQL注入式攻击? 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。常见的SQL注入式攻击过程类如: ⑴ 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。...
学用PHP设计聊天室

学用PHP设计聊天室

聊天室可以采用完全自由的方式运行,你可以随意输入呢称,不用密码,不保存你的聊天状态,优点是:自由,非常适合于游客!另外一个方法是注册聊天室,每个进入聊天室的人都要输入自己的用户名和密码才能进入!优点:充分体现个性,非常适合于老朋友,他们的呢称不会被人恶意侵占使用.我的聊天室使用注册方法! 注册通常采用2种方法: 1、先注册然后进入聊天 2、自动注册 然后在里面修改自己的资料!我采用第2种方法!!每个新进入的聊友的用户名会被自动保存到注册到数据库...
<< 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 >>