子午~
码龄2年
关注
提问 私信
  • 博客:14,545
    14,545
    总访问量
  • 13
    原创
  • 69,626
    排名
  • 190
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多的时间

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:吉林省
  • 毕业院校: 长春大学
  • 加入CSDN时间: 2023-01-10
博客简介:

2301_76226118的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    142
    当月
    2
个人成就
  • 获得292次点赞
  • 内容获得2次评论
  • 获得211次收藏
创作历程
  • 13篇
    2024年
成就勋章
兴趣领域 设置
  • 嵌入式
    单片机stm3251单片机proteusmcu物联网嵌入式硬件iot嵌入式实时数据库rtdbs
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

344人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Linux:LCD驱动开发

实际上上边这两种接口的实质是一样的,这两种接口都可以归入一个标准:MIPI标准MIPI表示“Mobile Industry Proc8080essor Interface”,即移动产业处理器接口,是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。主要是手机内部的接口(摄像头,显示器接口,射频/基带接口)等标准化,从而减少手机内部接口的复杂程度及增加设计的灵活性对于LCD,MIPI可以分为3类:既可以是Bus(总线),就是既能发送命令,常用的8080接口就是属于DBI接口。
原创
发布博客 2024.09.28 ·
1264 阅读 ·
12 点赞 ·
2 评论 ·
25 收藏

自旋锁,信号量,互斥量的实现

数据结构:根据前面的分析,我们可以基本推断出spin lock的实现。首先定义一个spinlock_t的数据类型,其本质上是一个整数型(对该数值的操作需要保证原子性),该数值表示spin lock是否可用。初始化的时候被设定为1.当thread想要持有锁的时候调用spin_lock函数,该函数将spin lock按个证书值减去1,然后进行判断如果等于0,表示可以获取spinlock,如果时负数,则说明其他thread的持有该锁,本thread需要spin。
原创
发布博客 2024.08.28 ·
1344 阅读 ·
40 点赞 ·
0 评论 ·
17 收藏

Linux:core dump文件到底是什么

core dump文件是指在程序崩溃或异常时,操作系统将程序的内存信息,寄存器状态,堆栈信息等保存到文件中以便进行调试和分析的文件。core dump文件通常包含了程序崩溃时的全部状态信息们可以帮助程序员快速定位程序崩溃的原因并进行修复。
原创
发布博客 2024.08.27 ·
1391 阅读 ·
27 点赞 ·
0 评论 ·
23 收藏

Linux:什么是信号

1.输入命令,在Shell下启动一个前台进程2.用户按下Ctrl-C,键盘输入产生一个硬件中断3.如果CPU当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,CPU从用户态切换到内核态处理硬件中断4.终端驱动程序将Ctrl-C解释成一个SINGINT信号,记得该进程的PCB中(也可以说发送了一个SIGINT信号给该进程)
原创
发布博客 2024.08.25 ·
1193 阅读 ·
18 点赞 ·
0 评论 ·
10 收藏

原子操作,自旋锁,信号量,互斥量

Linux内核提供了很多类型的锁,它们可以分为两类:1. 自旋锁 2.睡眠锁。
原创
发布博客 2024.08.22 ·
1121 阅读 ·
17 点赞 ·
0 评论 ·
30 收藏

同步与互斥(进程、线程)

同步:是指散步在不同任务之间的若干程序片段,它们的运行必须严格按照规定的某种先后 次序来运行,这种先后次序依赖于要完成的特定的任务,最基本的场景就是任务之间 的依赖,比如A任务的运行依赖于B任务产生的数据。
原创
发布博客 2024.08.22 ·
1041 阅读 ·
28 点赞 ·
0 评论 ·
13 收藏

AT&T汇编

