当前位置:  技术问答>linux和unix

嵌入式高手:请指教

    来源: 互联网  发布时间:2016-12-23

    本文导语:  我想对我核心新片的 gpio口进行操作,我在应用程序中写了一个设置函数(网上找的)如下,然后我根据datasheet调用它了  SetRegVal(REG_BASE_ADDR,0x0008,0xffffffff,0x01);//设置GPIO3_0为普通的GPIO口  SetRegVal(REG_BASE_ADDR,0x000C,0xfffffff...

我想对我核心新片的 gpio口进行操作,我在应用程序中写了一个设置函数(网上找的)如下,然后我根据datasheet调用它了
 SetRegVal(REG_BASE_ADDR,0x0008,0xffffffff,0x01);//设置GPIO3_0为普通的GPIO口
 SetRegVal(REG_BASE_ADDR,0x000C,0xffffffff,0x01););//设置GPIO3_0为普通的GPIO口

 SetRegVal(GPIO3_BASE_ADDR,0x0400,0xffffffff,0x03);//设置GPIO3_0 GPIO3_1为输出引脚

 SetRegVal(GPIO3_BASE_ADDR,0x00,0xfffffffc,0x00);//设置为 GPIO3_0 GPIO3_1 0 0。
把程序方放到装置里面运行 就是不生效,也就是 GPIO3_0 GPIO3_1还是默认情况下的低电平,但是我打印输出的确是:
00000001
00000001

00000001
00000001

00000003
00000003

00000000
00000000
不知道这个是什么原因???应该怎么排查??  还有就是这个mem设备是什么啊,网上这么写的,我也照写了,正好我的/dev下面 有这个设备。





static HI_S32 SetRegVal(HI_U32 u32Base, HI_U32 u32Offset, HI_U32 u32ANDVal, HI_U32 u32ORVal) 

HI_S32  s32MapFd = -1; 
HI_U32 *pu32TmpAddr = NULL; 
HI_U32  u32TmpVal;  
s32MapFd = open("/dev/mem", O_RDWR|O_SYNC); 
if (-1 == s32MapFd) 
{  return HI_FAILURE; 
}  
pu32TmpAddr = (HI_U32 *)mmap((void *)0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, s32MapFd, u32Base); 
if (MAP_FAILED == pu32TmpAddr) 

close(s32MapFd); 
printf("失败映射n");
return HI_FAILURE; 
}  
u32TmpVal = *(pu32TmpAddr+(u32Offset>>2));

printf("%08xn",u32TmpVal);

u32TmpVal &= u32ANDVal; 
u32TmpVal |= u32ORVal; 
*(pu32TmpAddr+(u32Offset>>2)) = u32TmpVal;

printf("%08xn",u32TmpVal);

munmap((HI_VOID *)pu32TmpAddr, 0x1000); 
close(s32MapFd);  
return HI_SUCCESS;



 
    

|
感觉你这么做是不对的。
如果要设置GPIO,至少应该先使能吧,也就是配置类似GPIO Controller寄存器吧

    
 
 

您可能感兴趣的文章:

  • 我想学习Linux 嵌入式开发,请大家指教
  • 嵌入式Qt制作的窗口,不能显示汉字,请高手指教
  • 谁用emDebian做过嵌入式linux系统的请指教一下啊
  • 我想学嵌入式开发,但苦于不知如何入门,请求各位指教!!!!
  • 嵌入式 面试题目 会的请给一下指教!!!
  • 请问在哪下载嵌入式Linux开发平台???想学嵌入式开发!!!
  • 有谁做过嵌入式 Linux开发?是否有嵌入式Linux的JVM?
  • 嵌入式网络编程与非嵌入式网络编程有什么不同
  • 问一个弱弱的问题:做嵌入式开发,宿主机的Linux版本一定要跟目标机上的嵌入式Linux版本一致么?
  • 我怎么糊涂了:想开发嵌入式系统(目标机采用UCLINUX嵌入式操作系统),在RED HAT LINUX下开发,选用什么工具呢?QT还是qt embedded?
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 请问什么是嵌入式数据库?(空)
  • 关于“嵌入式Linux”
  • 嵌入式系统的学习
  • 嵌入式学习方法
  • 请问:构建一个嵌入式开发环境时的疑问?
  • linux 嵌入式开发用买开发板吗?
  • 求嵌入式Linux的入门书籍!
  • 嵌入式应用开发协作系统 Yocto
  • 嵌入式系统的C运行库 Newlib
  • 嵌入式GLIBC EGLIBC
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • 嵌入式 syslog
  • vc++与Linux嵌入式
  • 计算机专业学习 嵌入式可以么 ??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 现在LINUX主要用在哪些嵌入式设备上?
  • 嵌入式系统 Prex
  • web开发和嵌入式开发哪个更有挑战
  • 嵌入式linux 组播接收问题
  • Linux的嵌入式开发,请高手指点
  • 国内有哪些好的嵌入式公司???
  • 开源嵌入式操作系统 Contiki
  • 嵌入式Web服务器 Appweb
  • 实时嵌入式操作系统 NuttX
  • 嵌入式系统虾米意思呀?
  • jquery iis7站长之家
  • java 还是LINUX嵌入式???
  • 了解嵌入式开发的朋友请进!
  • 是考验还是嵌入式??
  • linux运维转linux嵌入式
  • 嵌入式GUI库 eSWT
  • 嵌入式系统考研请教?
  • ARM 嵌入式系统的仿真器 Softgun
  • 如何开发嵌入式Linux操作系统?
  • 关于初学嵌入式的一些问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3