![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 81
shangyaowei
这个作者很懒,什么都没留下…
展开
-
常见嵌入式笔试题
1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2).懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不原创 2013-12-19 20:31:32 · 324 阅读 · 0 评论 -
linux 让你的进程后台运行
fg、bg、jobs、&、ctrl+ z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一。& 最经常被用到 这个用在一个命令的最后,可以把这个命令放到后台执行二。ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停三。jobs 查看当前有多少在后台运行的命令四。fg 将后台中的命令调至前台继续运行 如原创 2013-12-19 20:31:39 · 325 阅读 · 0 评论 -
USB驱动程序之描述符
原创 2013-12-19 20:31:45 · 406 阅读 · 0 评论 -
Makefile的编写
目的: 基本掌握了make 的用法,能在Linux系统上编程。环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include #include原创 2013-12-19 20:31:21 · 332 阅读 · 0 评论 -
linux笔试
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点 来标识.4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块.5. 链接分为: 硬链接 和 符号链接 .6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统原创 2013-12-19 20:31:30 · 514 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(下)…
前言在上篇《 Linux下的硬件驱动--USB设备(上)(驱动配制部分)》中,我们知道了在Linux下如何去使用一些最常见的USB设备。但对于做系统设计的程序员来说,这是远远不够的,我们还需要具有驱动程序的阅读、修改和开发能力。在此下篇中,就是要通过简单的USB驱动的例子,随您一起进入USB驱动开发的世界。回页首USB驱动开发在掌握了USB设备的配置后,对于程序员,我们就可以原创 2013-12-19 20:31:47 · 459 阅读 · 0 评论 -
Linux下的硬件驱动——USB设备(上)…
前言USB是英文"Universal SerialBus"的缩写,意为"通用串行总线"。是由Compaq(康柏)、DEC、IBM、Intel、NEC、微软以及NorthernTelecom(北方电讯)等公司于1994年11月共同提出的,主要目的就是为了解决接口标准太多的弊端。USB使用一个4针插头作为标准插头,并通过这个标准接头,采用菊花瓣形式把所有外设连接起来,它采用串行方式传输数据,目原创 2013-12-19 20:31:50 · 416 阅读 · 0 评论 -
Linux设备驱动编程之内存与I/O操作…
Linux设备驱动编程之内存与I/O操作(九)对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。 进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC原创 2013-12-19 20:31:52 · 472 阅读 · 0 评论 -
linux命令集锦 [呕心沥血收集-吐血…
linux命令集锦[呕心沥血收集-吐血推荐]成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。Linux中提供了异常日志,并且日志的细节是可配置的。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。下面我们就来详细的介绍各种操作命令。本专题收录了linux几乎原创 2013-12-19 20:31:54 · 414 阅读 · 0 评论 -
Linux下Makefile的automake生成全…
Linux下Makefile的automake生成全攻略作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和automake两个原创 2013-12-19 20:31:56 · 314 阅读 · 0 评论 -
关于linux驱动(应用)程序头文件使…
驱动程序:#include是在linux-2.6.29/include/linux下面寻找源文件。#include是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include //最基本的文件,支持动原创 2013-12-19 20:31:58 · 371 阅读 · 0 评论 -
linux 头文件作用 功能说明!!!
1、 一些头文件的作用::ANSIC。提供断言,assert(表达式):GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含:GCC。文件夹操作函数。structdirent,structDIR,opendir(),closedir(),readdir(),readdir64()等:ANSIC。字符测试函数。isdigit(),is原创 2013-12-19 20:32:00 · 536 阅读 · 0 评论 -
S3C2440上触摸屏驱动实例开发讲解(…
共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2二、前提知识1、Linux输入子系统(Input Subsystem): 在Linux中,输入子系统是由输入子系统设备驱原创 2013-12-19 20:35:14 · 1391 阅读 · 0 评论 -
C 语言 undefined reference to 's…
C 语言 undefined referenceto 'sqrt' 问题解决2011-04-1812:31 50人阅读评论(0) 收藏 举报题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2原创 2013-12-19 20:37:29 · 500 阅读 · 0 评论 -
动态链接库
在《LINUX下动态链接库的创建与应用》 一文中,我介绍了LINUX动态链接库的基本知识.其要点是:用户根据实际情况需要,利用dlopen,dlsym,dlclose等动态链接库操作函 数,装入指定的动态链接库中指定的函数,然后加以执行.程序中使用很少的动态函数时,这样的做法尚可.如果程序需要调用大量的动态函数,那么采用这样的编 程手段将是非常繁复的,所以我们必须使用一种更为聪明的办法,以减少代码原创 2013-12-19 20:37:31 · 503 阅读 · 0 评论 -
工作队列的初始化(INIT_WORK的参…
在编写工作队列的小例子时,遇到error: macro "INIT_WORK" passed 3 arguments, but takes just2 从2.6.20的内核开始,INIT_WORK宏做了改变,原来是三个参数,后来改成了两个参数 from http://blog.csdn.net/fudan_abc/archive/2007/08/20/1751565.aspx原创 2013-12-19 20:37:35 · 619 阅读 · 0 评论 -
linux工作队列(转)
linux工作队列(转)(转载)[前记]Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别提供了简单的实作案例。******************************************************************************原创 2013-12-19 20:37:38 · 286 阅读 · 0 评论 -
跟我一起写udev规则(译)
目录介绍 关于本文档 更新历史概念 术语: devfs,sysfs, nodes, etc. 为什么? 内置固定命名设计编写规则 规则文件和语义 规则语法 基本规则 sysfs匹配属性 设备级联结构 字符串替换 字符串匹配从sysfs中查找合适信息 sy原创 2013-12-19 20:37:42 · 525 阅读 · 0 评论 -
LInux sysfs
LInuxsysfs分类:kernelspace 2009-09-0716:16 1320人阅读评论(0) 收藏 举报"sysfs is a ram-based filesystem initially based on ramfs. Itprovides a meansto export kernel data structures, their attributes, a原创 2013-12-19 20:37:46 · 467 阅读 · 0 评论 -
udev(八):实战:使用udevadm修…
原创文章,转载请注明出处,谢谢! 作者:清林,博客名: 飞空静渡 udev的规则的编写,我这里就不说了,大家可以在udev的文档中可以了解,有时间的话我在安排一章在说明udev的规则了。 下面是我要做的一个测试,我的系统是ubuntu9.10,我有一个usb优盘,是kinston的4G的优盘。 运行:原创 2013-12-19 20:37:50 · 2028 阅读 · 1 评论 -
为Android内核添加新驱动,并添加…
2010-12-0218:20:34| 分类: Linux |字号 订阅为Android内核添加新驱动,并提供menuconfig选项 为Android的Linux内核2.6.25添加驱动。 1. 在drives目录下添加hello目录,内含hello.c Kconfig Makefile hello.c内容: #include #include原创 2013-12-19 20:37:59 · 763 阅读 · 0 评论 -
怎样写linux下的USB设备驱动程序
引言随着人们生活水平的提高,我们用到的USB设备也越来越多,但是Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题;本文的目地是使大家了解怎样编制USB设备驱动,为更好地配置和使用USB设备提供方便;对于希望开发Linux系统下USB设备驱动的人员,也可作为进一步学习USB驱动的大体架构进而编写出特殊USB设备的驱动程序。USB基原创 2013-12-19 20:38:14 · 536 阅读 · 0 评论 -
Linux中gcc g++常用编译选项以及ma…
2009-09-0714:12:28| 分类: Linux |字号 订阅Linux中gcc,g++常用编译选项-x language filename设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定,C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的原创 2013-12-19 20:40:20 · 490 阅读 · 0 评论 -
linux下的时间函数
inux下的时间函数我们在编程中可能会经常用到时间,比如取得系统的时间(获取系统的年、月、日、时、分、秒,星期等),或者是隔一段时间去做某事,那么我们就用到一些时间函数。linux下存储时间常见的有两种存储方式,一个是从1970年到现在经过了多少秒,一个是用一个结构来分别存储年月日时分秒的。time_t 这种类型就是用来存储从1970年到现在经过了多少秒,要想更精确一点,可以用结构str原创 2013-12-19 20:40:42 · 360 阅读 · 0 评论 -
逻辑地址、线性地址、物理地址和虚…
要过年了,发个年终总结贴,只是个人理解,不包正确哈。本贴涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念物理地址(physicaladdress)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存原创 2013-12-19 20:40:54 · 450 阅读 · 0 评论 -
Linux线程同步之条件变量
与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。条件的检测是在互斥锁的保护下进行的。如果一个条件为假,一个原创 2013-12-19 20:40:59 · 415 阅读 · 0 评论 -
linux 下 C 程序(进程) 内存布局
转载自 分享最终编辑 wind_liao内存管理模块是操作系统的心脏;它对应用程序和系统管理非常重要。今后的几篇文章中,我将着眼于实际的内存问题,但也不避讳其中的技术内幕。由于不少概念是通用的,所以文中大部分例子取自32位x86平台的Linux和Windows系统。本系列第一篇文章讲述应用程序的内存布局。 在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。原创 2013-12-19 20:41:03 · 423 阅读 · 0 评论 -
S3C2410的Linux下DMA驱动程序开发
网上介绍Linux下的一般驱动程序开发示例浩如烟海,或是因为简单,关于DMA驱动的介绍却寥寥无几;近期因工作需要,花了几日时间开发了某设备在S3C2410处理器Linux下DMA通信的驱动程序,有感于刚接手时无资料借鉴的茫然,故写点介绍,期待能给有DMA开发任务的网友们一点帮助。本文将包括如下内容:DMA驱动主要函数功能 驱动中关键技术分析 具体的DMA实例分析申明:原创 2013-12-19 20:42:04 · 431 阅读 · 0 评论 -
I/O端口
关键词:设备管理、驱动程序、I/O端口、资源 申明:这份文档是按照自由软件开放源代码的精神发布的,任何人可以免费获得、使用和重新发布,但是你没有限制别人重新发布你发布内容的权利。发布本文的目的是希望它能对读者有用,但没有任何担保,甚至没有适合特定目的的隐含的担保。更详细的情况请参阅GNU通用公共许可证(GPL),以及GNU自由文档协议(GFDL)。 几乎每一种外设都是通过读写设备上的寄原创 2013-12-19 20:42:06 · 400 阅读 · 0 评论 -
禁止所有的中断(关中断/开中断)
如果你要禁止所有的中断该怎么办? 在2.6内核中,可以通过下面两个函数中的其中任何一个关闭当前处理器上的所有中断处理,这两个函数定义在中: void local_irq_save(unsigned longflags); void local_irq_disable(void); 对local_irq_save的调用将把当前中断状态保存到flags中,然后禁用当前处原创 2013-12-19 20:42:12 · 2318 阅读 · 0 评论 -
linux延时函数
#include 1、unsigned int sleep(unsignedint seconds); 秒级 2、int usleep(useconds_tusec); 微秒级:1/10^-6 #define _POSIX_C_SOURCE199309 #include 3、int nanosleep(c原创 2013-12-19 20:42:35 · 384 阅读 · 0 评论 -
成功移植linux2.6.38内核到TQ2440 …
标签: 杂谈分类: Linux 经过一个星期的不停修改错误,看代码,每天都忙到2点才睡,今天终于解决了所有问题,成功移植linux2.6.38内核到TQ2440。移植步骤:1.修改根目录的Makefile中的ARCH=arm,CROSS-COMPILE=arm-linux-2.在arch/arm/mach-s3c2440/mach-smdk2440.c中,将原创 2013-12-19 20:42:52 · 413 阅读 · 0 评论 -
pthread_create使用类中函数指针的…
原有的程序是利用一台PC机的共享内存来实现两个程序间的通讯的,最近要求改了,要设计2台PC间这两个的程序的通讯,想把通讯部分的程序做成类封装起来。其中,由于要有多线程的部分。就是说,可能在一个线程里读,在另一个线程里写。所以得用到类成员函数的函数指针部分。为了验证可行性,编写了下面的程序:class MyThread{public: static int num; st原创 2013-12-19 20:43:56 · 2046 阅读 · 0 评论 -
linux库知识,静态库和动态库
在xmeeting中,关于usb手柄部分,采用动态库调用方式,下面翻译一篇David A.Wheeler写的文章。文章就如何创建和使用静态库,共享库以及动如何动态装载库进行了论述。内容纲要如下: 1.概述 2.静态库 3.共享库 3.1 约定 3.2 使用 3.3环境变量 3.4 创建共享库 3.5 安装与使用 3.6 兼容性 4.动态加载原创 2013-12-19 20:44:14 · 412 阅读 · 0 评论 -
关于udelay(); mdelay(); ndelay()…
在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.mdeday还忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.而msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是要多于原创 2013-12-19 20:44:56 · 425 阅读 · 0 评论 -
嵌入式linux启动信息完全注释(上…
摘要我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。 关键字:linux,嵌入式,启原创 2013-12-19 20:45:25 · 407 阅读 · 0 评论 -
嵌入式linux启动信息完全注释(下…
嵌入式Linux内核的块设备驱动:对于linux 的根文件系统,目前有三种块设备的驱动可以选择,它们分别是:a) Blkmem 驱动b) MTD 驱动c) RAMdisk 驱动Blkmem 驱动是专门为嵌入式linux 开发的一种块设备驱动,它是嵌入式linux系统中最为古老和通用的块设备驱动。它原理相对简单但是配置比较复杂,需要根据你即的Flash的分区使用情况来修改代码。原创 2013-12-19 20:45:27 · 422 阅读 · 0 评论 -
linux面试题参考答案
(2009-08-09 11:56)分类: Linuxothers 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4.全部磁盘块由四个部分组成,分别为引导块、专用块 、 i节点表块 和数据存储块。5. 链原创 2013-12-19 20:45:32 · 594 阅读 · 0 评论 -
进程间通信之消息队列
(2009-12-21 21:13)分类: LinuxProgramming 消息队列现在我们来讨论第三种也是最后一种System VIPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。消息队列提供了一种在两个不相关的进程之间传递数据的简单高原创 2013-12-19 20:45:36 · 329 阅读 · 0 评论 -
深入分析 Linux 内核链表 (转载)
(2009-09-03 22:08)分类: LinuxKernel 本文详细分析了 2.6.x内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可原创 2013-12-19 20:45:38 · 348 阅读 · 0 评论