自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(236)
  • 收藏
  • 关注

原创 内存屏障-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 307

原创 内存屏障-知识搜集,Single Core CPU 是否需要内存屏障

这里不是系统性的内存屏障知识介绍,仅仅是个人的内存屏障知识学习笔记,作为备忘使用。

2025-12-10 09:56:26 141

原创 内存屏障-给出一个乱序执行的实际例子

我们跑一个小小的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 362

原创 CodeGeex + ProcessOn 绘制源码流程图

在激光雷达Lidar项目开发中要通过ASPice认证需要写源码星详细设计流程图,使用CodeGeex + ProcessOn这些AI辅助工具可以绘制 mermaid 流程图。

2025-12-05 11:15:16 391

原创 正点原子【第四期】Linux之驱动开发学习笔记-14.1 Platform平台设备驱动

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-12-04 09:00:41 288

原创 《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 137 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 287

原创 正点原子【第四期】Linux之驱动开发学习笔记-12.1 Linux 阻塞和非阻塞 IO 实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-11-11 22:35:15 524

原创 正点原子【第四期】Linux之驱动开发学习笔记-11.1 Linux 中断实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-11-05 23:00:25 285

原创 正点原子【第四期】Linux之驱动开发学习笔记-10.1 Linux 内核定时器实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。定时器是我们最常用到的功能,一般用来完成定时功能,本章我们就来学习一下 Linux内核提供的定时器 API函数,通过这些定时器 API函数我们可以完成很多要求定时的应用。Linux内核也提了。

2025-11-03 08:54:31 501

原创 正点原子【第四期】Linux之驱动开发学习笔记-9.1 Linux 按键输入实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。Linux是一个多任务操作系统,肯定会存在多个任务共同操作同一段内存或者设备的情况,多个任务甚至中断都能访问的资源叫做共享资源,就和共享单车一样。

2025-11-02 21:54:38 303

原创 正点原子【第四期】Linux之驱动开发学习笔记-8.1 Linux 并发与竞争

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-10-26 22:51:51 426

原创 正点原子【第四期】Linux之驱动开发学习笔记-7.1 Linux 蜂鸣器实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-10-25 22:46:22 295

原创 System V 共享内存和 POSIX 共享内存

本文描述System V 共享内存和 POSIX 共享内存的使用笔记,给出一个小例子。

2025-10-24 13:34:35 211

原创 C++一个简单的定时器

C++学习笔记。

2025-10-23 17:09:48 688

原创 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 457

原创 学习笔记-eventpp库

本文是自己的学习笔记,主要是作为备忘录使用,所以内容不够系统可能有很多问题。

2025-10-16 15:20:25 195

原创 Virtualbox Ubuntu22.02 异常关机后引导区损坏不能启动,使用boot-repair修复 (修复失败)

摘要:在Win11系统强制重启导致VirtualBox中的Ubuntu 22.04虚拟机启动失败,卡在GRUB引导界面,怀疑是.vdi磁盘引导分区损坏。解决方案是使用Ubuntu 22.04 ISO进入Live CD模式,通过boot-repair工具修复损坏的引导分区,具体操作可参考优快云和VirtualBox论坛的相关教程(引用链接已提供)。该方法适用于因异常关机导致的虚拟机引导分区损坏问题。

2025-10-13 09:56:20 420

原创 正点原子【第四期】Linux之驱动开发学习笔记-6.1 pinctrl和gpio子系统

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们编写了基于设备树的 LED驱动,但是驱动的本质还是没变,都是配置 LED灯所使用的 GPIO寄存器,驱动开发方式和裸机基本没啥区别。

2025-09-25 19:16:30 917

原创 正点原子【第四期】Linux之驱动开发学习笔记-5.1 设备树下的LED驱动实验

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们详细的讲解了设备树语法以及在驱动开发中常用的OF函数,本章我们就开始第一个基于设备树的 Linux驱动 实验。本章在第四十二章实验的基础上完成,只是将其驱动开发改为设备树形式而已。

2025-09-25 19:02:28 377

