2015-03-04 - 对于波特率的设置通常使用cfsetospeed和cfsetispeed函数来完成。获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。 cfsetospeed函数 头文件: #include 函数原型: int cfsetospeed(struct termios *termptr, speed_t speed); 参数: struct termio...
2015-03-04 - 本文和大家重点学习一下如何在Linux上使用MeeGo SDK进行Meego开发,Meego开发中MeeGo SDK由两部分构成,至于是哪两部分请看下文详细介绍。 在Linux上使用MeeGo SDK进行Meego开发 一、MeeGo SDK介绍: MeeGoSDK由以下部分构成: 1.一个MeeGochroot环境,这包含...
2015-03-04 - 比如我们安装了一个内核模块 scull.ko 那么其TEXT区的信息保存在 如下文件之中 /proc/sys/modules/scull/sessions/.text 我们通过 cat /proc/sys/modules/scull/sessions/.text 就可以查得TEXT区信息. 用于调试.!!...
2015-03-03 - 我喜欢钻研bash环境。很多时候,在使用bash编程中,有些问题一遍又一遍的重复遇到。每次我都需要重新思考这些问题的解决方法。直到有一天我无法忍受,于是坐下来,编写一个通用的函数,放入我的.bashrc文件中,部署到电脑上。 希望我的这些追求最大化命令行...
2015-03-02 - Linux是一类Unix计算机操作系统的统称,Linux操作系统的内核的名字也是Linux, 在Linux下进行C++开发,需要注意许多问题,比如:减少不必要的编辑动作,减少编辑的时间。 Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编...
2015-03-01 - RedHat下VNC快速运行脚本: #!/bin/bash #userfor start vncserver #default script is 900x600 vncserver -kill :1 for i in $*; do SHOOT=$i vncserver :1 -geometry $SHOOT done...
2015-03-01 - 在设备驱动程序中经常会见到和platform相关的字段,分布在驱动程序的多个角落,这也是2.6内核中比较重要的一种机制,把它的原理弄懂了,对以后分析驱动程序很有帮助,下面简单介绍一下: 在linux2.6设备模型中,关心总线,设备,驱动这三个实体,总线将设备...
2015-02-28 - 因开发需要获取有线网卡的MAC地址,发现网上获取的方法多数只能获取联网网卡的MAC地址,因此重写了下Ubuntu 10下测试通过。 下面代码无论网卡是否连线,都可以获取MAC地址,稍作修改,可以输出系统所有的网卡硬件MAC地址,无论是否已经联网。 /* * getmac.c...
2015-02-28 - IPython的开发者吸收了标准解释器的基本概念,在此基础上进行了大量的改进,创造出一个令人惊奇的工具。在它的主页上是这么说的:这是一个增强的交互式Python shell。具有tab补全,对象自省,强大的历史机制,内嵌的源代码编辑,集成Python调试器,%run机制...
2015-02-28 - 最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着重要的事马上做, 不重要的事推后做的异步处理思想. 于是整理一下. 第一阶段--获取中断号 每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供...
2015-02-28 - 要将linux内核的带级别控制的printk内容打印出来,在命令行 输入 dmesg -n 8 就将所有级别的信息都打印出来 Linux命令:dmesg 功能说明:显示开机信息。 语法:dmesg [-cn][-s 缓冲区大小] 补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来...
2015-02-28 - 1、UDP协议 UDP协议是建立在IP协议基础之上的,用在传输层的协议。UDP和IP协议一样是不可靠的数据报服务。 0 16 32 ------------------------------------------------------- | UDP源端口 | UDP目的端口 | -----------------------------------------------...
2015-02-28 - 这是我在Linux下的一个实验,需要搞定7个比较基础的J2ME程序。真不知道我为什么做这么多无聊的事 首先是操作环境和软件版本: 操作系统:Arch Linux JDK环境:jdk-1_5_0_17-linux-i586.bin 下在地址:http://java.sun.com/javase/downloads/index_jdk5.jsp E...
2015-02-28 - (一)下载所需安装包: jdk-1_5_0_06-linux-i586.bin apache-tomcat-6.0.20.tar.gz mysql-5.0.22.tar.gz (二).安装jdk: 1.把安装文件放在/usr/local下 [root@localhost opt]# ./jdk-1_5_0_06-linux-i586.bin 并输入 yes 确认安装 2.创建 /etc/profile.d/...
2015-02-27 - 1.问题一 下载内核到flash中,运行到如下即停止没有下文: Uncompressing Linuxdone,booting the kernel 卡在这里不动了 原因分析: 可能是内核的启动参数传递时没有填写正确 也可能是在linux内核中没对flash分区 还有另一可能原因是在内核编译配置时没将串...
2015-02-27 - 1、major:表示主版本号,有结构性变化时才变更。 2、minor:表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数表示生产版。 3、patch:表示对次版本的修订次数或补丁包数。 4、build:表示编译(或构建)的次数,每次编译可能对少量程序做优化...
2015-02-26 - 抓包分析主机上网浏览了那些网页,并把浏览网页的网址写入一个文件。 首先我列举下我在写抓包程序所犯下的错误。供大家学习参考。 创建原始套接字失败: 分析原因:刚开始的时候运行程序正常,但是同事覃书芹帮我虚拟机添加了一个虚拟网卡的时候就出现错误了...
2015-02-26 - /boot/configure-*为当前Linux内核的模块配置文件,即在当前Linux内核中,系统已启用了哪些模块,哪些内容已编译到Linux内核等等,都可以通过此文件来查看。 例如,查看当前Linux内核是否支持NTFS文件系统,可使用以下命令: [root@akira]# cat /boot/config...
2015-02-26 - 1.去Linux的官方网站上下一个linux 2.6的内核!http://www.kernel.org; 2.安装一个modules-init-tools-3.0.tar.gz工具包,因为2.4.x的modutils工具包已经不适合新的2.6.x内核,必须将它升级到modele-init-tools工具包。 可以到http://www.kernel.org/pub/li...
2015-02-26 - //fileopen.c #includestdio.h #includestring.h #includesys/types.h #includesys/stat.h #includefcntl.h #includeunistd.h int main() { char temp[]=hello,abc!; int fd; char pathname[255]; if((fd=open(fileopen.txt,O_WRONLY|O_CREAT,0640))==-1) {...
2015-02-25 - Device Driver Options Maintain a devtmpfs filesystem to mount at /dev [] - Atuomount devtmpfs at /dev, after the kernel mounted the rootfs [] 该两个选项在启动时(mount rootfs之前)起作用,主要用于map一些外置设备,诸如外置硬盘、光驱、u盘等...
2015-02-25 - 一、相关概念 1.GPS(Global Positioning System):全球卫星定位系统 美国的24颗卫星不停地给地面发GPS信号,只要有一台GPS接收设备,就能定位出你所在的位置高度和速度了,它与电子地图的结合就是通常所说的GPS功能 二、连接方式 1.串口:计算机通常通过串...
2015-02-25 - 读取bios接口原来需要这些东西,Linux下设置端口权限的系统调用有两个:ioperm和iopl。 一、ioperm和iopl介绍。 1.ioperm 功能描述: 为调用进程设置I/O端口访问权能。ioperm的使用需要具有超级用户的权限,只有低端的[0-0x3ff] I/O端口可被设置,要想指定更...
2015-02-25 - 1.双向链表(list) linux内核中的双向链表通过结构 struct list_head来将各个节点连接起来,此结构会作为链表元素结构中的一个参数: struct list_head { struct list_head *next, *prev; }; 链表头的初始化,注意,结构中的指针为NULL并不是初始化,而是指向...
2015-02-25 - 之前在系统中用的是boa webserver ,但是在频繁提交多次后,boa会出现request.c 99错误并刷屏,造成系统无法正常工作,于是采用了goahead webserver,这个也是适用于嵌入式的服务器,同样支持CGI,下面是移植过程,以及出错纠正。 我的平台是:主机Windows X...
2015-02-25 - 后台运行Linux程序,可以通过crontab设置,这种方法一般用来让一个程序定时运行,也可以通过./test 这样在程序末尾加上一个使程序在后台运行。 编写代码,下面我将参考httpd写一个程序使其运行不占控制台。 #include detach.h void detach(void) { int x; in...
2015-02-25 - 一般来说,对一段运行代码进行加锁然后解锁,如下所示: pthread_mutex_lock(mutex); //运行代码; pthread_mutex_unlock(mutex); 如果在运行代码这块发生错误,有异常,导致这个线程异常退出,那么怎么办,pthread_unlock没有得到调用,那么这个锁资源没有...
2015-02-24 - 简介:阅读源代码是钻研技术的最佳手段,而Linux提供了一个庞大的源代码库,但是,由于缺乏良好的源代码阅读工具,使得阅读Linux源代码尤其是内核源代码十分困难,在本文中,笔者向大家推荐一个优秀的源代码阅读工具,并介绍了它的使用方法。 作为一个开放源...
2015-02-24 - Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动程序的write实现中,这里我结合一...
2015-02-24 - hal(hardware abstract lever)硬件抽象。但是Linux的hal运行于用户空间作为一个daemon进程。监听一个socket接口。等待udev发来的通知。 udev为设备加载驱动,设备可用后,往往有udev的规则,让udev通知hald表示设备变动了。 hal作为一个硬件的数据库,记录...
2015-02-24 - 1.关于linux下两种内存引导模式的区别 Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同...
2015-02-24 - 首先要安装USB转串口驱动。电脑的USB口连接到开发板的串口上,需要一个U转串的芯片,现在一般用的是Prolific公司的PL2302芯片实现U转串功能。安装好该驱动之后,在设备管理器中查看端口选项,可以看到Prolific USB-to-Serial Comm Port (COMx)的项,x为多少...
2015-02-24 - 对于SLUB不熟的同学可以先跳过了,涉及的东西比较细致。 简单来说SLUB的结构是N(CPU数)个kmem_cache_cpu,和一个kmem_cache_node组成。其中kmem_cache_cpu的目的是为了从技术层面上提高CPU命中缓存,以及在同一个页面上不出现一个脏的内存(即不同时被多个CP...
2015-02-23 - 在学习Linux网络编程的时候我们做了一个聊天系统,当时为了界面更漂亮点,于是搜索了下关于printf()函数的用法,和大家分享下: 给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。 颜色: #define NONE \033[m #define RE...
2015-02-23 - Linux 内核由5个主要的子系统组成。 以上图片上传到红联 Linux系统教程 频道中。 (1)进程调度(SCHED)控制着进程对CPU 的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际是仅等待 CPU 资源的进程,如果某个进程在等待...
2015-02-23 - USB摄像头以其良好的性能和低廉的价格得到广泛应用。同时因其灵活、方便的特性,易于集成到嵌入式系统中。但是如果使用现有的符合Video for Linux标准的驱动程序配合通用应用程序,难以充分利用USB带宽,帧速不高,不易满足实时监控等要求。本文首先介绍在Li...
2015-02-23 - 0.前言 笔者用过MPI和C#线程池,参加过比赛,有所感受,将近一年来,对多线程编程兴趣一直不减,一直有所关注,决定写篇文章,算是对知识的总结吧。有说的不对的地方,欢迎各位大哥们指正:) 1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个...
2015-02-23 - Go语言并没有强制一定要使用一定的工作空间和项目结构,对于小型的Go程序依靠Go run等命令就可以直接编译运行。然而,保持良好的工作空间和文件结构,对于管理源代码和发布程序都是非常有帮助的。对于大型的Go语言项目,工作空间则是一定要的。 1、Go语言的...
2015-02-23 - # gedit arch/arm/kernel/sys_arm.c ----------------------------------------------------------- asmlinkage long sys_arm_fadvise64_64(int fd, int advice, loff_t offset, loff_t len) { return sys_fadvise64_64(fd, offset, len, advice); } asmlink...
2015-02-23 - 下载:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.tar.gz 以上图片上传到红联 Linux系统教程 频道中。 一、安装交叉编译工具链 1、在 /etc/apt/sources.list 中添加源:deb http://www.emdebian.org/debian/ stable main (教育...