开发日志_1

基于nxp的imx8qm 的智能座舱系统

1.给的资料里面并没有完整的子板的原理图,需要到论坛进行下载。论坛也没有,自己开帖询问管理人员,获得了datasheet

2.根据datasheet显示,或者两个信息:

a)我需要bringup的几个基本sensor是焊在板子上了的,无需另外接。sensor在这个板子上走的是i2c

b)GPS模块在这个板子上是没有的,需要另外购买另外接,它一般走的是串口(通过论坛查找信息了解到)。走的软件协议一般是NMEA。可参见:i.MX8 系列 | 如何在 i.MX8QM Android 上实现 GPS 地图导航功能 - 知乎一、GPS 简介GPS 全称是, 全球定位系统(Global Positioning System,GPS),它是一种以人造地球卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确…https://zhuanlan.zhihu.com/p/346924558

3.如果说器件是焊在板子上的话,内核启动的时候,一般来说会拉起器件,有相应的log打印,但是没有发现相关的打印。那么需要排查为什么没有的原因,是没起来,还是没打印。这里想到的方式首先是在kernel里面的器件的驱动的入口函数probe里面加打印,然后烧进boot镜像里面。

4. 这里碰到了问题,就是烧写的时候的fastboot的问题,不显示设备。这里需要从这几个方面去排查问题:

     a)需要保证驱动是可以用的。进到设备管理器里面看,确保要把驱动更新成android adb interface

     b)需要保证进入命令行的时候使用管理员身份进入

     c)需要保证adb和fastboot没有同时占用端口

     d)需要保证adb和fastboot 的驱动环境变量(设置里面)配置正确,驱动安装的版本正确

     e)需要保证使用的两根线正确,使用烧写线进入fastboot

      f)需要adb两端的版本的client和server版本一致

      g)需要保证win10的强制驱动签名功能没有阻止驱动的运行,否则禁止掉

5.把加的probe的log加入,编译后,发现一个问题就是编译完了kernel后,不管是成功还是失败打印的Log都是一样的。那么进一步地,我们使用全编发现全编竟然可以通过。这里就需要排查原因了。

     此时,我们先从编译的这里入手。我们利用现在已知参与编译的spi/spi-imx.c这个已知条件,到这个文件里面,通过故意添加错误代码的方法,在代码开头加上::::,然后编译,此时编译的log里面出现了此处的报错,那么可以说明编译打印log的手段没有出现异常,只要是有错误还是会打印的。

     进一步发现,这个很有可能是编译kernel的时候根本就没带器件驱动的原因,那么我们进到器件驱动的文件夹里面,找到makefile里面此器件驱动的配置的地方,把obj后面的宏去掉,直接改成obj -y这样,来保证这个器件驱动一定会被编译到。

    试验后发现obj -y后它会参与编译,也有打印。那么现在的问题来到为什么 i2c总线驱动为何没有探测到8700这个设备了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值