Welcome 微信登录

首页 / 操作系统 / Linux

给801卡的Linux驱动程序增加了自己的内存映射函数

给801卡的Linux驱动程序增加了自己的内存映射函数

公司各型号监控卡在Windows下的开发基本完成,唯一剩下的就是等到解码卡生产出来后再做一次测试,之后就应该没有什么大量繁重的工作了。所以从8月份开始,我的工作重心又重新转向了Linux下。 今天重新开始JVS-C801卡在Linux下的开发工作,首先就是进一步修改驱动程序,增加了对子设备和子厂商的识别,这样同样芯片的不同型号的卡子就不会被安装上同样的驱动。然后就开始增加驱动自己的mmap函数,这样就可以不再使用/dev/mem来进行内存映射,也不再...
Linux下用gedit制作脚本的简单例子[图文]

Linux下用gedit制作脚本的简单例子[图文]

在 Windows 下,我们经常可以在各种文本编辑工具中将某些常用的命令保存起来,进行一系列的自动脚本,来帮助我们执行批处理命令,在 Linux 下,我们也可以使用某些工具来高效,轻松地来进行这些工作,本文以 gnome 下的自带图形文本编辑器 gedit 来说明一个简单的例子。OK,让我们开始:1. 打开 gedit ,并找到菜单 “编辑” -> “首选项”,在 “插件” 选项,选择 “外部工具”(gedit默认没有加载此插件,我们需要手动加载它)...
Linux下proc编译及gcc编译的学习体会

Linux下proc编译及gcc编译的学习体会

在Linux下编译.pc文件(即应用了Oracle的嵌入式数据库开发语言)过程有两步:首先经过proc预处理把.pc文件编译成.c文件:proc test.pc这期间如果报错那么就是一些库文件和头文件没有包含进去。proc 常用参数选项说明:(1)code:指出预编译处理所生成的c函数的格式当code= ANSI_C时,生成符合ANSI_C标准的函数原型参数:extern sqlca(log*,void *);当code=KR_C时生成如下格式的函数原型参...
Linux系统中配置JDK和PHP调用java类

Linux系统中配置JDK和PHP调用java类

因为工作的需要,必须在Linux系统中配置PHP调用java类。在网上搜了搜,也有很多资料,但是每个人的系统和JDK版本都不一样,所以配置起来都不能调试成功。经过两天的安装调试终于通过,也收获了不少的经验和教训。也给需要PHP调用java类的人士一个提醒。联系PHP和JAVA的桥梁,当然是php-java-bridge了。系统环境: CentOS5.1 + apahe2.2.8 + PHP5.2.6jdk版本:jdk-1_5_0_06-Linux-i586...
分享经验丰富的Linux程序员Spence Murray的开发技巧

分享经验丰富的Linux程序员Spence Murray的开发技巧

Sppence Murray 是 Linux 开发高手之一,同时长期以来他一直是 UNIX 的坚定支持者。本文介绍的是 Murray 和他在 Codemonks Consulting 的同事在日常的 Linux 开发以及应用服务工作中用到的基本技术: shell 脚本,相信 Linux 的开发人员都会受益于这项有用而且通用的技术。Spence Murray 是 Codemonks Consulting 的创始人之一,自从 20 世纪 80 年代最早在 Su...
Linux下静态加载一个动态库出现的问题及解决

Linux下静态加载一个动态库出现的问题及解决

最近在Linux下工作中碰到一个问题,虽然问题已经解决,但是还是不太明白具体原因,为什么会出现这个问题。程序结构:有两个动态库A.so和B.so, 并且A.so静态加载了B.so。同时A和B同时有一个相同的类C, (为了下边的清晰暂且叫AC类和BC类,其实就是一个类), BC类新添加函数fun1, AC和BC相同的函数fun。 B中有一个C的实例objectBC。fun和fun1内容为:void AC::fun(void){cout<<"AC:...
安装gcc 在Linux下编程

安装gcc 在Linux下编程

由于装系统时没有选装编程软件,所以不能在Linux下直接使用gcc命令。刚开始还打算下软件包来安装,后来发现系统里在/usr/bin目录下有文件gcc296,只要建立一个命令的连接文件就可以直接使用了。具体过程如下,进入/bin目录,输入命令ln -s /usr/bin/gcc296 gcc,目的是在/bin下建立一个gcc296的连接文件,就可以直接使用gcc来编译c程序了。否则就要使用/usr/bin/gcc296来编译文件。不用重新装gcc软件包。g...
Linux下jvm时区设置

Linux下jvm时区设置

在一个精简的Linux安装上jre,发现所有的java程序获取的时间都不是系统时间。后来发现原来是时区不对。java程序获取的时间都是GMT时间,而系统是北京时间,应该是GMT+8,刚好相差8小时。网上搜了好多资料,只有两种方法:1、在程序中使用java的函数设定时区。2、在启动java程序时加参数-Duser.timezone=GMT+8不过总不能去修改每个程序的源码去设定时区吧。也不想在每个java程序启动的时候加参数,太麻烦了。就没有一劳永逸的办法了...
Ubuntu删除旧内核的shell脚本

Ubuntu删除旧内核的shell脚本

随着Ubuntu的更新,特别是其内核的更新,系统中就会存留很多版本的内核,要知道每个都很大,不但浪费硬盘空间,而且在启动的时候,grub的选项里会出现很多个内核,很是不好,所以就需要删除旧版本的已经不用的内核。一下的shell脚本就可以帮你轻松搞定问题,这个脚本是转载学长。#!/bin/sh#Program:# Let user uninstall unused kernels which installed as debian package form....
Linux-shell-||,&&{},(),reg-命令执行顺序

Linux-shell-||,&amp;&amp;{},(),reg-命令执行顺序

(),{}(cmd1;cmd2;...;cmdN)# 在一个子shell里执行一组命令{cmd1;cmd2;...;cmdN}# 在当前shell里执行一组命令正则^ 只只匹配行首$ 只只匹配行尾* 只一个单字符后紧跟*,匹配0个或多个此单字符[ ] 只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ] 只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中...
关于Qt,Qt/E,Qtopia Core, Qtopia 区别和联系

关于Qt,Qt/E,Qtopia Core, Qtopia 区别和联系

关于Qt,Qt/E,Qtopia Core, Qtopia这些版本之间的区别和联系,似乎没有看到一个比较有价值的讨论,本人现在总结一下个人的理解: Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。 Qt/E(Qt/Embedded)是用于嵌入式Linux系统的Qt版本。Qt/E去掉了X Lib的依赖而直...
Linux条件变量用法

Linux条件变量用法

Linux条件变量是线程中的东西,就是等待某一条件的发生,和信号一样。以下是说明,条件变量使我们可以睡眠等待某种条件出现。 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 条件变量类型为pthread_cond_t创建和注销 条件变量和互斥锁一样,都有静态动态两种创建方式,静态方式使用PT...
Linux下/dev/mem和/dev/kmem的区别

Linux下/dev/mem和/dev/kmem的区别

Linux下/dev/mem和/dev/kmem的区别:/dev/mem: 物理内存的全镜像。可以用来访问物理内存。/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。作用:前者用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。后者一般可以用来查看kernel的变量,或者用作r...
<< 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 >>