- 博客(240)
- 收藏
- 关注
原创 正点原子【第四期】Linux之驱动开发学习笔记-15 设备树下的 platform 驱动编写
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2026-06-06 10:29:19
244
原创 宋宝华:原理和实战解析Linux中如何正确地使用内存屏障
这篇「原理和实战解析Linux中如何正确地使用内存屏障」的博文,非常清晰地整理了宋宝华老师在2022年同名直播中的核心内容与案例。讲的非常棒,但是传播不广,这里特意列出来。视频直播在哔哩哔哩网站有录播。
2026-05-07 16:38:56
69
原创 《深入Linux设备驱动程序内核机制》别再读LDD 真正适合初学者的Linux驱动书
2015年,我作为一个满怀热情的Linux驱动初学者,听信了各路大神的推荐,买了那本被誉为"驱动开发圣经"的《Linux设备驱动程序》(LDD,第三版)。然后,噩梦开始了。我反复尝试了6-7次,每次都强迫自己读下去,每次都读到怀疑人生——"是不是我智商有问题?""是不是我不适合搞内核?直到2022年,我偶然发现了一本冷门到几乎没人提的书——《深入Linux设备驱动程序内核机制》(陈学松著,电子工业出版社,2012年)。读完这本书,我才恍然大悟:不是我有问题,是LDD有问题!今天,我要把这个真相说出来。
2026-05-06 17:23:46
384
原创 Win10系统SourceInsight4.0 卡死问题解决
经过测试有效的方法是,安装win10系统安装搜狗拼音输入法,安装搜狗拼音输入法之后,在SourceInsight4.0 切换到搜狗拼音输入法,sourceInsight4.0就不会频发卡死了。网上多篇博客和知乎文章都提到 Win10 系统 SourceInsight4.0 崩溃,频繁卡死,原因和 Win10 系统自带的微软拼音输入法有关。Win10 系统SourceInsight4.0 崩溃/卡死问题,安装搜狗输入法,并在SourceInsight4.0 里切换到搜狗输入法可以解决。
2026-04-23 14:00:33
62
原创 内存屏障-Volatile ,示例程序
ps -au' 找到 './test' 的进程号,使用 'sudo gdb -p xxx' 让 GDB attach 到 './test' 进程。当前这个程序的问题是,因为编译器在编译线程B时可能会把 Flag 变量优化到寄存器里,而不是每次从内存中读取Flag的值,这样线程A对Flag值的修改在线程B中不可见。x)' 死循环,使用 top 命令,和 gdb 看下 './test' 程序可以验证这一点。执行编译生成的 './test' 程序,发现'./test'执行输出5行打印之后,就不再输入打印信息。
2025-12-11 11:06:23
383
原创 内存屏障-知识搜集,Single Core CPU 是否需要内存屏障
这里不是系统性的内存屏障知识介绍,仅仅是个人的内存屏障知识学习笔记,作为备忘使用。
2025-12-10 09:56:26
218
原创 内存屏障-给出一个乱序执行的实际例子
我们跑一个小小的demo看一看int X,Y;int r1,r2;X=1;r1 = Y;Y=1;r2 = X;;X=0;Y=0;detected++;return 0;
2025-12-08 16:37:50
458
原创 CodeGeex + ProcessOn 绘制源码流程图
在激光雷达Lidar项目开发中要通过ASPice认证需要写源码星详细设计流程图,使用CodeGeex + ProcessOn这些AI辅助工具可以绘制 mermaid 流程图。
2025-12-05 11:15:16
506
原创 正点原子【第四期】Linux之驱动开发学习笔记-14.1 Platform平台设备驱动
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-12-04 09:00:41
389
原创 《C++ Primer Plus》模板类 Template 课本实验
这两个实验何在了一起,使用了类模板的非类型参数(表达式参数),并且使用递归模板定义了 ArrayTP<ArrayTP<int, 5>, 10> twodee,基于模板的迭代,twodee 是一个报了10个元素的数组,每个元素都是一个包含了5个int元素的数组。《C++ Primer Plus》 cpp 14.15 实验,正确的使用 'const char *' 作为类型参数来实例化模板类。《C++ Primer Plus》模板类 Template 课本实验,这里是抄写图书上的代码作为备忘测试。
2025-11-28 19:07:48
186
1
原创 一些技术博客搜集
https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/10x%E7%A8%8B%E5%BA%8F%E5%91%98%E5%B7%A5%E4%BD%9C%E6%B3%95
2025-11-27 15:44:20
326
原创 正点原子【第四期】Linux之驱动开发学习笔记-12.1 Linux 阻塞和非阻塞 IO 实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-11-11 22:35:15
577
原创 正点原子【第四期】Linux之驱动开发学习笔记-11.1 Linux 中断实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-11-05 23:00:25
357
原创 正点原子【第四期】Linux之驱动开发学习笔记-10.1 Linux 内核定时器实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。定时器是我们最常用到的功能,一般用来完成定时功能,本章我们就来学习一下 Linux内核提供的定时器 API函数,通过这些定时器 API函数我们可以完成很多要求定时的应用。Linux内核也提了。
2025-11-03 08:54:31
554
原创 正点原子【第四期】Linux之驱动开发学习笔记-9.1 Linux 按键输入实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。Linux是一个多任务操作系统,肯定会存在多个任务共同操作同一段内存或者设备的情况,多个任务甚至中断都能访问的资源叫做共享资源,就和共享单车一样。
2025-11-02 21:54:38
455
原创 正点原子【第四期】Linux之驱动开发学习笔记-8.1 Linux 并发与竞争
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-10-26 22:51:51
471
原创 正点原子【第四期】Linux之驱动开发学习笔记-7.1 Linux 蜂鸣器实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-10-25 22:46:22
347
原创 Ubuntu20.04 安装Xilinx Vitis/Vivado 桌面图标不显示问题
当前我们是用非root用户登录 Ubuntu 20.04 的所以看不到创建的桌面快捷方式。把 '/root/Desktop/' 目录下的 Xilinx Vitis/Vivado 快捷方式拷贝到 '/usr/share/applications' 目录下,这样普通用户就可以看到 Vitis/Vivado 快捷方式了。如下图Xilinux Vitis 2024.02 桌面快捷方式其实都已经创建出来了,但都在 ‘/root/Desktop’ 用户目录下,普通权限用户看不到。通过快捷方式打开 Vitis。
2025-10-16 20:30:26
719
原创 Virtualbox Ubuntu22.02 异常关机后引导区损坏不能启动,使用boot-repair修复 (修复失败)
摘要:在Win11系统强制重启导致VirtualBox中的Ubuntu 22.04虚拟机启动失败,卡在GRUB引导界面,怀疑是.vdi磁盘引导分区损坏。解决方案是使用Ubuntu 22.04 ISO进入Live CD模式,通过boot-repair工具修复损坏的引导分区,具体操作可参考CSDN和VirtualBox论坛的相关教程(引用链接已提供)。该方法适用于因异常关机导致的虚拟机引导分区损坏问题。
2025-10-13 09:56:20
524
原创 正点原子【第四期】Linux之驱动开发学习笔记-6.1 pinctrl和gpio子系统
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们编写了基于设备树的 LED驱动,但是驱动的本质还是没变,都是配置 LED灯所使用的 GPIO寄存器,驱动开发方式和裸机基本没啥区别。
2025-09-25 19:16:30
1176
原创 正点原子【第四期】Linux之驱动开发学习笔记-5.1 设备树下的LED驱动实验
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们详细的讲解了设备树语法以及在驱动开发中常用的OF函数,本章我们就开始第一个基于设备树的 Linux驱动 实验。本章在第四十二章实验的基础上完成,只是将其驱动开发改为设备树形式而已。
2025-09-25 19:02:28
419
原创 ubuntu22.04 编译Linux内核出现 multiple definition of `yylloc
修复方法应该是修改uboot源码里的文件,uboot官方应该已经注意到这个问题并且给出了修复。原因是 Ubuntu22.04 提供的gcc编译链版本比较高,CSDN上很多博客提出的解决方法是回退gcc编译链的版本到gcc-9,这样可以解决问题,但我不认为回退到gcc-9是一个好的解决方法。按照这个思路,找到了uboot官方对这个问题的修复补丁,u-boot官方社区给的解决方案是给 'scripts/dtc/dtc-lexer.l' 文件打上patch修复。
2025-09-24 09:33:39
615
1
原创 正点原子【第四期】Linux之驱动开发学习笔记-4.1 Linux 设备树(DTS)
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-08-26 08:59:56
534
原创 正点原子【第四期】Linux之驱动开发学习笔记-3.1 Linux新字符设备驱动程序(新驱动框架)
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-08-23 22:11:38
270
原创 正点原子【第四期】Linux之驱动开发学习笔记-2.1LED灯驱动实验(直接操作寄存器)
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们详细的讲解了字符设备驱动开发步骤,并且用一个虚拟的 chrdevbase 设备为例带领大家完成了第一个字符设备驱动的开发。本章我们就开始编写第一个真正的 Linux 字符设备驱动。
2025-08-22 23:04:07
1122
原创 正点原子【第四期】Linux之驱动开发学习笔记-1.1 Linux驱动开发与裸机开发的区别
本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-08-16 22:22:25
638
原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-14.1 Linux之系统移植和根文件系统构建篇
本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。
2025-07-06 21:33:16
636
原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-13.1 NXP官方Linux内核添加Alpha开发板
本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。看完 Linux 内核的顶层 Makefile 以后再来看 Linux 内核的大致启动流程, Linux 内核的启动流程要比 uboot 复杂的多,涉及到的内容也更多,因此本章我们就大致的了解一下 Linux 内核的启动流程。
2025-06-13 22:31:45
435
原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。看完 Linux 内核的顶层 Makefile 以后再来看 Linux 内核的大致启动流程, Linux 内核的启动流程要比 uboot 复杂的多,涉及到的内容也更多,因此本章我们就大致的了解一下 Linux 内核的启动流程。
2025-06-08 23:27:00
875
原创 学习资料搜集-ARMv8 cache 操作
【ARM64】【cache/MMU】学习总结_arm64 mmu-CSDN博客[mmu/cache]-ARMV8的cache的维护指令介绍_data cache set allocation-CSDN博客https://download.csdn.net/blog/column/12036969/139483584验证码_哔哩哔哩【ARM Cache 与 MMU 系列文章 2 -- Cache Coherence及内存顺序模学习】_内存访问coherency-CSDN博客https://compass.su
2025-06-03 17:26:10
422
原创 python创建args命令行分析
这段代码是一个使用 Python 的 argparse 模块创建命令行界面的示例。它定义了一系列的命令行参数和子命令,通常用于构建和管理软件项目或版本控制系统中的操作。1初始化 ArgumentParser。添加一个名为 build 的子命令。定义 build 子命令。
2025-05-31 13:52:51
234
原创 杂项知识搜集-uboot spl
1、SPL是,也就是第二阶段引导启动程序。2、SPL是一套小的boot代码,主要负责初始化外部的DRAM和flash,然后引导启动u-boot。3、SPL是在u-boot代码中,与u-boot共用一套代码,通过来区分。u-boot可以引导kernel,那么谁来引导u-boot呢?可以使用引导u-boot,也可以使用SPL引导u-boot。两者之间有啥差别呢?1、如果Rom code直接引导u-boot,那么Rom code。
2025-05-22 15:56:25
502
原创 克隆 clone linux kernel 代码仓库
从官方源获取Linux内核源码,包括通过网页浏览不同版本的源码,以及使用git命令克隆代码仓库。还介绍了如何进行代码更新及分支切换。
2025-05-21 16:39:32
739
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