Linux内核设备驱动程序将DMA从设备插入用户空间内存
我想将数据从启用DMA的PCIe硬件设备尽快移入用户空间。问:如何将“直接I / O通过DMA传输和/或通过DMA传输结合到用户空间”通读LDD3,看来我需要执行几种不同类型的IO操作! dma_alloc_coherent给我可以传递给硬件设备的物理地址。但是将需要设置get_user_pages并copy_to_user在传输完成后执行类型调用。这似...
2024-01-10Linux0.11源码阅读笔记块设备驱动程序
内核代码统一使用缓冲块间接和块设备(如磁盘)交换数据,缓冲区数据通过块设备驱动程序和块设备交换数据。 块设备驱动程序块设备驱动程序负责实现对块设备数据的读写功能。内核代码统一使用缓冲块间接和块设备(如磁盘)交换数据,...
2024-01-10编写设备驱动程序时linux中__iomem的用途是什么?
我已经看到它__iomem用于存储的返回类型ioremap(),但是我已经u32在ARM体系结构中使用了它,并且效果很好。那么,这有什么不同__iomem呢?在什么情况下我应该使用它呢?回答:许多类型强制转换只会“工作得很好”。但是,这不是很严格。没有什么可以阻止您将a强制转换u32为a u32*并取消对其的引用,...
2024-01-10Linux网络设备驱动之参数设置和统计数据(八)[操作系统入门]
网络设备的驱动程序提供一些供系统对设备的参数进行设置 或 读取设备相关信息的方法。 当用户调用 ioctl() 函数,并指定 SIOCSIFHWADDR 命令时,意味着要设置这个设备的 MAC 地址。设置网络设备的 MAC 地址可用如下代码所示的模板: 1 /* 2 * 设置网络设备的 MAC 地址 3 */ 4 5 static int set_mac_add...
2024-01-10痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NORFlash双程序可交替启动设计
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT500/600上串行NOR Flash双程序可交替启动设计。 在上一篇文章 《i.MXRT1170上串行NOR Flash双程序可交替启动设计》 里,痞子衡详细介绍了 i.MXRT11xx 系列上的双程序启动设计,本质上其就是在双备份程序启动基础上增加了 ima...
2024-01-10Linux驱动之I2C总线设备以及驱动
[ 导读] 本文通过阅读内核代码,来梳理一下I2C子系统的整体视图。在开发I2C设备驱动程序时,往往缺乏对于系统整体的认识,导致没有一个清晰的思路。所以从高层级来分析一下I2C系统的设计思路,将有助于设计调试具体的驱动程序。I2C/SMBUS基础I2C是一种芯片间通讯总线技术,最早由Philips设计制定。...
2024-01-10痞子衡嵌入式:嵌入式里串口(UART)自动波特率识别程序设计与实现
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现。 串口(UART)是嵌入式里最基础最常用也最简单的一种通讯(数据传输)方式,可以说是工程师入门通讯领域的启蒙老师,同时串口打印也是嵌入式项目里非常经典的调试...
2024-01-10电动料理机使用视频教程(从入门到精通,让你成为料理达人)
电动料理机是现代厨房中必备的一款电器,它可以帮助我们轻松完成切碎、搅拌、打蛋等各种烹饪任务。但是,对于初学者来说,电动料理机的使用可能会有些困难。本文将为大家介绍一份详细的电动料理机使用视频教程,从入门到精通,让你成为料理达人。一、准备工作在使用电动料理机之前,我们需要做好一些准备工作。首先,要确保电动料理机的配件齐全,包括主机、打蛋器、搅拌器、切片器、切丝器等。其次,要按照说明书的要求安装...
2024-02-19痞子衡嵌入式:揭秘i.MXRT1170上串行NORFlash双程序可交替启动设计
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1170上串行NOR Flash双程序可交替启动设计。 在上一篇文章 《i.MXRT1060/1010上串行NOR Flash冗余程序启动设计》 里,痞子衡详细介绍了 i.MXRT10xx 上的冗余程序启动设计,本质上这就是个双备份程序启动, NOR Flash 里存两份一...
2024-01-10痞子衡嵌入式:揭秘i.MXRT1060,1010上串行NORFlash冗余程序启动设计
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1060,1010上串行NOR Flash冗余程序启动设计。 工业产品设计里经常会有冗余程序/备份程序设计的需求,因为在工业环境里要求设备能够持续稳定运行,不能轻易宕机,但现实环境中常常有各种意外发生,其中一个常见的...
2024-01-10痞子衡嵌入式:嵌入式里串口(UART)自动波特率识别程序设计与实现(轮询)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现。 本篇是 《串口(UART)自动波特率识别程序设计与实现(中断)》 的续集,上一篇我们利用 GPIO 模块自带的下降沿中断功能实现了 RXD 电平跳变捕捉与计时,今天我们再试...
2024-01-10痞子衡嵌入式:嵌入式里串口(UART)自动波特率识别程序设计与实现(中断)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现。 串口(UART)是嵌入式里最基础最常用也最简单的一种通讯(数据传输)方式,可以说是工程师入门通讯领域的启蒙老师,同时串口打印也是嵌入式项目里非常经典的调试...
2024-01-10痞子衡嵌入式:深扒IAR启动函数流程及其__low_level_init设计对函数重定向的影响
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是IAR启动函数流程及其__low_level_init设计对函数重定向的影响。 上一篇文章 《IAR下RT-Thread工程自定义函数段重定向失效分析》 里我们找出了影响 IAR 链接器处理自定义程序段重定向的原因,主要跟 __low_level_init() 函数有关,...
2024-01-10痞子衡嵌入式:从头开始认识i.MXRT启动头FDCB里的lookupTable
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT启动头FDCB里的lookupTable。 一个MCU内部通常有很多外设模块,这些外设模块是各MCU厂商做差异化产品的本质,也是各厂商核心竞争力所在(这里特指那些生产ARM Cortex-M内核MCU的厂商)。在做MCU开发时有时候并不需要了...
2024-01-10痞子衡嵌入式:恩智浦i.MXRTxxx系列MCU启动那些事(8)从Serial(1
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的1-bit SPI NOR恢复启动。 在前几篇里痞子衡介绍的Boot Device都属于主动启动的Master Boot Device(Serial(Multi-IO) NOR, SD/eMMC),试想一下如果遇到这样的情况,你选择启动的某个Master Boot Device正常工作一段时...
2024-01-10冬季实战营 动手实战-Linux文本处理入门深入解析动手实操 领鼠标 云小宝 背包 无影
云起实验室 冬季训练营(1.17-3.8)可补卡!!!五期冬季实战,从入门到进阶,以最佳实践帮助开发者,快速云上实践,云上学习。体验有礼,点击前往:https://developer.aliyun.com/adc/series/wintercamp冬季实战营第一期:从零到一上手玩转云服务器单期任务奖励:实战营技能证书+定制鼠标三期任务奖励:全网...
2024-01-10痞子衡嵌入式:MCUBootUtilityv3.5发布,支持串行NOR的ECC及双程序启动
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.4.0)发布过去半年了,这一次痞子衡为大家带来了版本升级 v3.5.0,这个版本主要有几个非常重要的更新需要跟大家特别说明一下。一、v3.5更新记录二、几个不可忽视的更新2.1 支持串行NOR双程序启动下载 部分 i.MXRT 型号 BootROM 支持串行 N...
2024-01-10添加到类型嵌入式链接地图嵌入式列表其他对象
我有一类用户的地址属性,这是一个嵌入式链接类型列表是嵌入式链接地图我已经输入更新@rid设置地址= {“ k1“:”v1“,”k2:“v2”}这个对象被放置得很好,每当我使用相同的查询,但用add替换set以将第二个对象放入同一个列表中时,它将抛出一个java.lang例外,每当我添加到地址直接访问顶点记录...
2024-01-10痞子衡嵌入式:快速定位i.MXRT600板级设计ISP[20]启动模式引脚上电时序问题的方法
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是一种快速定位i.MXRT600板级设计ISP[2-0]启动模式引脚上电时序问题的方法。 我们知道恩智浦i.MXRT600是主打音频市场的MCU产品,其也是i.MXRT三位数平台的第一款型号。这颗MCU已被众多知名国际大厂客户选用,在项目中作为协处...
2024-01-10痞子衡嵌入式:嵌入式从业者应知应会知识点索引
大家好,我是痞子衡,是正经搞技术的痞子。本系列痞子衡给大家介绍的是嵌入式从业者应知应会知识点。 嵌入式开发需要掌握的知识点非常多,不同的技术方向有不同的知识侧重点,本系列试图整理总结嵌入式开发(尤其是软件)中那些必须要会的知识点,试图给你呈现一幅嵌入式界的清...
2024-01-10痞子衡嵌入式:聊聊系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是系统看门狗WDOG1在i.MXRT1xxx系统启动中的应用及影响。 软件看门狗模块(WDOG)在 MCU 应用里可以说是非常基础的功能模块。对于一个产品级的应用程序,如果它没有使能主控内部的看门狗模块,一般都不能算是一个合格的...
2024-01-10痞子衡嵌入式:恩智浦i.MXRTxxx系列MCU启动那些事(7)从SD/eMMC启动
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRTxxx系列MCU的SD/eMMC卡启动。 关于 i.MXRT 启动设备,痞子衡之前写过很多篇文章,都是关于串并行 NOR/NAND Flash。相信对于 Flash 的原理和读写擦访问,玩 MCU 的朋友一定不会陌生,但是说到让 MCU 从 SD/eMMC 卡启动,估...
2024-01-10痞子衡嵌入式:以i.MXRT1xxx的GPIO模块为例谈谈中断处理函数(IRQHandler)的标准流程
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是以i.MXRT的GPIO模块为例谈谈中断处理函数(IRQHandler)的标准流程。 在痞子衡旧文 《串口(UART)自动波特率识别程序设计与实现(中断)》里,我们利用了 GPIO 模块内部集成的 I/O 边沿检测功能完成了 RXD 信号下降沿的捕捉,这里涉...
2024-01-10痞子衡嵌入式:恩智浦i.MXRT1xxx系列MCU外设那些事(2)善变的FlexRAM
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列MCU的FlexRAM外设。 本文是外设系列第二篇,上一篇讲的是离内核最近的高速缓存L1 Cache,今天咱们聊离内核第二近的静态内存SRAM。众所周知,i.MXRT系列内部没有非易失性存储器,但内部SRAM还是必备的,...
2024-01-10痞子衡嵌入式:飞思卡尔i.MXRTyyyy系列MCU外设那些事(2)善变的FlexRAM
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的FlexRAM外设。 本文是外设系列第二篇,上一篇讲的是离内核最近的高速缓存L1 Cache,今天咱们聊离内核第二近的静态内存SRAM。众所周知,i.MXRT系列内部没有非易失性存储器,但内部SRAM还是必备的...
2024-01-10