正点原子阿波罗STM32F429IGT6移植zephyr rtos(二)---使用I2C驱动MPU6050

news/2024/10/4 21:54:50 标签: stm32, 嵌入式硬件, 单片机, zephyr

硬件平台:正点原子阿波罗STM32F429IGT6

zephyr版本:Zephyr version 3.7.99 

开发环境:ubuntu 24.4

 zephyr驱动开发与之前接触到的开发方式可能都不一样,更像是linux驱动开发,zephyr源码里边其实已经有写好的I2C和MPU6050的驱动,我们要做的就是向设备树追加一些内容,和修改一下.yaml文件。

首先找到zephyr/samples/sensor/mpu6050文件夹

在board里边创建一个stm32f429i_alientek.overlay文件

文件内容:

/*
 * Copyright (c) 2019 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&i2c1 {
	mpu6050@68 {
		compatible = "invensense,mpu6050";
		reg = <0x68>;
		status = "okay";
		int-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
	};
};

可以看到内容很简单,向tm32f429i_alientek.dts设备树文件的I2C1节点追加一个MPU6050子节点,compatible 属性为"invensense,mpu6050",设备地址为0X68,状态为启用,中断引脚为PA15,低电平。

然后修改sample.yaml文件

文件内容:

#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

sample:
  name: MPU6050 Sensor Sample
tests:
  sample.sensor.mpu6050:
    build_only: true
    platform_allow: nrf52dk/nrf52832 stm32f429i_alientek
    tags: sensors
    integration_platforms:
      - nrf52dk/nrf52832 stm32f429i_alientek

只是在platform_allow和integration_platforms后边加上了我们的板子。

然后就大功告成了

编译:

west build -p always -b stm32f429i_alientek samples/sensor/mpu6050

编译成功:

打开串口:

sudo minicom -D /dev/ttyUSB0 -b 115200

下载程序:

west flash

现象:


http://www.niftyadmin.cn/n/5690361.html

相关文章

spring bean的生命周期是什么?一文读懂 Spring Bean 的生命周期:从创建到销毁的全流程

在现代 Java 开发中&#xff0c;Spring 框架凭借其灵活的依赖注入和简单的配置管理而广受欢迎。而其中的 Spring Bean 生命周期更是开发者必须理解的一个核心概念。在这篇博客中&#xff0c;我们将一同探讨 Spring Bean 的生命周期&#xff0c;从 Bean 的创建、初始化&#xff…

如何在Dev-C++中集成EasyX库:详细指南

EasyX是一款轻量级的C图形库&#xff0c;专门为Windows平台设计&#xff0c;特别适合初学者使用。它通过简单的语法帮助编程爱好者快速绘制图形并开发简单的图形界面程序。Dev-C 是一个非常流行的轻量级C开发环境&#xff0c;结合EasyX库使用&#xff0c;能够让学生和初学者轻松…

大模型训练环境搭建

硬件资源说明 本教程基于GPU 3090的服务器 资源类型 型号 核心指标 CPU Intel(R) Xeon(R) Bronze 3204 CPU 1.90GHz 12核 内存 / 125Gi GPU NVIDIA GeForce RTX 3090 24G显存 注意&#xff1a;接下来的部分命令需要使用科学上网&#xff0c;需要事先配置好。 安…

红日靶机(三)笔记

VulnStack-红日靶机三 概述 相较于前边两个靶场环境&#xff0c;靶场三的难度还是稍难一点&#xff0c;有很多兔子洞&#xff0c;这就考验我们对已有信息的取舍和试错&#xff0c;以及对渗透测试优先级的判断。涉及到对数据库操作的试错&#xff0c;对 joomla 框架 cve 的快速…

昇思MindSpore进阶教程--自动向量化Vmap(上)

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 正文开始 AI融合计算的蓬勃发展&#xf…

实现实时数据推送:设计一个WebSocket服务器的实用指南

实现实时数据推送:设计一个WebSocket服务器的实用指南 在现代Web应用中,实时数据推送已成为一种重要的交互方式。无论是在线聊天、实时通知还是数据监控,WebSocket都提供了一种高效的双向通信机制。本文将详细介绍如何使用Python设计一个WebSocket服务器,支持实时数据推送…

Qt 5.8.0 安装

QTCN开发网 5.8下载链接 这个网站已经下载不了了&#xff0c;又找了一个&#xff08;地址&#xff09; 需要开VPN下载&#xff0c;比较快 安装所有组件

【数据结构初阶】排序算法(下)冒泡排序与归并排序

文章目录 4. 交换排序4. 1 冒泡排序 5. 归并排序6. 非比较排序6. 1 计数排序 5. 排序性能分析6. 排序算法复杂度及稳定度分析 4. 交换排序 交换排序基本思想: 所谓交换**&#xff0c;就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置**。 交换排序的特点是…