首页 > 系统相关 >20231121 rock5b 接入mpu6050模块 驱动成功!感谢https://github.com/LitchiCheng/mpu6050-linux

20231121 rock5b 接入mpu6050模块 驱动成功!感谢https://github.com/LitchiCheng/mpu6050-linux

时间:2023-11-22 21:57:55浏览次数:71  
标签:rock5b 20231121 linux mpu6050 m4 i2c8 rock 节点

我的rock5b安装的其radxa官方OS,里面有一个rsetup程序的overlay功能可以管理设备树,

我想根据  https://github.com/LitchiCheng/mpu6050-linux  来尝试连接一个6050;

先 rsetup 里面的overlay管理 开启 i2c8-m4 设备节点,之后在 /boot/dtco  

 i2c8-m4 设备节点已经启用

现在我想利用rsetup的overlay 添加第三方节点文件的功能给i2c8-m4添加6050子节点;

rock@rock-5b:/boot/dtbo$   dtc -I dtb -O dts rk3588-i2c8-m4.dtbo -o ~/i2c8-m4.dts  

这里我用dtc反编译出节点源文件,dtc命令的 -I dtb意思是输入文件类型是二进制节点文件, -O dts的意思是输出文件类型是设备树节点源文件,-o 后面跟输出文件名字;

~/i2c8-m4.dts 内容是这样;

vi修改后: 

我插入6050子节点;

 然后:

 这是查看overlays info 发现有2个。。。

reset overlay不行,重启后还是那样

 但是/boot/dtbo内容发生变化,跟芯片和板子无关的文件消失了

然后删除第一个 .dtbo

 重新查看overlay info 时 显示这个,切换到rock用户时正常了。。。。

 切换到radxa用户也能显示出内容,root用户就是unable。。。

重新修改一下源文件,把名字修改一下以区别

mv i2c8-m4.dts i2c8-m4-6050.dts 文件名也改一下;

重新添加

rsetup 

 

 如果取消启用6050overlay,则相应文件名加一个.disabled

没有reboot命令,原来PATH没有加/sbin;

rock@rock-5b:~/Documents/work20231121$   git clone https://github.com/LitchiCheng/mpu6050-linux.git

 下载源码

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.201.tar.xz   太慢了。。。

sudo apt install tftpd-hpa

mkdir /tftp && chmod 777 -R /tftp

rock@rock-5b:~/Documents/work20231121$ vi /etc/default/tftpd-hpa 

lsof -i -P

 这下我的Macmini可以 tftp 了

 tftp  太坑了,不能put上传文件,有点麻烦

 尝试mac开启http下载服务:  直接在相关目录运行:python -m http.server  ;

                           

 这下我的rock5b开发板直接下载Macmini的文件,快得一笔了

       

 tar -Jxvf linux-5.10.201.tar.xz   解压

把mpu6050.c的makefile改成

# kbuild part of makefile

obj-m := mpu6050.o

#the following is just an example

#ldflags-y := -T foo_sections.lds

# normal makefile

KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build

all default: modules        

install: modules_install

modules modules_install help clean:

$(MAKE) -C $(KERNEL_SRC) M=$(shell pwd) $@

apt install linux-headers-$(uname -r)     #安装在  /usr/src/linux-headers-$(uname -r) ;符号链接 /lib/modules/$(uname -r)/build 指向它;

  makefile中的命令前面必须以tab开头不然报错:  Makefile:19: *** missing separator.  Stop.  操

      报错,找不到文件;我注释掉那个include后没这个错了。报另一个错:

   注释掉该行后,编译通过!

 加载模块:  insmod mpu6050.ko

rock@rock-5b:~/Documents/work20231121/mpu6050-linux$ insmod mpu6050.ko

-bash: insmod: command not found  这他妈

 /sbin/insmod mpu6050.ko  可以,还是PATH的事;

dmesg 查看到输出:

   

我现在把6050模块接上 电源接3.3v pin1,GND接pin39  SCL接pin32,SDA接pin7;rmmod then insmod oncetime;

     感觉好像有点接近成功了。。。。。。

 编译demo

是缺少c语言库,  sudo apt-get install build-essential  下载好慢,为什么几十kb的速度啊

 

  

     

  

 Demo 编译通过!

