Linxu学习频道
跟着梦的脚步走
从事Linux下的开发五牛,做过车载系统,PC机上的应用软件,底层驱动开发等!
展开
-
线程之间的同步与互斥
线程之间的同步与互斥 由于线程共享进程的资源和地址空间,因此在对这些资源进行操作时,必须考虑到线程间资源访问的同步与互斥问题。POSIX中的两种线程同步机制,分别为互斥锁和信号量。这两个同步机制可以互相通过调用对方来实现,但互斥锁更适合用于同时可用的资源是惟一的情况;信号量更适合用于同时可用的资源为多个的情况。1.互斥锁线程控制 互斥锁是用一种简单的加锁方法来控原创 2012-04-19 20:53:27 · 1839 阅读 · 0 评论 -
Linux中进程的深入学习
进程进程是在系统中能够独立运行的活动实体。由(机器指令)PCB,数据,堆栈组成。引入进程的目的:为了使多个程序能够并发的执行,提高系统的吞吐量。进程调度方式:非抢占式方式抢占式方式:优先权原则,短作业优先,时间片原则。进程调度算法:先来先服务调度算法 短作业优先调度算法高优先权调度算法基于时间片轮转调度算法Linux系统中的进程类型交互进程:由s原创 2012-07-29 09:11:00 · 1717 阅读 · 1 评论 -
帧缓冲原理及驱动
帧缓冲原理及驱动 -----Dream 帧缓冲(framebuffer)设备应用于linux显示技术方面。因为linux的显示平台已经全部基于framebuffer,所以目前在linux环境下开发图形化界面、游戏、影视软件等可视化应用时都必须用到帧缓冲技术,而现在随着消费逐渐娱乐化的大趋势,可视化应用已经在产品开发中越来越重要,因此,对于帧缓冲技术的理解和掌握就非常重要了。原创 2012-09-27 19:40:50 · 2350 阅读 · 0 评论 -
内核链表实现及编程
内核链表 -------Dream头文件:include/linux/list.h 内核链表数据结构:struct list_head{ struct list_head *next,*prev;}; //内核的链表具备双链表功能,是双向循环链表 链表操作:1.初始化链表头INIT_LIST_HEAD(st原创 2012-09-27 20:00:29 · 676 阅读 · 1 评论 -
基于OK6410的串口数据收发
/*************************** *基于OK6410的串口程序 *2012.12.4 *孙旭 ***************************/#include#include#include#include#include#include#include#include#include/*串口设置,"串口,波特原创 2012-12-04 22:44:02 · 2647 阅读 · 2 评论 -
ubuntu中快速安装QT的步骤
一、Ubuntu下安装Qt$ sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer说明:qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详原创 2012-12-23 14:57:47 · 1301 阅读 · 1 评论 -
使用U盘安装ubuntu系统
使用U盘安装ubuntu系统 在网上找了很多教程,都不起效,提示:“从光盘上读取数据出错”。总结出了几个关键点。首先,版本,Ubuntu 12.04 Server,一般的U盘安装都会报:“从光盘上读取数据出错”。如果是桌面版(Desktop),则可以正常安装。其次,ISO转化成U盘的安装工具,选择win32diskimager,其他工具都会转化的时候可以正常制作成功,但是在原创 2013-10-10 15:53:06 · 4726 阅读 · 3 评论 -
基于集合成工控机Ubuntu系统安装分区详解
基于集合成工控机Ubuntu系统安装分区详解 硬件描述:双核的CPU,128G的固态硬盘软件描述:使用Ubuntu12.04系统,内核3.8.0-29版本,QT4.8.1版本1、新建分区表/dev/sda 在该分区表上添加新分区(系统挂载点)2、在新分区下添加子分区 分区容量 200M Ext4日志文件系统 挂载点 /boot 主分区 分原创 2013-12-13 11:16:03 · 1806 阅读 · 0 评论 -
ubuntu12.04下编译opencv程序
ubuntu12.04下编译opencv程序 1、在ubuntu下安装好 opencv后(建议使用apt-get install 来安装)2、使用程序FaceExaple.c来进行测试程序 #include "cv.h"#include "highgui.h" #include #include #include #include #include原创 2014-01-06 11:21:37 · 4207 阅读 · 5 评论 -
Sqlite远程连接数据
Sqlite远程连接数据1、连接本地数据库QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("personnel.db");db.setUserName("PersionSql");//数据库用户名和密码db.setPassword("123456"); if (!db.open原创 2013-12-23 12:49:16 · 24597 阅读 · 3 评论 -
纯C++去雾算法
去雾高效算法原创 2014-07-10 15:47:38 · 2016 阅读 · 1 评论 -
Linux中静态库与动态库的制作
Linux中静态库与动态库的制作 库的命名规则静态库:libxxx.a动态库:libxxx.so1.创建静态库头文件la.h#ifndef _LA_H_#define _LA_H_#include void testfun(void *str);#endif源文件la.c#include "la.h"void testfun(char *st原创 2012-07-29 08:57:34 · 935 阅读 · 0 评论 -
Makefile编写之我见
Makefile=================================================================例1.写一个简单的Makefile源文件:hello.c hello.h-----hello.c文件----#include"hello.h"int main(){ printf("this is hello wor原创 2012-07-29 08:50:42 · 1211 阅读 · 0 评论 -
字符串指针与字符数组的区别
字符串指针与字符数组的区别数组和指针都可以在它们的定义中用字符串常量进行初始化,尽管看上去一样,底层的实现机制却不相同。定义指针时,编译器并不为指针所指向的对象分配空间,它只是分配指针本身的空间。例如:下面的定义创建了一个字符串常量(为其分配了内存): char *p=”abcdefg”; //”abcdefg”存储在静态常量区,p指向该”abcdefg”原创 2012-07-29 09:15:39 · 6959 阅读 · 2 评论 -
线程学习笔记
1.线程概述 进程是系统中程序执行和资源分配的基本单位。每个进程都拥有自己的数据段、代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较复杂的上下文切换等动作。为了进一步减少处理机的空转时间,支持多处理器以及减少上下文切换开销,进程在演化中出现了另一个概念——线程。它是进程内独立的一条运行路线,处理器调度的最小单元,也可以称为轻量级进程。线程可以对进程的内存空间和资源进行访问,原创 2012-04-19 20:48:33 · 620 阅读 · 0 评论 -
按键的设备驱动程序流程
按键的设备驱动 1.按键的硬件原理在嵌入式系统中,通过一个上拉电阻将处理器的外部中断引脚拉高,电阻的另一端连接按钮并接地即可实现。当按钮被按下时,EINT10、EIN13、EINT14、EINT15 上将产生低电平,这个低电平将中断CPU,CPU可以依据中断判断按键被按下。仅仅依据中断被产生就认定有一次按键行为是很不准确的,所有按键、触摸屏等机械设备都存在一个固有的问题,那就是原创 2012-04-22 09:48:26 · 1569 阅读 · 1 评论 -
CPU与I/O内存空间
一.内存空间与I/O空间 在x86处理器中I/O空间通过指令in,out来访问内存空间,端口号标示了外设的寄存器地址.Inter语法的in,out指令格式: IN 累加器 {端口号|DX} OUT {端口号|DX},累加器 大多数嵌入式微控制器如ARM、PowerPC等中并不提供I/O空间,而仅存在内存空间。内存空间可以直接通过地址、指针来访问,原创 2012-04-22 08:56:24 · 1412 阅读 · 0 评论 -
Linux下minicom的配置和使用方法
Linux下minicom的配置和使用方法--------------------------------------------------# lsmod | grep usbserial (如果直接使用串口线,而没有用到USB转串口设备,此步可以跳过) 如果有usbserial,说明系统支持USB转串口。 安装minicom (Fedora自带有minicom,此步可以跳过原创 2012-06-10 16:25:16 · 542 阅读 · 0 评论 -
Linux安装nfs
fedora中安装nfs NFS简介: NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。查看防火墙状态:/etc/init.d/iptables status原创 2012-05-23 17:30:36 · 470 阅读 · 0 评论 -
arm-linux-gcc安装 和 环境变量设置
1。 下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下,我把它下载到了我的个人文件夹 里 /home/wrq arm-linux-gcc-3.4.1.tar.bz2 的下载地址如下:http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz22。 解压 ar转载 2012-05-27 09:39:03 · 689 阅读 · 0 评论 -
open close read write lseek函数的用法
1:open 函数头文件 #includeint open(const cahr *pathname /*被打开的文件*/ const char flags, ); /** test.c** Created on: Jun 26, 2012* Author: linux*/#include#原创 2012-06-26 17:12:35 · 1142 阅读 · 0 评论 -
ubuntu与fedora中tftp的安装配置
ubuntu中tftp的安装配置 pzhsunxu-孙旭fedora只需把apt-get 修改为yum1.下载tftp安装包apt-get install tftp-hpa tftpd-hpa xinetd2.修改配置文件进入vi /etc/default/tftpd-hpa#/etc/defualt/tftpd-hpaTFTP_USERNAME=原创 2012-07-11 19:27:22 · 750 阅读 · 0 评论 -
nfs安装配置
nfs安装于配置 方法一:1.下载apt-get install nfs-kernel-server2.配置NFSvi /etc/exports /home/nfs *(rw,sync,no_root_squash)3.启动nfs /etc/init.d/nfs-kernel-server start 启动nfs/etc/init.d/nfs-kern原创 2012-07-11 19:37:29 · 1032 阅读 · 1 评论 -
C语言中内存分配
c语言中的内存分配一个经过编译的 C/C++ 的程序占用的内存分成以下几个部分: 1 、栈区( stack ):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。2 、堆区( heap ) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由 OS 回收 。注意它与数据结构中的堆是两回事,分配方式原创 2012-07-29 09:25:29 · 1680 阅读 · 1 评论 -
基于Tiny210开发板视频显示
基于Tiny210开发板视频显示原创 2014-06-19 10:55:33 · 2072 阅读 · 3 评论