自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hywelstar的嵌入式软件开发笔记

专注于嵌入式软件开发,从事于Linux /Android BSP开发,涉及NXP,瑞芯微等Soc bring up

  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 NXP i.MX8系列平台开发讲解 - 总目录

NXP i.MX8系列平台开发讲解 主要针对嵌入式领域人员提供的一套开发教程,将开发过程的遇到的接触的内容进行一个笔记记录,包括Linux 驱动相关,Android 系统相关定制,部分音视频相关的使用,后续将会持续更新;

2024-02-24 17:07:29 427

原创 NXP i.MX8系列平台开发讲解 - 3.12 Linux 之Audio子系统(一)

ALSA最初于2002年引入Linux内核,旨在提供更先进的音频支持,以替代旧的OSS(Open Sound System)音频系统。ALSA的引入解决了OSS存在的限制,并为Linux内核提供了更高质量和更灵活的音频功能。随着Linux内核的不断发展,ALSA得到了持续的改进和扩展。ALSA现在已经成为Linux内核的一部分,提供了广泛的音频功能和驱动程序支持。它支持多种音频硬件设备,包括声卡、USB音频接口、蓝牙音频等。

2024-05-22 18:25:06 762

原创 软件设计师笔记(三)-设计模式和算法设计

本文内容来自笔者学习zst 留下的笔记,都是零碎的要点,查缺补漏,希望大家都能通过,记得加上免费的关注!

2024-05-13 13:40:29 452

原创 软件设计师笔记(二)-零碎要点

本文内容来自笔者学习zst 留下的笔记,都是零碎的要点,查缺补漏,希望大家都能通过,记得加上免费的关注!

2024-05-10 12:01:21 474

原创 软件设计师笔记(一)-基础要点

本文内容来自笔者学习zst 留下的笔记,虽然有点乱,但是哥已经排版过一次,将就着看吧,查缺补漏,希望大家都能通过,记得加上免费的关注!谢谢!csdn贴图真的很废人!

2024-05-09 18:08:41 864 1

原创 NXP i.MX8系列平台开发讲解 - 3.11 Linux PCIe设备调试(WIFI模块)

在我们认识WIFI模块,WIFI模块的接口主要有SDIO,USB,PCIe,采用PCIe接口对于其他这些接口来说,就是速度的优势,适用于需要更高性能和带宽的应用。如图AW-CM276MA-PUR模组采用的PCIe接口,采用M.2 2230接口;查看NXP官方提供的相关AW-CM276MA-PUR无线模块需要在i.MX 8M Quad主机系统上加载内核驱动程序,并在88W8987/88W8997 SoC上运行固件。

2024-05-07 19:30:00 749

原创 NXP i.MX8系列平台开发讲解 - 1.1 导读前言

本专辑将会介绍Linux 驱动开发,Android BSP 驱动涉及HAL层调试,适用于嵌入式软件开发人员,和有兴趣向该方向发展的人员。首先具备一定基础知识:C语言数据结构操作系统电子电路基础版本控制和协作工具。

2024-05-07 14:52:50 330 1

原创 网络性能测试工具iperf3 和iperf

1. iperf工具介绍iperf是一个网络性能测试工具,用于测量网络带宽和性能。它可以在客户端和服务器之间进行数据传输,并提供了丰富的选项来配置测试参数和输出格式。iperf和iperf3都是用于测量网络带宽的工具,但它们有一些区别需要测试 TCP、UDP 或 SCTP 带宽,并且希望获得更好的性能和更多功能,建议使用iperf3。如果您只是需要基本的 TCP 和 UDP 带宽测试,并且对功能和性能没有太高的要求,那么iperf也是一个不错的选择。

2024-04-29 16:38:32 365

原创 NXP i.MX8系列平台开发讲解 - 3.10 Linux PCIe资源分配与访问(二)

本文将重点讲解PCIe的资源访问相关内容,对于PCIe资源访问是从Host 端老看可以对PCIe进行配置与访问的资源主要包括以下相关类目配置空间BARCapabilityMSI/MSI-XDMA。

2024-04-26 17:44:10 943 1

