03 2012 档案

只有注册用户登录后才能阅读该文。
posted @ 2012-03-20 21:01 云说风轻 阅读(189) 评论(0) 推荐(0)
摘要:// 在Linux内核中增加程序需要完成以下3项工作1.源代码复制到Linux相应目录下2.在目录的Kconfig文件中增加新源代码对应项目的编译选项3.在目录的Makefile文件中增加对新源代码的编译条目以下以LED驱动为例说明:1.将led.c源代码复制到内核\drivers\char目录2.在目录的Kconfig文件中添加LED的编译配置选项config LED bool "LED driver" depends on ARCH_S3C6410 help LED driver for the samsung s3c6410上述Kconfig文件意味着只有在... 阅读全文
posted @ 2012-03-11 22:57 云说风轻 阅读(503) 评论(0) 推荐(0)
摘要:老婆去逛街了,不知道是不是给我省电话费呢,最近几天通话时间都很少,也不知道她在那边生活费够不够,也不让我给她打点钱,估计饿瘦了都,老婆……她去逛街了,我只好继续奋斗喽,为了将来好好照顾她,hehe:) 买tiny6410时,虽然说什么东西都给我们弄好了,但也是这什么都弄好了,以至于可以让我们弄得东西没有了,比如上面的LED驱动啊等等,都不是模块形式的,或者说是没法卸载的,所以我想自己学习移植一套Linux上去,自己写驱动会不会学得多一点,这几天一直在纠结学习的方法论的问题,最后还是实践派打败了理论派,于是,开始………… 首先是开发环境的搭建,不用多说,arm-gcc交叉编译器应该都会装... 阅读全文
posted @ 2012-03-11 12:29 云说风轻 阅读(1386) 评论(0) 推荐(0)
摘要:内核开发者使用的C语言涵盖了ISO C99标准和GNU C扩展特性。这里简单介绍一下GNU C的扩展特性。 1.内联(inline)函数 GNU的C编译器支持内联函数,也是C++的一个特性之一。就是函数会在所调用的位置上展开,这样做虽然会导致代码量的增加,会占用更多的内存空间或者占用更多的指令缓存,但是确可以消除函数调用和返回所带来的开销,对于那些代码量少又需要经常调用的函数来说还是必须的。所以很显然对于一个很长的程序是不建议定义为内联函数的。 定义一个内联函数的时候,需要使用static作为关键字,并且用inline限定它: static inline void Set_Bit(... 阅读全文
posted @ 2012-03-08 20:42 云说风轻 阅读(413) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2012-03-08 19:19 云说风轻 阅读(213) 评论(0) 推荐(0)
摘要:转帖:http://blog.csdn.net/kanbinwel/article/details/6090421ADS: (Fatal)L6002U:Could not open file:.....这个问题已经不是第一次碰到了,每次弄周立功的EasyARM2210的时候都会遇见,每次都没有记住。就是要用ADS运行板子配套光盘里面的配套程序的时候会出现:(Fatal)L6002U:Could not open file:....解决方法:Project→Remove Object code...然后重新编译,这样就ok了。至于为什么这样,我觉得应该是改了配置后目标文件不同造成的吧ADS1.2 阅读全文
posted @ 2012-03-06 21:16 云说风轻 阅读(3464) 评论(1) 推荐(0)
摘要:因为本博客是从csdn搬家而来,而博客园自带的搬家工具貌似问题不少,很多文章都没搬过来,导致现在这个博客文章次序排版有些乱,大家谅解! 阅读全文
posted @ 2012-03-03 12:22 云说风轻 阅读(431) 评论(1) 推荐(0)
摘要:2.1 什么是shell解释型语言,不适合用来完成对执行时间比较挑剔或者处理器符合比较大的工作shell是一个做为用户与UNIX系统之间的操作接口的程序,文件的重定向只要使用"<"和"》"就行,管道用一个"|"就能代表,子进程的输出是"$(...)",所有这些的具体细节都早已为用户准备好了。 2.2 管道和重定向2.2.1 对输出数据进行重定向$ls -l > lsoutput.txt,这条命令将ls命令的输出保存到一个名为lsoutput.txt的文件里去$ps >> lsoutput.t 阅读全文
posted @ 2012-03-03 12:17 云说风轻 阅读(364) 评论(0) 推荐(0)
摘要:1.1 什么是UNIX操作系统1.2 什么是Linux操作系统Linux Tovalds在赫尔辛基大学开发出来的 1.3 发行版本1.4 GNU项目和自由软件基金会1.5 为Linux系统设计程序1.6 UNIX程序 unix下应用程序:可执行文件 和 脚本文件 注:脚本文件的指令需要由另外一个程序(如解释器)来执行unix不要求可执行文件或脚本程序具备某种特定的文件名或者某种特定的扩展名,而是由文件的系统属性决定的。PATH环境变量,正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,Unix系统就会按照列表中的内容去查找该程序的位置。当程序名前不带点斜线 . . 阅读全文
posted @ 2012-03-03 12:17 云说风轻 阅读(313) 评论(0) 推荐(0)
摘要:前些天,写了篇博客( 最后一年的时间,应该做些什么呢? )发誓要好好学一下《UNIX环境高级编译》(下面简称APUE),可一个小小的编译问题就悲剧了我好几天,比如APUE书上的第一个程序是这样的: #include "apue.h" #include <dirent.h> int main(int argc, char *argv[]) { DIR *dp; struct dirent *dirp; if(argc != 2) { err_quit... 阅读全文
posted @ 2012-03-03 12:16 云说风轻 阅读(1767) 评论(1) 推荐(0)
摘要:对于很多初学 《UNIX环境高级编程》(AdvancedProgramming in the UNIX Environment,简称APUE,以下使用简称)的朋友 ,第一个遇到的问题可能就是该书中的源代码编译的问题。此书中差不多每个例程中,都会有这样一行源码: #include "ourhdr.h" 在第二版中改为: #include "apue.h"这个头文件是作者把把每个例程中常用的标准头文件,一些常用的出错处理函数(err_**()之类的函数)和一些常用的宏定义给整理在一个头文件中。这个可以省去在每个例程中录入较多的重复代码,这样可以减少每个例程的 阅读全文
posted @ 2012-03-03 12:08 云说风轻 阅读(438) 评论(0) 推荐(0)
摘要:一.赋值 在GNU make中对变量的赋值有两种方式:延迟变量、立即变量。区别在于它们的定义方式和扩展时的方式不同,前者在这个变量使用时才扩展开,意即当真正使用时这个变量的值才确定;后者在定义时它的值就已经确定了。使用“=”、“?=”定义或使用define指令定义的变量时延迟变量;使用“:=”定义的变量是立即变量。需要注意的一点是“?=”仅仅在变量还没有定义的情况下有效,即“?=”用来定义第一次出现的延迟变量。 对于附加操作符“+=”,右边变量如果在前面使用(:=)定义为立即变量则它也是立即变量,否则均为延时变量。二. 函数未完待续!----------------------------.. 阅读全文
posted @ 2012-03-01 20:40 云说风轻 阅读(290) 评论(0) 推荐(0)