![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
KXR
这个作者很懒,什么都没留下…
展开
-
make 出现的错误
最近在学习linux中,一开始自己是用Ubuntu入手,Ubuntu用起来相当的方便,环境的搭建只用个sudo apt-get intsall 就OK了。但是公司装的是centos,并且作为学习来说遇到的问题越多越好,所以决定还是装个centos。当我装好centos6.2后问题就来了,我们这里用的是无线,不能联网啊。 首要解决的问题就是上网了,作为linux菜鸟的我就开始了各转载 2013-06-14 17:28:05 · 2135 阅读 · 0 评论 -
[经典]Linux内核中ioremap映射的透彻理解 .
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的转载 2013-06-13 09:00:17 · 756 阅读 · 0 评论 -
什么是Linux内核模块
什么是模块?从代码的特征上来看,模块就是可完成一项独立功能的一组函数的集合。从使用特征上来看,它在被需要时可以随时被安装,而在不需要时又可以随时被卸载。总之,模块是一个为内核(从某种意义上来说,内核也是一个模块)或其他内核模块提供使用功能的代码块。准确地说,模块就是一个已编译但未连接的可执行文件。前面反复介绍Linux是一个一体化的内核,由于内核中的各部件联系紧密,因此这种内核最重要的特点转载 2013-05-31 09:38:42 · 1648 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(下) .
来自:http://blog.csdn.net/woshixingaaa/article/details/6574224这篇文档主要介绍spi数据传输过程。当应用层要向设备传输数据的时候,会通过ioctl向设备驱动发送传输数据的命令。如图,向SPI从设备发送读写命令,实际的读写操作还是调用了主机控制器驱动的数据传输函数。transfer函数用于spi的IO传输。但是,tra转载 2013-05-30 15:05:16 · 935 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(中) .
来自:http://blog.csdn.net/woshixingaaa/article/details/6574220这篇来分析spi子系统的建立过程。嵌入式微处理器访问SPI设备有两种方式:使用GPIO模拟SPI接口的工作时序或者使用SPI控制器。使用GPIO模拟SPI接口的工作时序是非常容易实现的,但是会导致大量的时间耗费在模拟SPI接口的时序上,访问效率比较低,容易成为系统转载 2013-05-30 15:03:32 · 763 阅读 · 0 评论 -
Linux驱动修炼之道-SPI驱动框架源码分析(上)
SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享:来自:http://blog.csdn.net/woshixingaaa/article/details/6574215SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号,SPI一般转载 2013-05-30 14:50:40 · 672 阅读 · 0 评论 -
字符设备和块设备的区别
设备文件分为Block Device Driver和Character Device Drive两类。Character Device Drive又被称为字符设备或裸设备raw devices; Block Device Driver通常成为块设备。而Block Device Driver是以固定大小长度来传送转移资料 ;Character Device Driver是以不定长度的字元传送资料转载 2013-05-29 14:39:42 · 625 阅读 · 0 评论 -
基于2440的SPI测试驱动程序以及应用程序(实例)
在做项目时用到SPI所以这里整理了一下SPI的测试程序以便后用下面是驱动部分:spi_ker.c[cpp] view plaincopyprint?/******************************************** *说明:本实验是针对TQ2440的SPI测试程序 * *设备模型:混杂设备转载 2013-05-29 16:30:21 · 683 阅读 · 0 评论 -
S3C2440驱动移植——SPI .
PC主机:Ubuntu 10.4 和redhat 9.0目标板:TQ2440开发板,linux内核2.6.30本文将从原理上讲解如何进行SPI驱动移植。作者希望在移植SPI驱动之前,您已对SPI子系统有所了解。本文的讲解将基于我所写的spi子系统分析:基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)基于S3C2440的嵌入式Linux驱动——S转载 2013-05-28 16:03:48 · 827 阅读 · 0 评论 -
基于S3C2440的嵌入式Linux驱动——SPI子系统解读(三)
该系列文章将分为四个部分: 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一) 第二部分,该文将对SPI的主控制器(master)驱动进行描述。基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二) 第三部分,即本篇文章,该文将对SPI设备驱动,也称p转载 2013-05-28 16:16:46 · 598 阅读 · 0 评论 -
linux内核驱动模块加载方式
在类unix操作系统中,驱动加载方式一般分为:动态加载和静态加载,下面分别对其详细论述。一、动态加载 动态加载是将驱动模块加载到内核中,而不能放入/lib/modules/下。 在2.4内核中,加载驱动命令为:insmod ,删除模块为:rmmod; 在2.6以上内核中,除了insmod与rmmod外,加载命令还有modprobe; insmod与转载 2013-06-14 15:27:47 · 737 阅读 · 0 评论 -
Makefile:3:***遗漏分隔符。停止 。原来如此..... .
我编写makefile的时候出现了这个问题上网查了查,都说是gcc ,g++ ,rm,cp前面是tab,不是空格我改了两边,都是用tab,但是编译时还是提示出现了错误Makefile:3:***遗漏分隔符。停止我才意识到在getit的编译->首选项:"编辑器"选项页下,有一个"制位表",有一个复选框:插入空格代替制表符(s)若选中的话,编辑器将会以空格代替“制位表”转载 2013-06-14 17:27:06 · 7815 阅读 · 0 评论 -
expect基础语法
1. Expect基础语法解释1.1 cmd arg arg arg 一条Tcl命令由空格分割的单词组成.其中,第一个单词是命令名称,其余的是命令参数 . 1.2 $foo $符号代表变量的值.在本例中,变量名称是foo. 1.3 [cmd arg] 方括号执行了一个嵌套命令.例如,如果你想传递一个命令的结果作为另外转载 2015-10-11 20:14:33 · 21014 阅读 · 0 评论 -
缺少动态连接库.so--cannot open shared object file: No such file or directory
总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边转载 2013-10-31 16:22:54 · 2573 阅读 · 0 评论 -
tcgetattr函数与tcsetattr函数
为了便于通过程序来获得和修改终端参数,Linux还提供了tcgetattr函数和tcsetattr函数。tcgetattr用于获取终端的相关参数,而tcsetattr函数用于设置终端参数。这两个函数的具体信息如表6.2所示。表6.2 tcgetattr函数和tcsetattr函数头文件函数形式i转载 2013-09-22 17:28:57 · 3209 阅读 · 0 评论 -
vim操作笔记
vim 操作笔记V1. 默认字符编码为utf8,打开使用gb2312编码的文件,中文全为乱码,如何恢复正常显示?输入 edit ++enc=cp936 V2. 如何在vim系统中执行命令?输入 !cmd V3. 使用vim直接打开并编辑.*gz文件,而无须解压,读取,编辑,再压缩.压缩文件的支持是通过pluginvim ls-lrR.txt.gz原创 2013-04-09 17:36:45 · 821 阅读 · 0 评论 -
MySQL的C语言API接口
1、首先当然是连接数据库,函数原型如下:MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsign原创 2013-08-13 10:00:16 · 1039 阅读 · 0 评论 -
使用FTP出现的3种常见错误
一、530 Permission denied1.首先检查系统是否开启了vsftp服务,如果没有开启,先开启该服务。 方法1.setup--系统服务--自启动服务 方法2.界面设置,service vsftpd restart 2.查看配置vsftpd的配置,配置文件中限定了vsftpd用户连接控制配置。vsftpd.ftpusers:位于/etc目录下。它指定了哪原创 2013-08-07 11:20:15 · 3804 阅读 · 0 评论 -
FTP命令大全
FTP命令是Internet用户使用最频繁的命令之一,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。 FTP的命令行格式为: ftp -v -d -i -n -g [主机名] , 其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用;.n etrc文件; -d 使用调试方式; -g原创 2013-08-06 14:31:20 · 833 阅读 · 0 评论 -
linux驱动开发流程
在这里,以字符设备为例,分析其驱动程序的框架:一、编写驱动程序的初始化函数。驱动程序的初始化在函数XXX_init()中完成,包括对硬件初始化、中断函数、向内核注册等。a) 首先要理解硬件结构,搞清楚其功能、接口寄存器以及CPU怎么访问控制这些寄存器等。b) 其次要明白如何把该设备驱动注册到内核中。设备驱动程序可以直接编进内核(在移植内核时,就将该驱转载 2013-07-22 10:55:40 · 9820 阅读 · 0 评论 -
2011-02-20 19:17 Arm Linux下如何保存设置的系统时间
问:Linux下如何保存设置的系统时间?答:分以下步骤进行:(1)通过开发板控制台设置开发板的当前系统时间:date [MMDDhhmm[[CC]YY][.ss]]例如:date 010410462008(2)将系统时间写入RTC:hwclock -w读出检验一下,写入是否正确: hwclock -r(3)修改开发板根文件系统中的/etc/init.d/rc原创 2013-07-18 13:00:23 · 815 阅读 · 0 评论 -
6410SPI控制器
********************************LoongEmbedded********************************作者:LoongEmbedded(kandi)时间:2011.12.07类别:WINCE驱动开发********************************LoongEmbedded**********************转载 2013-06-17 17:18:04 · 765 阅读 · 0 评论 -
基于S3C2440的嵌入式Linux驱动——SPI子系统解读(二) .
该系列文章将分为四个部分: 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一) 第二部分,即本篇文章,该文将对SPI的主控制器(master)驱动进行描述。 第三部分,该文将对SPI设备驱动,也称protocol 驱动,进行讲解。基于S3C2440的嵌入式Linu转载 2013-05-28 16:11:33 · 910 阅读 · 0 评论 -
基于S3C2440的嵌入式Linux驱动——SPI子系统解读(四)
本系列文章对Linux设备模型中的SPI子系统进行讲解。SPI子系统的讲解将分为4个部分。 第一部分,将对SPI子系统整体进行描述,同时给出SPI的相关数据结构,最后描述SPI总线的注册。基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一) 第二部分,该文将对SPI的主控制器(master)驱动进行描述。 基于S3C2440的嵌入式Linux驱动转载 2013-05-28 16:20:23 · 742 阅读 · 0 评论 -
centos 如何修改系统默认语言
如何修改CentOS的默认语言呢?请先使用root权限帐户登陆一、进入语言配置文件vi /etc/sysconfig/i18n用SSH执行以上命令,用vi编辑器修改/etc/sysconfig/i18n文件。二、修改语言将默认的LANG="zh_CN.UTF-8"修改为LANG="en_US.UTF-8"这样就可以把默认的中文修改为英文。 三、注销并重原创 2013-02-28 08:41:01 · 891 阅读 · 0 评论 -
/etc/profile
/etc/profile详解Linux /etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,学习Linux要了解Linux profile文件的相关原理,这里对则以文件进行具体分析。这里修改会对所有用户起作用。 1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都转载 2013-02-19 10:04:06 · 399 阅读 · 0 评论 -
进程、线程区别
在32位的Windows系统中,术语多任务是指系统可以同时运行多个进程,而每个进程也可以同时执行多个线程。 进程就是应用程序的运行实例。每个进程都有自己私有的虚拟地址空间。每个进程都有一个主线程,但可以建立另外的线程。进程中的线程是并行执行的,每个线程占用CPU的时间由系统来划分。 可以把线程看成是操作系统分配CPU时间的基本实体。系统不停地在各个线程之间切换,它对线程的中断是汇编语言级的。系统为转载 2012-09-19 15:57:49 · 683 阅读 · 0 评论 -
深入理解LINUX内核(影印版第3版)》的笔记
书名: 深入理解LINUX内核(影印版第3版) 作者: Daniel P.Bovet/Marco Cesati 副标题: Understanding the Linux Kernel 页数: 923 出版社: 东南大学出版社 出版年: 2006-4-1 第转载 2011-10-05 19:59:35 · 2691 阅读 · 0 评论 -
Linux——进程、任务和线程
进程、任务和线程 进程在OS中是一个非常关键的抽象概念。 在OS中虚拟CPU称为执行线程,简称为线程。 用于创建和管理多执行线程的实用工具通常包含在一个pthread库。因为该库中接口是按照POSIX标准定义的,所以以p开头。 在UNIX Os中,单线程进程和多线程进程模型如下:原创 2011-08-31 16:30:21 · 1991 阅读 · 0 评论 -
逻辑地址、线性地址、物理地址和虚拟地址
写的相当好 所以转载下!!! 一、概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内转载 2011-09-18 13:25:13 · 505 阅读 · 0 评论 -
嵌入式Linux操作系统名词解释及资源大全
作为一名Linux开发人员,对Linux下的名词要有了解,最好是非常清晰的知道它是什么东西,拿来做什么的。每一个名词都代表着一个资源,也代表着一个Linux的潮流,如果听都没听过就去开发相关领域的应用,那只能是瞎摸,吃力又不讨好。举个例子,欲在Linux下支持一款软Modem或一原创 2011-09-01 16:19:07 · 694 阅读 · 0 评论 -
嵌入式linux入门学习规划
嵌入式linux入门学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)原创 2011-09-01 15:58:59 · 703 阅读 · 0 评论 -
linux_spi
内核版本:linux-2.6.29 主要的几个结构platform_device platform_driver s3c24xx_spi spi_master spi_bitbang spi_device spi_driver spidev_data s3c_spi_info第一步:注册platform_device在arch/arm/mach-s3c2410/mach-qt2410.c转载 2013-04-08 08:39:55 · 565 阅读 · 0 评论 -
vi 操作笔记
vi 操作笔记1.关于退出:wq! ----强制保存退出:wq ---- 保存退出:x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式):q ---- 退出:q! --- 强制退出 ==============================================原创 2013-04-09 17:37:59 · 530 阅读 · 0 评论 -
基于S3C2440的嵌入式Linux驱动——SPI子系统解读(一)
本文将介绍SPI子系统。内核版本为2.6.30。如有错误欢迎指正。预备知识要求:1.SPI总线 2. platfrom平台 3. sysfs子系统 4. 阅读过LDD3第3,5,6,7,9,10,11章的内容。NOTE:如果没有看过LDD3的相转载 2013-05-28 16:08:26 · 1039 阅读 · 0 评论 -
daemon守护进程
daemon守护进程 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。 守转载 2013-04-19 14:51:36 · 704 阅读 · 0 评论 -
Linux网络编程入门 (转载)
Linux网络编程入门 (转载)(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外转载 2013-04-23 09:01:42 · 613 阅读 · 0 评论 -
socket 入门学习 作者:吴秦
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有转载 2013-04-22 16:03:09 · 613 阅读 · 0 评论 -
socket入门学习 作者:吴秦
作者:吴秦出处:http://www.cnblogs.com/skynet/ “一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所转载 2013-04-22 15:59:40 · 586 阅读 · 0 评论 -
linux内核最佳学习方法
【IT168 技术分析】 Makefile不是Make Love 从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉。毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人。 毫不夸张地说,Kconfig和Makefile是我们浏览内核代码时最为依仗的两个文件。基本上,Linux内核中每一个目录下边都会有转载 2013-04-22 11:36:09 · 1021 阅读 · 0 评论