
linux
文章平均质量分 76
small_a_black
这个作者很懒,什么都没留下…
展开
-
__attribute__((weak))
__attribute__ weak__attribute__((weak))弱符号:attribute((weak))的作用举例动态库和静态库动态库静态库attribute((weak))弱符号:若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的...原创 2019-10-24 14:05:23 · 968 阅读 · 0 评论 -
mmc_pwrseq
driverpath:https://elixir.bootlin.com/linux/latest/source/drivers/mmc/core/相关的文件:pwrseq.c \ pwrseq_emmc.c \ pwrseq_simple.cflow:mmc_pwrseq 这个文档会在pwrseq_simple.c 或者 pwrseq_emmc.c 里面init pwrse...原创 2019-06-23 22:09:33 · 1753 阅读 · 1 评论 -
ERR_PTR,ERR_CAST,IS_ERR,PTR_ERR
最近在看一些kernel code,简单做一下总结。Code#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)static inline void * __must_check ERR_PTR(long error){ return (void *) e...原创 2019-06-21 10:27:53 · 873 阅读 · 0 评论 -
linux kernel 随机数
linux kernel 生成随机数Linux kernel 生成随机数随机数API:Linux kernel 生成随机数仅以此做一个学习记录。随机数随机数kernel 里面有提供一个专门的file:drivers/char/random.cAPI:/* * This function is the exported kernel interface. It returns ...原创 2019-06-03 11:47:42 · 2177 阅读 · 0 评论 -
Linux学习笔记之proc文件使用篇
proc 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的一些变量值,看下跑起来的效果就会有比较深的理解了。Maekfile为了使我们编写的小程序可以顺利执行,需要生成一个binary。这个时候就需要我们自己写一个简单的M...原创 2018-09-06 19:29:20 · 1310 阅读 · 0 评论 -
Linux学习笔记之sscanf
sscanf 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的一些变量值,看下跑起来的效果就会有比较深的理解了。Maekfile为了使我们编写的小程序可以顺利执行,需要生成一个binary。这个时候就需要我们自己写一个简单...原创 2018-09-06 11:40:17 · 650 阅读 · 0 评论 -
Linux学习笔记之print process
print process最近突然想在linux 打印process,就像Windows进度条。就查了查资料,才发现原来我们的printf 有这么厉害的功能。下面我们看下代码: 这里要注意的是, “fflush(stdout); “, 看到flush 和 sdout,大家就算不知道实现原理,应该也是可以猜到其中的含义了。代码功能总体是比较简单的,最好的学习方法就是,自己修改其中的...转载 2018-09-06 11:03:32 · 383 阅读 · 0 评论 -
linux学习笔记之container_of
container_of 是一个非常神奇的功能,也是在linux kernel 里面非常常见的一个功能,简单描述他的功能就是: 根据已知的struct member的地址,和已知到的struct define,获得该struct member 所在struct 的起始地址。 现在在看下container_of 的define,相信你有新的收获。 ...原创 2018-09-04 10:35:39 · 160 阅读 · 0 评论 -
dtb 反向编译生成dts
dtb 反向编译生成dts在linux 开发driver 的时候,需要check 生成的dtb 文件是否符合预期,这个时候如果可以将build 生成的dtb 文件做反编译生成对应的dts文件,对于我们check 问题,将是很有帮助的: ./dtc -I dtb -O dts *.dtb -o *.dts这就是反编译用到的命令。至于dtc 脚本的位置,可以到如下位置去找: ...原创 2018-09-04 10:23:30 · 7477 阅读 · 0 评论 -
Linux学习笔记之callback
callback function刚入职之时,小弟曾经受师兄指导写过一个回调,最近又回想到回调,思来想去,对回调的概念百思不得其解,困扰了好久。小弟愚钝,在查看了很多资料之后依然疑惑重重,犹如雾里看花终隔一层。如此两天,如骨在喉,实在是不吐不快。终于按奈不住心中躁动,拉起几位小伙伴深夜畅谈,终于拨开迷雾见明月。小弟谈谈自己的理解,希望对感兴趣的小伙帮能有所帮助;如果小弟有理解不妥的地方,更希望...原创 2018-08-29 14:57:32 · 1564 阅读 · 0 评论 -
linux 学习笔记之atomic
atomic_read防止读取的是寄存器的内容,而内存的值已经被其他线程改变 static inline int atomic_read(const atomic_t *v) { return ((volatile int )&(v)->counter); }...原创 2018-08-22 15:34:41 · 4549 阅读 · 0 评论