摘要: 目录(?)[+]Linux设备驱动Hello World程序介绍如何编写一个简单的linux内核模块和设备驱动程序。我将学习到如何在内核模式下以三种不同的方式来打印hello world,这三种方式分别是: printk(),/proc文件,/dev下的设备文件。准备:安装内核模块的编译环境一个内核模块kernel module是一段能被内核动态加载和卸载的内核代码,因为内核模块程序是内核的一个部分,并且和内核紧密的交互,所以内核模块不可能脱离内核编译环境,至少,它需要内核的头文件和用于加载的配置信息。编译内核模块同样需要相关的开发工具,比如说编译器。为了简化,本文只简要讨论如何在Debian 阅读全文
posted @ 2013-10-15 14:33 bug_yao 阅读(4651) 评论(0) 推荐(0)
摘要: 一:linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。1.命令格式:touch[选项]...文件...2.命令参数:-a或--time=atime或--time=access或--time=use 只更改存取时间。-c或--no-create 不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m或--time=mtime或--time=modify 只更改变动时间。-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t  阅读全文
posted @ 2013-09-05 15:50 bug_yao 阅读(152) 评论(0) 推荐(0)
摘要: 阿π专注于网络协议,系统底层,服务器软件C++博客|首页|发新随笔|发新文章| | |管理Socket粘包问题这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.二 什么时候需要考虑粘包问题?1:如果利用tcp每次发送数据, 阅读全文
posted @ 2013-08-06 19:46 bug_yao 阅读(1457) 评论(0) 推荐(0)
摘要: 最*在看*凡的世界,强烈推荐,秒杀我以前看过的所有小说,路遥神一般的作家。我们得技术文学两手抓,正如罗永浩所说,站在科技和人文的十字路口,只看见了老乔孤零零的墓碑。 进程通讯可以分为1 管道 2 队列 3 信号量 4 内存共享1 管道:它分为有名和无名管道。个人觉得就是两个管道,就像水管道,他不能存东西,但他能传,子进程和父进程,不同进程之间,一头输入一头输出。、2队列3信号量 这主要功能是互斥,是关于临界资源的。http://www.cnblogs.com/hjslovewcl/archive/2011/03/03/2314341.html这是我认为讲的比较详细的一介绍,很好,其实信号... 阅读全文
posted @ 2013-07-24 21:03 bug_yao 阅读(155) 评论(0) 推荐(0)
摘要: 1:看原理图也就是pDF电路,2:如何让GPF4变成输出I/O:a配置功能;设置输入/输出/其他b:设置及输出高低电平。 HOW 操作寄存器: how to how 看芯片手册。3:软件初始化:0设置堆栈1设置返回地址2调用main3清理工作 硬件初始化:0关看门狗1初始化时钟2初始化sdram,4,裸板程序不比其他啊,因为要初始化硬件,用汇编,我就把常用的那几条会变指令说说,LDR http://yxmyifeng.blog.163.com/blog/static/12978978220100194272529/ MOV http://hi.baidu.com/linuxcfan/item/ 阅读全文
posted @ 2013-05-23 23:31 bug_yao 阅读(206) 评论(0) 推荐(0)
摘要: 0 ubuntu 更新一半你终止了,软件源就会崩溃,你会哭因为apt-get不能用,找了好久没找到解决办法,哇哦,踏破铁屑无觅处,再次贴出最近在Ubuntu上安装mysql-server时用命令apt-get install mysql-server出现报错提示:E:Encountered a section with no Package: header, E:Problem withMergeList /var/lib/apt/lists/******回想起上一次调用apt-getupdate时由于update时间太长我直接CTRL+C中止的情形,可能是由于lists中某一个文件没有下载完 阅读全文
posted @ 2013-05-15 16:53 bug_yao 阅读(300) 评论(0) 推荐(0)
摘要: 当某件事完全没头绪不懂时,使劲看,一直看,某个时间你就会茅塞顿开了哈哈。。。。。。。。。。一:USB HOST 和USB DEVICE的区别:USB是非对等的主从拓扑,Host和Device的区别很大,Host负责管理所有Device的通讯和资源分配,所有传输都由Host发起,Device的职责只是及时回应Host的指令。你不可能用一个Device模拟出Host的功能,因为Host要处理的事情比Device复杂得多,需要有额外的硬件来协助。唯一既可以做Host又可以做Device的是OTG规范,其实就是在Device里面集成了一个精简版Host。二ADS(ARM Developer Suite 阅读全文
posted @ 2013-05-05 12:13 bug_yao 阅读(205) 评论(0) 推荐(0)
摘要: 通往牛逼的道路上不是坎坷和荆棘,而是蹲着一大堆傻逼,你就可能是最大的一个。 ----------匿名 先谈谈什么信号,信号就是进程正在执行,接受到信号,先执行信号,然后在继续执行进程,也是一种进程间通讯吧,就相当于JAVA中抛出异常。也是常说的中断中的软件中断,当然安全起见,不是所有的进程都可以接受任何信号,也不是所有的所有的进程都可以发送信号,要是一个恶意程序发一个SIGINT,所有的进程都终止了,这是个很严重的问题。 你进程中有多少信号可以用kill -l来查看,这是一部分,可以看出也是要注... 阅读全文
posted @ 2013-04-11 13:35 bug_yao 阅读(388) 评论(0) 推荐(0)
摘要: 一个人不可能丧失一个他并不拥有的东西 --------马克。奥勒留 时间和空间是计算机的两个重要的基本概念,操作系统将这两个概念分为大家熟悉的进程和文件,随便说下在linux 下是一切设备皆文件.神马U盘,磁盘都是以文件的形式读取的. 好多书上介绍进程的一开始就是介绍进程和程序的区别,程序一堆代码,官方说法是可以运行的二进制文件,把文件加载到内存就成进程了.id就像进程的身份证号,一一对应.一个程序倒是可以对应多个进程,不是程序加载到内存变成进程,为啥可以对应多... 阅读全文
posted @ 2013-04-09 13:48 bug_yao 阅读(271) 评论(0) 推荐(0)
摘要: 一方面能足够强健的承受。另一方面又能保持清醒的品质,正是一个拥有一颗完善不可战胜的灵魂的标志 ----------马克.奥勒留 之所以写上面这句话是看的一些鸟书,每章前面有有那么一句名言貌似引导该章的思想。我也效仿,上句摘自沉思录卷一目录。当然上句纯属装B,与以下内容无关,本来我计划写进程控制,及通讯,想想还是从0开始来。也就是后所下一篇就是进程的控制了。 一 谈到内存,首先想到的是数据存储,多字节存储分为大端小端,大端就是数据中的最低位存数存储在内存中的最高位,小端是数据中的最低位存储在... 阅读全文
posted @ 2013-04-09 12:36 bug_yao 阅读(313) 评论(1) 推荐(0)