当前位置: 技术问答>linux和unix
如何修改GPIO寄存器
来源: 互联网 发布时间:2016-02-28
本文导语: 情况是这样的: 我们公司现在在使用PowerPC的CPU,CPU上运行Linux 2.6.13, 现在我想要对GPIO操作,编写了一个程序去写GPIO输出,程序编译是通过了,运行前面的printf之类的语句执行正常,但执行到修改GPIO寄存器时,出现"Segmentation...
情况是这样的:
我们公司现在在使用PowerPC的CPU,CPU上运行Linux 2.6.13, 现在我想要对GPIO操作,编写了一个程序去写GPIO输出,程序编译是通过了,运行前面的printf之类的语句执行正常,但执行到修改GPIO寄存器时,出现"Segmentation fault"
我估计是操作系统正常运行之后进入保护模式,保护模式下运行的程序无法对CPU的寄存器直接操作,应该怎么办呢?
我们公司现在在使用PowerPC的CPU,CPU上运行Linux 2.6.13, 现在我想要对GPIO操作,编写了一个程序去写GPIO输出,程序编译是通过了,运行前面的printf之类的语句执行正常,但执行到修改GPIO寄存器时,出现"Segmentation fault"
我估计是操作系统正常运行之后进入保护模式,保护模式下运行的程序无法对CPU的寄存器直接操作,应该怎么办呢?
|
我怀疑你的GPIO寄存器地址不是正确的。需要虚拟地址空间操作。
你在用户空间来操作的?
你在用户空间来操作的?
|
你这段需要在内核空间使用
你如果要在用户空间使用的话,建议使用kiobuf
看来LZ需要补下linux内存管理的基础知识
你如果要在用户空间使用的话,建议使用kiobuf
看来LZ需要补下linux内存管理的基础知识
|
是在内核空间访问还是用户空间?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。