博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

摘要: 驱动程序也是一个进程,只不过运行在内核态。在用户程序里,我们对驱动程序的调用通常通过一些接口函数,如open, close, read, write, ioctl等。在驱动程序里可能还会有驱动处理函数。当驱动响应硬件的中断时,会调用这个函数。虽然在中断响应函数中只能做有限的事情,但是我们期望这个中断能告诉用户程序,去让用户程序做一些改变。 驱动如何通知用户程序,一个是在内核态,... 阅读全文

posted @ 2009-03-30 11:22 breathing 阅读(381) 评论(0) 推荐(0) 编辑

2008年8月18日

摘要: Ambiguous operators need parentheses 不明确的运算需要用括号括起 Ambiguous symbol ``xxx`` 不明确的符号 Argument list syntax error 参数表语法错误 Array bounds missing 丢失数组界限符 Array size toolarge 数组尺寸太大 Bad character in... 阅读全文

posted @ 2008-08-18 13:45 breathing 阅读(262) 评论(0) 推荐(0) 编辑

摘要: GNU binutils是一组二进制工具集。包括:addr2line ar gprof nm objcopy objdump ranlib size strings strip. 本文归纳他们的常用法。 ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中... 阅读全文

posted @ 2008-08-18 13:43 breathing 阅读(280) 评论(0) 推荐(0) 编辑

摘要: The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可移植、可优化、支持ANSI C的开源C编译器。 GCC最初的全名是GNU C Compiler,之后,随着GCC支持的语言越来越多,它的名称变成了GNU Compiler Collection。 这... 阅读全文

posted @ 2008-08-18 13:42 breathing 阅读(238) 评论(0) 推荐(0) 编辑

2008年8月16日

摘要: 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。设置库文件的搜索路径有下列两种方式,可任选其一使用: 在环境变量 LD_LI... 阅读全文

posted @ 2008-08-16 13:37 breathing 阅读(408) 评论(0) 推荐(0) 编辑

2008年5月19日

摘要: 1、决定在什么地方编译你的内核 首先,你需要决... 阅读全文

posted @ 2008-05-19 00:56 breathing 阅读(1717) 评论(0) 推荐(0) 编辑

2008年5月15日

摘要: 主要是RTLinux环境下编程总结,在嵌入版发过,没几个人响应。 做过一个有关RTLinux的项目,时间一长,差不多忘光了,现在尽量把原来做过的东西总结一下,以备后用,同时正在做类似项目的一个借鉴 平台 主机:redhat 8.0 目标机:PC104模块、ISA总线脉冲输出、实时串口通信 linux-2.4.18.tar.bz2 +rtlinux-3.2-pre1.tar.... 阅读全文

posted @ 2008-05-15 23:00 breathing 阅读(1267) 评论(1) 推荐(0) 编辑

2008年5月14日

摘要: 摘要:本章将向读者依次解释中断概念,解析Linux中的中断实现机理以及Linux下中断如何被使用。作为实例我们第一将向《i386体系结构》一章中打造的系统加入一个时钟中断;第二将为大家注解RTC中断,希望通过这两个实例可以帮助读者掌握中断相关的概念、实现和编程方法。 中断是什么 中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢? 举个日常... 阅读全文

posted @ 2008-05-14 21:22 breathing 阅读(1313) 评论(0) 推荐(0) 编辑

2008年5月2日

摘要: Main函数参数argc,argv说明 C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) 这两个参数的作用是什么呢?argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运... 阅读全文

posted @ 2008-05-02 21:09 breathing 阅读(532) 评论(0) 推荐(0) 编辑

2008年4月28日

摘要: (1)脚本程序通常是启动了一个新的Shell来执行,所以在脚本程序中诸如cd这样的命令会在新启动的Shell中起作用(可以在你的脚本中加入pwd加以验证),而不会影响当前的Shell。如果想让你的脚本作用于当前Shell,可以通过source urscript来运行你的脚本程序。 (2)如果你更新了一个系统文件,希望这个文件立刻起作用而不想重启你的机器,那么source filename 一下。... 阅读全文

posted @ 2008-04-28 21:50 breathing 阅读(173) 评论(0) 推荐(0) 编辑

2008年4月26日

摘要: volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。 用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。 没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄存器中),之所以直接从寄存器中取值,而不去内存中取值,... 阅读全文

posted @ 2008-04-26 16:18 breathing 阅读(838) 评论(0) 推荐(0) 编辑

2008年4月24日

摘要: 故障现象: XIfatal IO error 104 (connection reset by peer) on x server "0.0" after 0 request (0 known processed) with 0 events remaining. 解决发法: 检查一下xfs有没启动: #ps ax|grep xfs 如果没有,启动xfs(X Font Server)再... 阅读全文

posted @ 2008-04-24 21:22 breathing 阅读(893) 评论(0) 推荐(0) 编辑

摘要: .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz... 阅读全文

posted @ 2008-04-24 19:45 breathing 阅读(145) 评论(0) 推荐(0) 编辑

2008年4月17日

摘要: 配置SBC2410开发板的NFS死活不行,专用ftp,编写shell脚本实现ftp的自动上传下载 1. FTP自动登录批量下载文件。 #####从ftp服务器上的/home/data 到 本地的/home/databackup#### #!/bin/bash ft... 阅读全文

posted @ 2008-04-17 21:29 breathing 阅读(824) 评论(0) 推荐(0) 编辑

2008年4月14日

摘要: FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用;.n etrc文件; -d 使用调试方式; -g 取消全局文件名。 FTP使用的内部命令如下(中括号表示可选项): 1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.z... 阅读全文

posted @ 2008-04-14 23:02 breathing 阅读(737) 评论(0) 推荐(0) 编辑

2008年4月12日

摘要: 目前,宿主机的NFS服务配置完成,但开发板端的NFS没弄成功,发现时内核没打开NFS服务。重新编译内核中。。。 阅读全文

posted @ 2008-04-12 21:01 breathing 阅读(2553) 评论(1) 推荐(0) 编辑

2008年4月11日

摘要: 在应用程序开发环节,NFS方式比ftp方式的执行效率要高,因为它不需要将linux server端的程序下载到嵌入式目标系统就可以调试。下面先将NFS建立的详细过程写一下,然后举一个简单的应用程序开发实例来比较ftp方式和nfs方式的不同。 1 建立NFS开发环境 嵌入式linux的NFS开发环境包含着两个方面:一是linux server端的NFS Server支持;二是target b... 阅读全文

posted @ 2008-04-11 10:20 breathing 阅读(1656) 评论(0) 推荐(0) 编辑

2008年4月1日

摘要: 还没看完,慢慢研究~~~ 在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前 Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。GCC不仅功能非常强大,结... 阅读全文

posted @ 2008-04-01 23:42 breathing 阅读(506) 评论(2) 推荐(0) 编辑

摘要: 被windows毒化太深了,一切都要重头开始了。。。。 Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程... 阅读全文

posted @ 2008-04-01 22:48 breathing 阅读(1026) 评论(0) 推荐(0) 编辑

2008年3月28日

摘要: 偶的显示器是液晶的,在X window里直接调,怎么调注销后总是还是原来的样子,占屏幕中心那么一个方块儿。后来从网上看到如下对配置文件的改法: 阅读全文

posted @ 2008-03-28 23:47 breathing 阅读(4339) 评论(0) 推荐(0) 编辑

摘要: 刚装了redhat 网卡确怎么也检测不到,gg了半天才知道是vm下的一个bug.... :( 阅读全文

posted @ 2008-03-28 23:38 breathing 阅读(862) 评论(0) 推荐(0) 编辑