Linux
文章平均质量分 66
coderlang
34+ 程序员,CTO,全栈工程师,搬砖 11 年,薪资翻20倍
展开
-
根文件系统(rootfs)的制作
由于板子不知道什么缘故,u-boot的tftp功能无法应用,每次都用串口下载数据,但是到后面要下载文件系统的时候实在是太大了,完全无法下载,因此,尝试着做一个简单的文件系统,这个样子就能够跑起来了。根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂在的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在跟文件系统挂载之后从中把一些原创 2013-05-06 22:09:28 · 2175 阅读 · 0 评论 -
Linux 混杂设备的应用
混杂设备在实际的项目中还是非常有用的,目前,由于工作需要,在海思处理器上面编写了以及基于混杂设备的GPIO驱动,该驱动扩展性极好,能够操作Hi3521上面的所有GPIO,并且能够快速移植到其他海思芯片上,以下是个人对该设备模型的一些理解与应用,希望对读者有用,不足之处请指正!下载地址:点击打开链接原创 2013-07-30 21:32:27 · 858 阅读 · 0 评论 -
pthread线程
pthread是linux下面遵循posix标准的多线程接口,该线程测试,就类似于RTOS的任务测试是一样的,接下来主要测试了其中的两个函数pthread_create线程创建和pthread_join等待线程结束 如果主线程中不调用pthread_join等待创建的线程结束,那么有可能会出现主线程已经结束导致整个进程退出,然而被创建的线程还未运行或者还未运行完毕,测试代码如下#incl原创 2013-06-19 11:58:05 · 930 阅读 · 0 评论 -
signal函数异常处理
在写测试例子的时候,往往需要传入大量的参数,提供大量的选择,并且可能会进行多次测试,此时我们往往就需要一个退出的选择,signal是个不二的选择,测试代码如下#include #include void HandleSig(int signo){ if (SIGINT == signo || SIGTSTP == signo) { printf("\nprogram exit原创 2013-06-19 11:31:21 · 1591 阅读 · 0 评论 -
centos搭建tftp
1、查看tftp服务是否安装 2、安装tftp服务 从上面查看情况来看,本机是没有安装tftp服务,因此,我们需要安装,执行命令如下 sudo yum install tftp*3、配置tftp 修改/etc/xined.d/tftp文件,命令如下 sudo vim /etc/xined.d/tftp,修改如下原创 2013-05-22 10:08:33 · 1022 阅读 · 0 评论 -
linux 内核线程
linux内核可以看做是一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,多线程化是必要的。内核线程就是内核的分身,一个分身可以处理一件特定的事情。Linux内核使用内核线程来将内核分成几个功能模块,像kswapd、kflushd等等,这在处理异步事件如异步IO时特别有用,像我们在内核中可以通过创建一个线程来查询按键状态。内核线程的原创 2013-05-12 11:17:49 · 1736 阅读 · 0 评论 -
linux 输入(input)设备接口
input是在linux下面所有输入设备驱动的一个集合,当前只应用在了USB输入设备上,后面会替代大多数存在的输入设备。input驱动的核心是输入模块,该模块必须在其它所有输入模块加载前被加载,它为两个模块之间提供了一种通讯机制。下面进行详细介绍input数据结构如下struct input_dev { void *private; const char *name; const原创 2013-05-11 22:00:24 · 1594 阅读 · 0 评论 -
linux 中的GPIO操作
本文主要参考了linux源文件中的Gpio.txt以及GPIO.txt,查看以上两个文件使得自己对linux下面对GPIO的操作方式更加了解,将从以下几个方面进行分析1、什么是GPIO?2、GPIO规则3、标识GPIO4、使用GPIO5、使用自旋锁安全访问GPIO6、GPIO访问可能导致的睡眠7、请求和释放GPIO8、GPIO的中断映射9、S3C2410中的GP原创 2013-05-11 15:36:13 · 1594 阅读 · 0 评论 -
Linux platform中用到的数据结构分析
前面介绍了基于platform总线的LED驱动编写,接下来分析下platform总线里面所用到的数据结构,查看linux源码时发现,其数据结构一般都有一个txt文本文件专门介绍的,如platform.txt以及devic.txt,因此,首先查看这两个文件的内容查看device.h文件发现了device的基础设备结构,如下所示struct device { struct lis原创 2013-05-11 11:39:34 · 1072 阅读 · 0 评论 -
基于linux platform总线的LED驱动
在linux 2.6版本的设备驱动中,主要关心总线、设备和驱动者三个实体,总线将设备和驱动绑定。在系统没注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的linux设备和驱动通常都需要接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等设备而言,这自然不是问题,但是在嵌入式系统里面,SoC系统集成的独立外设原创 2013-05-10 21:37:21 · 1360 阅读 · 0 评论 -
linux驱动之外部中断
前面一直都是在裸机或者RTOS下面写的驱动,现在开始学下linux驱动的编写,第一个任务是采用中断检测按键,下面谈谈我对该任务的看法1、linux中断处理机制linux中断处理采用的是中断上下部进行的,中断上下部的主要区别就是中断是否是关着的,中断上半部中断是关着的,中断下半部中断时开着的,中断上半部只是简单的读取一些寄存器数据,中断下半部则是处理数据。linux中断处理机制有两种,一种是原创 2013-05-09 10:15:53 · 1255 阅读 · 0 评论 -
centos搭建nfs
1、查看nfs-utils和portmap是否安装 注意,centos把portmap改名成了rpcbind sudo yum list nfs-utils rpcbind,如果没有安装,则用install进行安装2、在nfs-server上配置nfs服务[laneyu@localhost linux-2.6.37.4]$ sudo vim /etc/expor原创 2013-05-22 09:32:14 · 811 阅读 · 0 评论 -
linux内核移植x86平台
前面一段时间弄RTOS弄的比较多了,这段时间主要是计划移植linux,编写相关驱动,以前也各个linux版本都用过,但是久了没用了,因此,大多数都搞忘了,所以说啊,好记性不如烂笔头!下面我们开始移植linux到x86平台上1、解压下载的linux内核,此处用的是3.2.12版本,如下所示tar -jxf [内核名字]2、清除相关内容此处,顺便提示下make clean和make原创 2013-05-06 16:53:08 · 1893 阅读 · 0 评论 -
centos搭建samba服务
在linux下面简历samba服务器,主要参考了以下链接http://wiki.ubuntu.org.cn/Samba, 从中也进行了一些修改如下 centos服务需要注意以下内容: 1、安装samba服务 2、关闭selinux、关闭iptables,命令如下 编译/etc/selinux/config文件,修改SELINUX=di原创 2013-05-16 23:00:25 · 1068 阅读 · 0 评论