
Linux
文章平均质量分 80
pp0xx0ww0
这个作者很懒,什么都没留下…
展开
-
Linux主机驱动与外设驱动分离思想[转宋老师]
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://21cnbao.blog.51cto.com/109393/3362631主机、外设驱动分离的意义在Linux设备驱动框架的设计中,除了有分层设计实现以外,还有分隔的思想。举一个简单的例子,假设我们要通过SPI总线访问某外设,在这个访问过程中,要通过操作CPU X转载 2012-06-26 09:34:04 · 1711 阅读 · 0 评论 -
Linux下的定时器-程序设计
简介这篇文章主要记录我在试图解决如何尽可能精确地在某个特定的时间间隔执行某项具体任务时的思路历程,并在后期对相关的API进行的归纳和总结,以备参考。 问题引出很多时候,我们会有类似“每隔多长时间执行某项任务”的需求,乍看这个问题并不难解决,实则并不容易,有很多隐含条件需要考虑,诸如:时间精度是多少?时间是否允许出现偏差,允许的偏差是多少,偏差之后如何处理?系统的负载如何?这个程序允转载 2013-03-20 19:26:30 · 921 阅读 · 0 评论 -
Linux进程间通信之信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory)
System V 进程通信方式:信号量(semaphore)、消息队列(Message Queue)和共享内存(Share Memory) 信号量信号量(semaphore)实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每个进程所关心的测试和设置操作而言,这两个操作是不可中断的,或称“原子”操作,即一旦开始直到两个操作全部完成。测试和设置操作的结果是:信号量的转载 2013-03-21 15:59:19 · 2733 阅读 · 0 评论 -
Linux 进程通信--共享内存
共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1. shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建一个转载 2013-03-21 16:00:22 · 699 阅读 · 0 评论 -
linux c 信号量编程
信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码,在此处我们需要保证一个进程(或是一个线程的执行)需要排他的访问一个资源。信号量有一个复杂的编程接口。幸运的是,我们可以很容易的为自己提供一个对于大多数的信号量编程问题足够高效的简化接口。为了阻止多个程序同时访问一个共享资源所引起的问题,我们需要一种方法生成并且使用一个标转载 2013-03-22 19:34:26 · 751 阅读 · 0 评论 -
共享内存函数(shmget、shmat、shmdt、shmctl)及其范例
共享内存函数由shmget、shmat、shmdt、shmctl四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1. shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建一个转载 2013-03-25 19:25:11 · 922 阅读 · 0 评论 -
信号量函数(semget、semop、semctl)及其范例
信号量函数由semget、semop、semctl三个函数组成。下面的表格列出了这三个函数的函数原型及具体说明。1. semget函数原型semget(得到一个信号量集标识符或创建一个信号量集对象)所需头文件#include #include #include 函数说明得到一个信号量集标识符或创转载 2013-03-25 19:06:08 · 1754 阅读 · 0 评论 -
消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
消息队列函数由msgget、msgctl、msgsnd、msgrcv四个函数组成。下面的表格列出了这四个函数的函数原型及其具体说明。1. msgget函数原型msgget(得到消息队列标识符或创建一个消息队列对象)所需头文件#include #include #include 函数说明得到消息队转载 2013-03-25 19:24:06 · 4561 阅读 · 0 评论 -
理解 pkg-config 工具
转自:http://www.chenjunlu.com/2011/03/understanding-pkg-config-tool/你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。转载 2013-06-05 16:42:55 · 648 阅读 · 0 评论 -
linux图形界面基本知识(X、X11、Xfree86、Xorg、GNOME、KDE之间的关系)(转自互联网)
LINUX初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE,GNOME等之间是什么关系。常常混淆概念,本文以比较易于理解的方式来解释X,X11,XFREE,WM,KDE,GNOME等之间的关系。一、linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程序实现的。图形界面并不是linux的一部分,linux只是一个基于命令行的操作系统,转载 2012-11-04 14:24:12 · 834 阅读 · 0 评论 -
Vim实用技巧使用手册
(一)初级个性化配置你的vim1、vim是什么?vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员、运维)习惯的编辑器。如果你是一名职业的SE,那么一定在寻找一款出色的能够自由定制、满足灵活编辑功能的编辑器。那么答案,就是vim或者Emacs。而这一套连续的博文,就为您介绍vim编辑器。至于另一款强大的编辑器Emacs,我们会在今后的一个系列博文转载 2012-10-11 19:43:04 · 1249 阅读 · 0 评论 -
platform设备驱动全透析
.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等的设备而言,这自然不是问题,但是转载 2012-06-26 09:29:10 · 389 阅读 · 0 评论 -
Linux设备驱动的分层设计思想[转宋老师]
1.1 设备驱动核心层和例化在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数。如果对于继承的这个事物而言,其某函数的实现与基类一致,那它就可以直接继承基类的函数;相反,它可以重载之。这种面向对象的设计思想极大地提高了代码的可重用能力,是对现实世界事物间关系的一种良好呈现。Linux内核完全由C语言和汇编语言写成,但是却频繁用到了面向对象的设计转载 2012-06-26 09:33:12 · 1083 阅读 · 0 评论 -
Linux脚本编写基础
1. Linux 脚本编写基础1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行:编译 chmod +x filename 这样才能用.转载 2012-08-16 13:36:23 · 603 阅读 · 0 评论 -
linux的mount(挂载)命令详解(转)
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之间经转载 2012-08-20 18:21:54 · 787 阅读 · 0 评论 -
linux 内核 相关
主存中顶部分配给ROM BIOS(256KB-2MB),640KB-1MB的空间留作其他用途.包括显示缓冲区,ROM BIOS映射区... BIOS启动过程:从内存的oxFFFFFFF0开始,这个地址有一条JMP命令跳到Flash ROM中的BIOS程序中执行,将其中的64KB代码复制到内存oxF0000-ox100000作为ROM BIOS映射区,并从这里开始进入实模式工作. CMO转载 2012-09-05 14:24:19 · 566 阅读 · 0 评论 -
嵌入式系统开发学习步骤
1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基转载 2012-09-05 14:07:31 · 544 阅读 · 0 评论 -
自动生成Makefile的全过程详解
automake/autoconf入门作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makef转载 2012-09-05 14:08:50 · 436 阅读 · 0 评论 -
ubuntu设置开机启动图形应用程序,替换默认图形桌面 【转】
原文:http://blog.youkuaiyun.com/liebergott/article/details/7793408一、前言无论你想要在ubuntu 12.04(11.10适用)开机启动图形程序,或者非图形程序,相信这篇文章能帮上大忙。我将根据我的需求讲解我的做法,并解释为什么这么做。完了以后,各位看官根据自己的需求不加修改或稍加修改即可适用。我这边,总得来说,需求是做一个RDP瘦客户转载 2012-09-27 14:19:27 · 879 阅读 · 0 评论 -
动态库so和静态库a
gcc 生成 .a静态库和 .so动态库 我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。转载 2013-06-05 16:15:04 · 686 阅读 · 0 评论