2.对于双操作数指令:源操作数可以是寄存器操作数,内存操作数和立即数,目的操作数可 以是寄存器操作数和内存操作数。在AT&T中,寄存器前面要加上"%", 而在立即数前面需要加上"$", 在AT&T中,十六进制立即数前面需要加上"0x",段寄存器是存放段地址的,要将段地址送入,必须以通用寄存器为中间桥梁,即通过通用寄存器将数据传送到DS,SS,ES段寄存器中。内存操作数是指操作数存放在内存中,其操作是往内存中写数或从内存中取操作数,CPU与内存打交道是通过内存地址完成的。通用寄存器可以装操作数。
原创
发布博客 2024.08.16 ·
416 阅读 ·
13 点赞 ·
0 评论 ·
7 收藏

Linux内联汇编

指定编译器将函数的代码插入到调用者的代码中,直到实际调用的位置,这些函数是内联函数。与宏有一些相似之处,它的好处是可以减少函数调用的开销,如果任何实际参数是常量,则他们的已知值可能允许在编译时进行简化,因此不需要包含所有内联函数的代码内联汇编其实就是编写为内联函数的汇编程序,为什么使用它呢,因为它能够操作并使其输出在C变量的上可见,调用asm关键字,声明其为内联函数。
原创
发布博客 2024.08.14 ·
1351 阅读 ·
37 点赞 ·
0 评论 ·
22 收藏

Linux虚拟内存(页,页框,页表,MMU)

传统计算机虚拟内存技术寻址空间/寻址能力:对于程序计数器位32位的处理器来说,它的地址发生器所能发出的寻址数量为二的32次 = 4G ,于是这个处理器所能访问的最大内存空间就是4G。在计算机技术中,这个值就叫做处理器的寻址空间或寻址能力一般来说,为了充分利用处理器的寻址能力,就应该按照处理器的最大寻址来为其分配系统的内存,这样处理器发出的每一个地址就都会有一个正式的物理村塾单元与之对应,同时每一个物理存储单元都有唯一的地址与之对应。
原创
发布博客 2024.08.03 ·
991 阅读 ·
36 点赞 ·
0 评论 ·
11 收藏

Linux休眠与唤醒中环形缓冲区

在进行休眠与唤醒实验是由于每次按下按键g_key的值将会被覆盖,所以引入环形缓冲区来存放每次按下按键的数据。2.如果不为空,将此时的按键值赋为当前读索引为r的下标对应的环形缓冲区数组的数据。只要环形缓冲区数组不为空。就一直处于唤醒状态,然后一直遍历数组中的值,直到其为空。2.如果没有满,将此时的按键值写入到环形缓冲区数组中。在应用程调用read函数时,通过驱动函数。1.判断环形缓冲区数组是否满了。1.判断环形缓冲区数组是否为空。3.将写指针指向下一个位置。3.将读指针指向下一个位置。
原创
发布博客 2024.07.31 ·
489 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

DECLARE_WAITQUEUE函数解析

DECLARE_WAITQUEUE函数使用过程中遇到的各种困惑
原创
发布博客 2024.07.31 ·
911 阅读 ·
14 点赞 ·
0 评论 ·
8 收藏

Linux系统下x86和ARM的区别

1.x86架构下的平板,ipad,智能手机,这些平台上的程序都是移动环境下的应用,大多功能单一,没有什么计算可言。ARM处理器本身定位于嵌入式平台,应付与轻量级,目的单一的程序,现在应用于移动设备更是得心应手,x86定位于桌面和服务器,这些平台上横夺应用都是计算密集型的,所以将二者作比较是不合理的。
原创
发布博客 2024.07.21 ·
2452 阅读 ·
31 点赞 ·
0 评论 ·
27 收藏

韦东山Linux Study2(编译bootloader,内核,buildroot)

1.下载代码因为win11 使用Ubuntu18.04时WIFI一直检测不到驱动,升级内核版本也无济于事,所以改用Ubuntu22.04(在使用时也出现了大大小小的问题),特写此篇文章记录一下1.下载代码。
原创
发布博客 2024.07.21 ·
543 阅读 ·
12 点赞 ·
0 评论 ·
13 收藏