关于全志v851s uboot gpadc 无法使用的问题

说明

        最近需要在uboot阶段使用gpadc功能,uboot配置打开了gpadc编译,同时按照uboot中读取电压的代码,直接在autoboot那里做测试,发现无法读取adc,检查到最后发现init函数里面设置的寄存器全部没有设置进去,记录一下解决流程。

gpadc初始化流程参考:

        首先是定位到read ints寄存器老是返回0,导致无法进去读data,直接注释了判断条件,强行读,数据也不对。后面对比init函数和手册的流程,发现流程也没有错,就在init函数中打印了各个寄存器的值,最终发现:所有寄存器写进去之后,读出来数据没变,寄存器无法写入。

        直接操作的寄存器,没道理写不进去,经排查,最终问题在于init流程的第一步和第二步对寄存器 0x020099ec 的操作,这个没设置好,感觉是写寄存器的时候地址传的不对,但是当时排查的时候,地址也没啥不妥,后面直接替换了地址,使用其他的宏,成功修改这个寄存器之后,后面关于gpadc的其他寄存器都可正常写入了。

   

成功初始化,后面就可以读取值了,但是发现uboot读的值和系统起来之后内核里面读的值差别很大,还需要定位问题

后面发现将gpadc的电压固定为1.8V读取数值一致了,推测不一致的问题应该是内核启动之后soc端有新的其他模块供电导致了电压下拉,并且gpadc测量的电压本身有纹波,导致读取的值可能也不准

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值