原创 NXP i.MX8系列平台开发讲解 - 3.9 Linux PCIe协议相关介绍(二)

事务层的数据包也就是距离用户最近的那一层,这一层的数据包称为TLP:Transaction Layer Packet;TLP事务层完成TLP的封包与解包TLP有点类似TCP/IP协议中的IP包,事务层通过TLP实现路由与寻址功能功能有硬件实现。

2024-04-25 19:04:57 890 3

原创 NXP i.MX8系列平台开发讲解 - 3.8 Linux PCIe 简单介绍(一)

本文将开始介绍有关PCIE相关的知识,将会分成好几个章节进行从浅入深,加上实践相关进行去说说PCIE的相关知识,最终目的了解PCIE的整个流程,还有在我们遇到对PCIE设备的驱动该如何去调试,应该注意哪些问题。本章主要讲解认识下PCIE的相关发展历史,一些概念等等;

2024-04-25 19:01:23 587

原创 NXP i.MX8系列平台开发讲解 - 3.7 Linux 之GPIO子系统

GPIO子系统是对GPIO进行初始化设置,并且提供一些操作的接口,比如设置输入输出,读取GPIO的状态等等,但是在最这些操作之前都需要使用到pinctrl子系统对GPIO进行一系列的秒速设置PIN的复用还有电器属性,就比如对PIn设置为什么功能GPIO。这里就是设置了gpio1_io5 reset 低电平有效,在通过驱动将会使用起这个GPIO,从设备树来看都是采用定义GPIO所属的组,和它的offset号,有效电平是什么即可,再配合当前使用在某个驱动上,驱动会对该GPIO进行操作。

2024-03-13 22:00:00 862

原创 Linux SD挂载失败 mount: /mnt/test: wrong fs type, bad option, bad superblock on /dev/sdd2

假如也不行,出现提醒更新e2fsck,

2024-03-06 19:45:00 954

原创 NXP i.MX8系列平台开发讲解 - 3.6 Linux 之Input 子系统(二)

本章节主要讲述关于Input子系统的应用,获取外部输入和模拟一个虚拟的input 设备,这些都使用Linux 系统,Android 系统也适用,Android同样进行交叉静态编译也可以运行。

2024-02-26 22:21:46 1834

原创 NXP i.MX8系列平台开发讲解 - 3.5 Linux 之Input子系统(一)

这三个是具有很大的联系,input_dev这个是用来描述一个input设备,input_handler用来表示事件的具体处理,input_handle用来关联input_dev与input_handler,有了input_handle可以更加灵活,可以动态地去关联他们的关系,比如一个触摸设备可以支持触摸事件处理程序、手势事件处理程序和笔迹事件处理程序等。inputX是对应的输入设备的对象目录,对应的设备的input_dev,包含了设备的想详细信息,产品名称,供应商等。

2024-02-26 21:30:00 921

原创 NXP i.MX8系列平台开发讲解 - 3.4 Linux 之IIO子系统(sensor opt3001)

IIO子系统提供了统一的接口和框架,允许用户空间应用程序通过sysfs和设备文件来访问和配置这些传感器数据。:包含iio_ring/iio_core/iio_trigger等这些属于IIO Framwrok部分,iio_ring相当于连续采集的数据缓存buffer,iio_ring将提供字符设备文件的注册,所以在应用上可以通过字符设备读取该设备的数据;这几个函数文件都是围绕iio_dev/ iio_info/ 还有iio_buffer, iio_trigger的功能实现,具体的调用可以看到下图相关的关系。

2024-02-24 16:20:29 1951

原创 NXP i.MX8系列平台开发讲解 - 3.3 Linux 之Pinctrl子系统

Linux内核的Pinctrl子系统是一个非常见的框架系统,该子系统的目的是为了提供对硬件引脚(Pin)进行配置和控制的通用接口。通过 pinctrl 子系统,驱动程序可以请求和配置特定硬件引脚的功能和属性,从而实现对硬件引脚的灵活控制。

2024-02-23 21:00:00 810

原创 NXP i.MX8系列平台开发讲解 - 1.6 i.MX8M Linux源码编译问题(yocto)

