
linux的成长之路
随着自己在linux下的开发,积攒生活中的点点滴滴。
坤昱
这个作者很懒,什么都没留下…
展开
-
Linux通过GPIO状态实现按键上报(按键功能)
GPIO是集成电路或电子电路板上未提交的数字信号引脚,用于将微控制器连接到其他电子设备的标准接口。当然,我们也可以通过几个GPIO口编写一个键盘驱动,驱动挂载后拥有按键功能。 示例驱动基于ARM64架构开发,其中用到的知识将会在文章中讲述。设备树platform工作队列input设备树: 设备树是一种描述硬件的数据结构,它起源于OpenF...原创 2020-01-20 23:12:36 · 3755 阅读 · 0 评论 -
linux Pci字符驱动基本加载流程
今天有朋友问我linux系统Pci字符驱动加载流程,简单整理了一下,顺便做个记录。首先说下需要包含的头文件:一个完整的字符驱动一般包含下面这些头文件:#include <linux/types.h>#include <linux/kernel.h>#include <linux/fs.h>#include原创 2018-12-03 22:26:02 · 1515 阅读 · 0 评论 -
CubieBoard7开发板(基于S700芯片)基于安卓系统固件编译
之前使用CubieBoard7开发板提供的代码编译基于安卓系统固件时遇到了一些问题,简单描述一下解决方式。CubieBoard7开发板资料下载:!进入到CubieBoard7/Cubietech_Release/Source/Android/Android-SDK-V2.1(当时最新版本)文件夹 找到android5.1_sdk_s700_v2.1.tar.gz和android5.1_sdk_...原创 2018-11-27 14:55:17 · 1458 阅读 · 0 评论 -
linux系统sudoers文件夹权限777以及/etc/profile文件修改后无法进入系统问题
有位博友在我的另外一篇文章中留言,关于修改/etc文件夹权限为777导致/etc/sudoers文件夹权限修改为777后无法使用 “sudo”指令,关于这个问题打算与误操作/etc/profile文件导致重启后进不去系统一起解决。首先说下sudoers文件夹恢复为0440方法:方法一(直接在图形界面修改): ①进入Terminal 切换到管理员身份,输入su。 如果没有成功切换到原创 2017-11-23 21:42:44 · 13305 阅读 · 5 评论 -
linuxPci驱动获取指定设备bus、device以及devfn数据方式
在vxworks系统中,调用pciFindDevice()函数可以直接获取到指定设备的bus、deviceNo以及devfn数据信息。相对于linux系统,vxworks编写驱动相对简单一些。linux系统下bus、deviceNo以及devfn数据由驱动内部函数使用 (编写驱动过程中这些数据几乎用不到),并且没有提供明确的接口,需要我们自己分析驱动函数调用这些数据的方式。首先在Terminal输入原创 2017-11-17 22:01:05 · 6212 阅读 · 0 评论 -
linux PCI驱动调用字符设备驱动方式
上一篇文章写了字符设备驱动的基本结构及访问方式,在实际应用时首先需要绑定自己的硬件设备。本篇主要描述字符设备驱动与PCI接口类型的设备访问方式(内核为2.6.24及以上的方法,测试内核为2.6.32)。首先介绍下PCI驱动结构://PCI设备id描述结构:这里有两个参数 第一个是VendorID,第二个是DeviceID(在linux Terminal中输入 lspci -vmm可以看到设备信息)原创 2017-11-04 21:26:16 · 1847 阅读 · 0 评论 -
linux使用open无法打开驱动解决方式
最近测试自己写的字符设备驱动例子(这里以test.ko为实例), 用户层多次调用open(“/dev/test”,O_RDWR)返回值为-1,根据返回状态捕获到错误(”No such device or address”),偶尔打开字符设备驱动也无法访问驱动函数(比如ioctl函数返回值是-1) 。后来改用动态分配设备号,代码内动态创建设备描述文件(/dev/test)后每次都可以成功open,并且原创 2017-11-04 14:05:22 · 12954 阅读 · 3 评论 -
Linux vsftpd(ftp)安装包安装方法
最近在ubuntu上安装ftp在网上搜了好多方法都是在线安装,后来下载一个安装包,参考里面的INSTALL文件成功安装,下面说下安装步骤。 安装包地址:http://download.youkuaiyun.com/detail/a29562268/9852454!1.解压安装包后,控制台进入vsftpd-3.0.2文件夹 ,输入 make ,成功后会得到需要文件;2.输入 sudo make instal原创 2017-05-25 21:40:47 · 29954 阅读 · 2 评论 -
linux安装c++版本eclipse以及编译增加指定库
在安装eclipse之前确定linux系统安装了g++,可以用指令 whereis g++查看,如果路径为空需要安装,g++安装比较简单这里就不做介绍了。运行eclipse需要用到jdk和eclipse数据包: jdk:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html原创 2017-05-27 15:46:44 · 2255 阅读 · 0 评论 -
linux编译ko文件(不同内核源码版本)
最近编译内核驱动程序遇到了一些困难,网上下载与我的linux系统相同的版本,编译的时候过不去(每次都是编译到sound文件夹下时提示找不到xxx.c文件),后来经过多次的实验后便把内核换了别的版本作为系统内核启动成功编译出ko文件,下面贴上具体过程:只需要准备一个与自己linux系统内核接近的版本(我的系统内核是2.6.32.21后来下载了一个2.6.32稳定版成功编译并且可以进入这个新的内核)。1原创 2017-09-30 18:50:21 · 21548 阅读 · 4 评论