- 博客(3)
- 资源 (6)
- 收藏
- 关注
原创 rk3288 Linux锁的介绍
参考资料: https://www.kernel.org/doc/html/latest/locking/index.html https://mirrors.edge.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/ 锁的类型 Linux内核提供了很多类型的锁,它们可以分为两类 自旋锁(Spinning locks) 睡眠锁(Sleeping locks) 自旋锁 简单地说就是无法获得锁时,不会休眠,会一直循环等待,有这些自旋锁:
2021-05-30 21:17:44 410
原创 rk3288 原子操作和原子位操作
一、原子变量内核操作函数 Linux中有2中原子操作: 原子变量、原子位。 原子变量的内核操作函数 原子变量的操作函数在arch/arm/include/asm/atomic.h中 原子变量类型如下,实际上就是个结构体include/linux/types.h typedef struct { int counter; } atomic_t 原子操作函数,如下: 函数名 作用 atomic_read(v) 读出原子变量的值,即v->counter atomic_set(v, i
2021-05-23 19:08:18 454
原创 rk3288 内联汇编
一、内联汇编 在c语言中可以直接调用内联汇编,提高代码的运行效率,或者有时需要调用特殊的汇编指令。(比如ldrex/strex实现互斥访问),比如一些平台的特定指令在c中没有对应的操作等等,这些都需要内联汇编。 参考文章: ① GNU C扩展汇编 ② ARM GCC 内嵌(inline)汇编手册 ③ C内联汇编 c语言实现的加法: int add(int a, int b) { return a+b; } 反汇编后, 00010404 <add>: 10404: b480
2021-05-16 19:28:05 251
template_FWLib.zip
2020-07-26
STM32F4xx_DSP_StdPeriph_Lib_V1.4.0.zip
2020-07-26
正则表达式判断sda1和sda
2022-08-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人