从源码编译问题查看,主要问题可能存在三个。

2024-02-23 18:30:00 384

原创 NXP i.MX8系列平台开发讲解 - 1.5 i.MX8M Linux 源码编译(yocto)

fsl-image-machine-test FSL 社区的核心镜像,支持控制台环境,没有GUI 界面。fsl-image-gui 一个支持 GUI 但没有 Qt5 的镜像。fsl-image-gui 一个支持 GUI 但没有 Qt5 的镜像。core-image-base 目标设备硬件的只支持控制台的镜像。core-image-minimal 仅支持设备启动的小镜像。fsl-image-qt5 一个开源 Qt 5 的镜像。fsl-image-qt5 一个开源 Qt 5 的镜像。

2024-02-22 20:00:00 397

原创 NXP i.MX8系列平台开发讲解 - 1.4 i.MX8M 固件烧写

烧写镜像:Linux 和 Android 镜像烧写平台官方开发版名称: i.MX 8M QUAD EVK。

2024-02-22 19:00:00 484

原创 NXP i.MX8系列平台开发讲解 - 1.3 i.MX8M 官方介绍

i.MX 8M系列应用处理器基于Arm® Cortex®-A53和Cortex-M4内核,具有先进的音频、语音和视频 处理功能,适用于从消费类家用音频到工业楼宇自动化及移动计算机等广泛应用。• 支持高品质视频,提供全4K UltraHD分辨率和HDR (Dolby Vision、HDR10和HLG)• 提供高水平的专业音频保真度,具有20多个音频通道,每个通道384KHz• DSD512音频功能• 适用于无风扇运行,散热系统成本低,电池使用寿命较长• 灵活的存储器选项。

2024-02-20 14:05:49 429

原创 NXP i.MX8系列平台开发讲解 - 1.2 i.MX8M 开发准备工作

笔者使用:Linux version 5.4.0-150-generic (buildd@bos03-amd64-012) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023。虚拟机,如果不知道安装在真机上使用,如果Ubuntu 直接安装在真机上就不需要虚拟机了;支持SSH,FTP,串口,VNC,X server等功能;电脑PC(这个不用多说了)

2024-02-20 14:01:23 363

原创 NXP i.MX8系列平台开发讲解 - 3.2 Linux 之LED子系统(二)

根据上一章节讲解LED子系统的使用相关步骤,这里说一说LED子系统的一些核心源代码文件,是如何实现LED子系统。这里重点关注内核部分的实现:LED设备的注册和注销实现都在该函数,这里看看里面的重要结构体从结构里面可以看到已经定义了LED设备的属性和操作函数,包括设备的名称,LED的亮度,max 等,设置与获取亮度函数;重要字段:name:设备名称,用于在/sys/class/leds/目录下创建设备子目录。brightness:表示LED设备的亮度,可以通过读写。

2024-02-19 18:04:42 1858

原创 NXP i.MX8系列平台开发讲解 - 3.1 Linux 之LED子系统(一)

Linux内核的LED子系统是一种重要的框架,用于管理和控制设备上的LED指示灯。在嵌入式系统和物联网设备中,LED子系统发挥着关键作用,为开发者提供了一种统一的方式来控制和定制LED的行为和效果。这些API可以在应用程序中调用,以实现对LED的控制和操作。内核空间:内核配置LED相关的GPIO,初始化,提供各种控制LED的接口,并且在Linux 系统需要通过设备节点形式呈现,可通过读写设备节点去控制。可以控制LED的亮灭,闪烁模式,可以灵活改变相关触发方式;修改触发方式,改为时间,可以实现使得灯亮多久。

2023-08-16 17:13:11 401

原创 NXP i.MX8系列平台开发讲解 - 4.1 Linux下i2c-tools使用

I2C-tools 是一组用于 Linux 系统的实用工具,用于与 I2C(Inter-Integrated Circuit)总线设备进行通信、调试和管理。

2023-07-21 14:04:40 116

Android11.0最新Framework解析

Android11.0 系统分析 Android11.0 启动分析 Android11.0 最新Framework解析 Android11.0 Binder通信原理

2022-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除