没有获取到数据呢。。。。重新拔插6050 然后重新insmod,然后运行demo成功获取到数据了;

N.........B............

 

 

 

 

 

 

 

 

 

 

 

标签:rock5b,20231121,linux,mpu6050,m4,i2c8,rock,节点
From: https://www.cnblogs.com/yangdinshan/p/17847741.html

相关文章

  • 20231121
    2023/11/21树状数组t[i],为树状数组;a[i],为原数组t[i]代表的区间为a(i-lowbit(i)+1)~a(i)这个区间。所以求前缀的时候,每次-=lowbit(x),区间是连续接起来的修改操作,a[x]+val,原数组单点加,那么我们要去树状数组上找哪些节点包含a[x],所以是一个+=lowbit(x)的过程#include<bits/......
  • MPU6050使用心得(简单分享一下)
    前言选用MPU6050做倾斜检测功能。前期准备开发板:正点原子STM32F103精英版(STM32F103ZET6)模块:GY-521MPU6050其他:杜邦线若干、烧录线、FlyMcu、Keil5、正点原子开发板配套的套件(TFTLCD)例程、资料下载源自淘宝卖家:https://pan.baidu.com/share/init?surl=dNDqcp76L9QdM7iSZYfz_A密......
  • I2C 接 MPU6050
    MPU6050量化范围-32768~32767  量程3轴加速度计 测量加速度±2/4/8/16(G)3轴陀螺仪传感器 测量角速度±250/500/1000/2000(°/SEC)从机地址AD0=0:1101000AD0=1:1101001MPU6050初始化&获取加速度角速度数据#include"main.h"#include"MPU6050.h"#i......
  • 陀螺仪的使用及四元数解算(MPU6050为例)
    陀螺仪的介绍常用的六轴陀螺仪有MPU6050,icm-20602。MPU6050基本上只用软件IIC驱动,速率较慢,数据漂移也相对大一点。陀螺仪的使用以MPU6050为例。软件IIC驱动->MPU6050寄存器基本配置->读取原始数据->将原始数据滤波后使用。原始数据可以使用互补滤波,卡尔曼滤波,解算四元......
  • rock5b 尝试一次裸板程序
    在linux虚拟机里安装arm64交叉编译环境aptinstallgccmakebinutilsgcc-aarch64-linux-gnu binutils-aarch64-linux-gnuflexbison写一个helloworld.caarch64-linux-gnu-gcc-ohelloworldhelloworld.cfilehelloworld cpto/tftpanddownloadtoubootsetenvser......
  • rock5b uboot 命令试玩 linux安装tftpd-hpa
    光速开启一个能用的linuxFTP服务器aptinstallvsftpd-y&&systemctlenablevsftpd&&systemctlstartvsftpd然后发现uboot好像用的是tftp。。。。。。。。一种简单文本传送协议,下面linux安装tftpdaptinstalltftpd-hpamkdir/tftp&&chmod777-R/tftpvim/etc/de......
  • 三维空间中的刚体运动、MPU6050、DMP姿态解算、卡尔曼滤波
    坐标系空间中三个正交的轴组成,构成线性空间的一组基($......
  • MPU6050一些问题与解决方案
    第一次参加电赛,调mpu6050调得想死,记录一些问题等待日后查询。 一.输出一直是0.可能1:没有初始化成功,见二。可能2:输出时用的是整型格式而不是浮点数格式。。。可能3:AD0引脚接了高电平(或者低电平),就是地址不对。二.初始化不能成功。我是和......
  • 微型MPU6050模块及串口/BLE透传的实物展示
    前言 随着时间的积累,项目的沉淀。把很多做过的产品标准化掉,形成可以立即拿出来使用的产品。是非常重要的一个环节。最近,把基于MPU6050的模块微型化并使用串口透传这个产品梳理了一下。形成了标准化的模块,方便客户使用。 特色梳理 其实,市面上MPU6050的模块不少,可绝多数的是......
  • 树莓派读取mpu6050
     开启i2csudoraspi-config InInterfacingoption,Select -> I2C   查看id ls/dev/*i2c* 查看地址 sudoi2cdetect-y1 ScanorTestI2CdeviceonRaspberryPiNow,wecantest/scanforanyI2CdeviceconnectedtoourRaspberryPi......