会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
流水灯
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
18
19
20
21
22
23
24
25
26
···
107
下一页
2024年3月2日
USB 2.0
摘要: 速度分类 低速:1.5Mb/s(USB 1.0 Low Speed) 全速:12Mb/s(USB 1.0 Full Speed、USB 1.1(即USB 1.0 Full Speed)、USB 2.0 Full Speed(兼容USB 1.1)) 高速:480Mb/s(USB 2.0 Hi Spee
阅读全文
posted @ 2024-03-02 16:42 流水灯
阅读(634)
评论(0)
推荐(0)
2024年1月20日
dma 和 cache的一致性
摘要: CPU写内存的时候有两种方式: 1. write through: CPU同时写内存和写cache。2. write back: CPU只写到cache中。cache的硬件使用LRU算法将cache里面的内容替换到内存。通常是这种方式。 我们假设MEM里面有一块红色的区域,并且CPU读过它,于是红色
阅读全文
posted @ 2024-01-20 20:25 流水灯
阅读(1841)
评论(1)
推荐(1)
2024年1月14日
linux 内核和应用层之间的通信方式
摘要: 系统调用 应用与内核通信的方式中,最常用的就是系统调用。如常见的open、write、read、ioctl等系统调用。当系统调用时,触发一个软中断,处理器进入内核模式。参数传递到内核空间,完成通信过程。内核完成服务之后,将数据返回给应用,并设置处理器为用户模式。 copy_to_user() / c
阅读全文
posted @ 2024-01-14 17:44 流水灯
阅读(426)
评论(0)
推荐(0)
linux 驱动 --- unlocked_ioctl 与 compat_ioctl
摘要: 1、compat_ioctl:支持64bit的driver必须要实现的ioctl,当有32bit的userspace application call 64bit kernel的IOCTL的时候,这个callback会被调用到。如果没有实现compat_ioctl,那么32位的用户程序在64位的ke
阅读全文
posted @ 2024-01-14 16:53 流水灯
阅读(621)
评论(0)
推荐(0)
动态链接原理 --- PLT/GOT
摘要: 如果调用者使用了共享库的符号,则调用者的数据段会有一个GOT,用于记录共享库符号的地址;如果共享库A作为调用者使用了共享库B的符号,则共享库A的数据段也会有一个GOT。由于编译的时候不能知道共享库的符号地址,所以调用者通过GOT获取共享库的符号地址,运行时链接只需要修改位于数据段的GOT的内容,不需
阅读全文
posted @ 2024-01-14 00:03 流水灯
阅读(667)
评论(0)
推荐(1)
2024年1月13日
C++ --- 智能指针
摘要: 智能指针存在的意义 智能指针主要解决以下问题: (1)内存泄漏:内存手动释放,使用智能指针可以自动释放。 (2)共享所有权指针的传播和释放,比如多线程使用同一个对象时析构问题。 智能指针的实现依赖于C++语言的RAII(资源获取即初始化)技术,即资源的获取和释放应该与对象的构造和析构分别相关联。这意
阅读全文
posted @ 2024-01-13 17:51 流水灯
阅读(2183)
评论(0)
推荐(0)
2023年12月27日
C++ --- 函数模板
摘要: 函数模板 C++的一种编程思想称为泛型编程,主要利用的技术就是模板。编写与类型无关的调用代码,是代码复用的一种手段。 模板是泛型编程的基础。C++提供两种模板机制:函数模板和类模板。 函数模板:建立一个通用的函数,它用到的参数类型可以不确定,用一个虚拟类型替代。等到函数调用的时候,根据具体传递的参数
阅读全文
posted @ 2023-12-27 23:34 流水灯
阅读(82)
评论(0)
推荐(0)
2023年12月25日
C++ --- 类模板
摘要: 类模板 所谓类模板,实际是建立一个通用类,其数据成员,成员函数的返回类型和形参类型不具体指定,用一个虚拟的类型来代表。使用类模板定义对象时,系统会根据实参的类型来取代类模板中虚拟类型从而实现了不同类的功能
阅读全文
posted @ 2023-12-25 11:44 流水灯
阅读(19)
评论(0)
推荐(0)
2023年12月23日
RT-Thread 中 HardFault_Handler 分析
摘要: 进 HardFault_Handler 前,CPU自动把 r0~r3, r12, lr, pc, psr 一个8个寄存器入栈,再把 lr 值改为 EXC_RETURN 代码解析: 220:把MSP值赋值给r0 221:TST指令 : 执行按位与操作,直接结果更新到状态寄存标志位Z,这个指令通常与EQ
阅读全文
posted @ 2023-12-23 22:52 流水灯
阅读(491)
评论(0)
推荐(0)
C语言实现面向对象的方法详解
摘要: 结构体替代类 使用结构体来封装变量和函数,即可实现类似对象的功能。其中,结构体包含变量和函数指针,变量用于存储成员变量的值,函数指针用于实现成员函数的功能。而每个对象的变量是独立的,因此可以使用这种方法实现类似对象的功能。 下面是一个例子,以封装一个“人”的结构体为例: typedef struct
阅读全文
posted @ 2023-12-23 20:23 流水灯
阅读(578)
评论(0)
推荐(0)
上一页
1
···
18
19
20
21
22
23
24
25
26
···
107
下一页
公告