GPIO驱动写错,导致内存出现问题,系统死掉

原创 2013年11月19日 15:30:26

解决方法:

请教了别人,噶偶我让我用nfs挂载,但搞了半天,只是把PC上的文件挂载到了开发板上,比较郁闷

后来在系统快起的时候kill掉自启动的QT程序,卸载自己装载的驱动,然后用FLASHFXP进入系统文件目录(原来不进行上面的操作进入不来了),然后打开rcs文件修改开机启动项,搞定了。


需要学习的:1.NFS文件系统的挂载, 2.直接操作寄存器来设置GPIO口时最好用ioremap来设置


这个问题解决后又回到了起点,写一个GPIO的驱动完成读取数据。

  1. GPIO是与硬件体系密切相关的,linux提供一个模型来让驱动统一处理GPIO,即各个板卡都有实现自己的gpio_chip控制模块:request, free, input,output, get,set,irq...然后把控制模块注册到内核中,这时会改变全局gpio数组:gpio_desc[]. 当用户请求gpio时,就会到这个数组中找到,并调用这个GPIO对应的gpio_chip的处理函数。gpio实现为一组可用的 gpio_chip, 由驱动传入对应 gpio的全局序号去 request, dataout ,datain, free. 这时会调用gpio_chip中具体的实现。
  2. gpio是一组可控件的脚,由多个寄存器同时控制。通过设置对应的寄存器可以达到设置GPIO口对应状态与功能。数据状态,输入输出方向,清零,中断(那个边沿触发), 一般是一组(bank)一组的。
  3. 寄存器读写函数: __raw_writel() __raw_writeb() __raw_readl() __raw_readb()
原来写的驱动是直接对寄存器操作的,也没有进行内存映射:iormap(),导致内存奔溃的,在网上找到了上面一段话,可以直接内核的接口操作GPIO口。现在也有点理解:驱动是基于内核的,应用层是基于任务的

GPIO口驱动的编写:
1.申请GPIO口;2.注册设备;3.创建GPIO的sysfs的相关文件

http://blog.chinaunix.net/uid-27717694-id-3624294.html
自己的程序中的GPIO驱动应用:
参考http://blog.csdn.net/laoyuliang/article/details/7373075
#include  <linux/gpio.h>
//初始化GPP引脚8,设置为输入
s3c_gpio_setpull(S3C64XX_GPP(8),S3C_GPIO_PULL_UP);
       s3c_gpio_cfgpin(S3C64XX_GPP(8),S3C_GPIO_INPUT);
再用gpio_get_value(/*GPIO口*/);获取相应GPIO口的值即可

Java程序导致服务死机的情况

在Java程序中容易引起Tomact服务器挂掉的最严重的几个问题
  • liuyuehu
  • liuyuehu
  • 2014年08月01日 22:17
  • 4088

大规模WebGL应用引发浏览器崩溃的几种情况及解决办法

一般的Web应用基本上不会导致浏览器崩溃,写Javascript代码也不需要管理内存资源,基本也不需要考虑内存“泄露”的问题。随着H5的崛起,越来越多的原本在桌面端的软件也改头换面迁移到Web上来,比...
  • mythma
  • mythma
  • 2016年06月04日 17:17
  • 15785

linux OOM-killer机制(杀掉进程,释放内存)

Linux 下面有个特性叫 OOM killer ( Out Of Memory killer ) ,这个东西会在系统内存耗尽 的情况下跳出来, 选择性的干掉一些进程以求释放一些内存。...
  • hunanchenxingyu
  • hunanchenxingyu
  • 2014年05月19日 17:49
  • 9414

如何安装监控tomcat服务_防止tomcat死掉系统无法服务的问题

  • 2013年12月27日 17:14
  • 83KB
  • 下载

如何解决“BPM导入组织架构出现问题导致系统无法登陆”

遇到问题如图所示↓   进入H3系统登陆页面。   点击登陆后显示如图错误。   跟踪后显示参数为空。 问题描述:通过web service方式进行组织机构导入,只导入ObjectI...
  • qq_37115281
  • qq_37115281
  • 2017年01月16日 09:39
  • 322

记录一个由于代码写错导致的一个掉咋天的动画

//  Copyright © 2017年 开太平研发1. All rights reserved. // #import "KtpShareAlertView.h" #import ...
  • qq_36723759
  • qq_36723759
  • 2017年12月01日 11:42
  • 26

mysql配置出现问题解决_red hat linux5.5 系统下

  • 2013年03月15日 09:54
  • 2KB
  • 下载

ccflow 检查系统组织结构偶合是否出现问题.sql

  • 2016年01月10日 20:56
  • 938B
  • 下载

在xp系统下安装金蝶k3 v8.8 中间层出现问题

  • 2012年09月24日 14:41
  • 138B
  • 下载

win7 ghost 安装串口驱动inf文件出现问题

这是复制的别人的,讲的和经典,一开始试了很多方法都不行,试了这个后安装成功了,但是一开始说这个驱动不适合当前设备,我就猜想是C:\windows\System32\DriverStore\FileRe...
  • u011263315
  • u011263315
  • 2015年11月21日 21:53
  • 2504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GPIO驱动写错,导致内存出现问题,系统死掉
举报原因:
原因补充:

(最多只允许输入30个字)