原创 ubuntu22.04 编译Linux内核出现 multiple definition of `yylloc

修复方法应该是修改uboot源码里的文件,uboot官方应该已经注意到这个问题并且给出了修复。原因是 Ubuntu22.04 提供的gcc编译链版本比较高,优快云上很多博客提出的解决方法是回退gcc编译链的版本到gcc-9,这样可以解决问题,但我不认为回退到gcc-9是一个好的解决方法。按照这个思路,找到了uboot官方对这个问题的修复补丁,u-boot官方社区给的解决方案是给 'scripts/dtc/dtc-lexer.l' 文件打上patch修复。

2025-09-24 09:33:39 362

原创 正点原子【第四期】Linux之驱动开发学习笔记-4.1 Linux 设备树(DTS)

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-08-26 08:59:56 445

原创 C++知识杂项搜集

C++使用如下库优化事件的注册和发布,

2025-08-25 17:24:11 134

原创 正点原子【第四期】Linux之驱动开发学习笔记-3.1 Linux新字符设备驱动程序(新驱动框架)

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-08-23 22:11:38 224

原创 正点原子【第四期】Linux之驱动开发学习笔记-2.1LED灯驱动实验(直接操作寄存器)

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章我们详细的讲解了字符设备驱动开发步骤,并且用一个虚拟的 chrdevbase 设备为例带领大家完成了第一个字符设备驱动的开发。本章我们就开始编写第一个真正的 Linux 字符设备驱动。

2025-08-22 23:04:07 1041

原创 正点原子【第四期】Linux之驱动开发学习笔记-1.1 Linux驱动开发与裸机开发的区别

本文是根据哔哩哔哩网站上“正点原子【第四期】手把手教你学Linux系列课程之 Linux驱动开发篇”视频的学习笔记,该课程配套开发板为正点原子alpha/mini Linux开发板。在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-08-16 22:22:25 517

原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-14.1 Linux之系统移植和根文件系统构建篇

本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-07-06 21:33:16 443

原创 正点原子[第三期]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 333

原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介

本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。看完 Linux 内核的顶层 Makefile 以后再来看 Linux 内核的大致启动流程, Linux 内核的启动流程要比 uboot 复杂的多,涉及到的内容也更多,因此本章我们就大致的了解一下 Linux 内核的启动流程。

2025-06-08 23:27:00 829

原创 学习资料搜集-ARMv8 cache 操作

【ARM64】【cache/MMU】学习总结_arm64 mmu-优快云博客[mmu/cache]-ARMV8的cache的维护指令介绍_data cache set allocation-优快云博客https://download.youkuaiyun.com/blog/column/12036969/139483584验证码_哔哩哔哩【ARM Cache 与 MMU 系列文章 2 -- Cache Coherence及内存顺序模学习】_内存访问coherency-优快云博客https://compass.su

2025-06-03 17:26:10 385

原创 python创建args命令行分析

这段代码是一个使用 Python 的 argparse 模块创建命令行界面的示例。它定义了一系列的命令行参数和子命令,通常用于构建和管理软件项目或版本控制系统中的操作。1初始化 ArgumentParser。添加一个名为 build 的子命令。定义 build 子命令。

2025-05-31 13:52:51 201

原创 交叉编译工具链冲突

不要 'sudo apt install ' 安装的交叉编译工具链和 $PATH 引用的交叉编译工具链同时存在。

2025-05-27 13:09:19 433

原创 网口XDP-报文回环转发

和Chatgpt讨论下该问题,如下是Chatgpt-mini4.1的输出

2025-05-26 11:04:31 316

原创 杂项知识搜集-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 453

原创 克隆 clone linux kernel 代码仓库

从官方源获取Linux内核源码,包括通过网页浏览不同版本的源码,以及使用git命令克隆代码仓库。还介绍了如何进行代码更新及分支切换。

2025-05-21 16:39:32 504

原创 杂项学习资料搜集-ARM64 Cache

0.引用:【ARM64】【cache/MMU】学习总结_arm64 mmu-优快云博客

2025-05-21 13:25:14 260

原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-9 Linux内核编译与体验

本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-05-21 09:10:15 541

原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-8.1Uboot移植实验-U-Boot图形化配置及其原理

本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。上一章节我们详细的分析了 uboot 的启动流程,对 uboot 有了一个初步的了解。前两章我们都是使用的正点原子提供的 uboot,本章我们就来学习如何将 NXP 官方的 uboot 移植到正点原子的 I.MX6ULL 开发板上,学习如何在 uboot 中添加我们自己的板子。

2025-05-19 19:16:46 379

原创 Makefile调试--输出当前Makefile变量的值

在调试Makefile里,看到Makefile 中可以使用 $(error xxx) 输出错误信息并报错,突然意识到可以使用Makefile的 $(info xxx)语法来输出Makefile中的当前变量的值。在调试Makefile文件的时候,常常有一个需求是输出Makefile 变量的值,以个方法在Makefile里添加假目标,然后在假目标中使用 "echo $(XXX)" 输出变量的值。这样调试Makefile就比较方便,并且灵活性比较高。Makefile调试输出当前变量的值。

2025-05-07 16:19:38 384

原创 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-7.1Uboot移植实验-NXP官方开发板uboot编译与测试

本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

2025-05-07 08:32:31 426

空空如也

空空如也

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

TA关注的人

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