随笔分类 -  【a1本人原创】

摘要:为什么在spin lock保护的代码里面不允许有休眠的操作呢? 因为spin lock不是空实现的前提下(内核没关抢占,或者是SMP打开),spin lock中是关抢占的,如果一个进程A拿到锁,内核抢占暂时被关闭了,然后A休眠了,此时由调度算法切换到了进程B执行,进程B想要想要获得这个锁的时候发生了 阅读全文
posted @ 2017-09-30 14:05 Sky&Zhang 阅读(628) 评论(0) 推荐(0) 编辑
摘要:查找字符串数组中16进制数,并转换 阅读全文
posted @ 2017-08-22 13:44 Sky&Zhang 阅读(1662) 评论(0) 推荐(0) 编辑
摘要:大师指点后,所做的笔记,很感谢一起愿意研究技术的同事,以下不是本人原创,是他分析的成果#include #include struct lock_class_key { int ck; }; #define mutex_init() \ do { \ static ... 阅读全文
posted @ 2017-07-07 15:36 Sky&Zhang 阅读(592) 评论(0) 推荐(0) 编辑
摘要:张土汪 http://github.com/shawnfan Java{script}代码仔 42 人赞同 [1.19.2017] 更新: 2017年1月17日, 陪我征战多年的 2014 MackBookPro i7 3.xGHz 被一杯清水结束了生命,在这里深切缅怀悼念。这个Git Repo是小 阅读全文
posted @ 2017-03-10 09:22 Sky&Zhang 阅读(1855) 评论(0) 推荐(0) 编辑
摘要:设备树学习网址 DTS: http://blog.csdn.net/21cnbao/article/details/8457546 http://www.wowotech.net/device_model/why-dt.html IRQ_DOMIAN: http://www.wowotech.net 阅读全文
posted @ 2016-11-23 09:53 Sky&Zhang 阅读(405) 评论(0) 推荐(0) 编辑
摘要:dump_stack调用: void dump_stack(void){ dump_backtrace(NULL, NULL);} 继续看: static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk){ unsi 阅读全文
posted @ 2016-11-09 20:20 Sky&Zhang 阅读(1394) 评论(0) 推荐(0) 编辑
摘要:以下是本人的原创笔记,内容是参考网上的,有些是直接复制别人的。 The following is my original notes,my note content is a reference to the Internet, and some of the notes are directly 阅读全文
posted @ 2016-10-26 14:15 Sky&Zhang 阅读(3801) 评论(0) 推荐(0) 编辑
摘要:本人学习笔记,参考网上代码完成 makefile rng_app.c test.c xipai.c 阅读全文
posted @ 2016-10-10 15:12 Sky&Zhang 阅读(919) 评论(0) 推荐(0) 编辑
摘要:本人学习笔记,代码参考如下网址 参考http://www.cnblogs.com/dma1982/archive/2012/02/08/2342215.html 阅读全文
posted @ 2016-09-20 17:15 Sky&Zhang 阅读(6635) 评论(0) 推荐(0) 编辑
摘要:经高人也是我的好朋友的指点后,发现此文并不是缺页中断的例子,用户空间这样写实际上是栈溢出的例子,一个页为4k,一个栈为8M,栈撑爆了就会segment fault 缺页中断在用户空间产生的话,只需要fork进程即可,创建新的进程就会产生缺页中断,因为会建立新的页表。 test1.c test2.c 阅读全文
posted @ 2016-09-18 23:28 Sky&Zhang 阅读(1083) 评论(3) 推荐(0) 编辑
摘要:用户目录下的.profile, 你只需要在用户目录下,创建bin目录,在里面放入你想要执行的可执行文件,就可以在命令行下就可以使用了 .bashrc export TERM=xterm-256color export PATH=/usr/lib/ccache:/home/zhangbh/bin/:$ 阅读全文
posted @ 2016-09-18 14:22 Sky&Zhang 阅读(3074) 评论(0) 推荐(0) 编辑
摘要:下面我谈一谈编码规范的问题,是本人的一点经验总结 如有转载请注明出处 1. 接口书写,要稳定,健壮,函数内部失败后不会影响现场的原有环境。 这里的稳定是说需要进行压力测试,不会导致系统死机崩溃的问题,健壮是有各种容错机制,可恢复现场。 2. 多进程、多线程的调用,中断的调用,避免死锁,内存泄露。 3 阅读全文
posted @ 2016-09-18 13:54 Sky&Zhang 阅读(656) 评论(0) 推荐(0) 编辑
摘要:转自百度百科 电脑中有许许多多的半导体芯片,每个芯片都是在特定的时钟频率下进行工作的。时钟发生器提供给芯片的时钟信号是一个连续的脉冲信号,而脉冲就相当于芯片的脉搏,每一次脉冲到来,芯片内的晶体管就改变一次状态,让整个芯片完成一定任务。 电脑中的芯片绝大多数属于数字逻辑芯片,数字芯片中众多的晶体管全都 阅读全文
posted @ 2016-07-22 10:19 Sky&Zhang 阅读(2368) 评论(0) 推荐(0) 编辑
摘要:一些不错的内核文档网址 1. 轻松认识 Linux Kernel Linux kernel下载网址 官方: https://mirrors.edge.kernel.org/pub/linux/kernel/ 国内: https://mirror.bjtu.edu.cn/kernel/linux/ke 阅读全文
posted @ 2016-06-30 09:59 Sky&Zhang 阅读(5829) 评论(0) 推荐(0) 编辑
摘要:本文为本人学习笔记,如有转载请注明出处,谢谢 一、Bourne Shell 有如下四种变量: 二、位置变量 三、环境变量 ts.sh #!/bin/sh echo “PATH=$PATH” ./ts.sh HOME : /etc/passwd文件中列出的用户主目录 IFS: Internal Fie 阅读全文
posted @ 2016-06-08 13:54 Sky&Zhang 阅读(382) 评论(0) 推荐(0) 编辑
摘要:#include <linux/kernel.h>#include <linux/init.h>#include <linux/module.h>#include <linux/delay.h>#include <linux/interrupt.h> static void time_get(kti 阅读全文
posted @ 2016-04-13 15:41 Sky&Zhang 阅读(2335) 评论(0) 推荐(0) 编辑
摘要:以下为本人学习笔记,如有转载请注明出处,谢谢 1. service用法 oneshot DEFINE_MUTEX(buzzer_mutex); mutex_lock(&buzzer_mutex); mutex_unlock(&buzzer_mutex); static void WriteNumbe 阅读全文
posted @ 2016-03-15 14:12 Sky&Zhang 阅读(2278) 评论(0) 推荐(0) 编辑
摘要:Vim zR 全部展开 zM全部合并 vim 快捷键 shift + i (‘I’) 进行编辑 shift + 4 (‘$’) 跳到行尾 shift + v (‘V’) 选中行 shift + 0 (‘)’) 跳到行首 先ctrl + v 模块编辑 再s,或者shift + $, shift + i 阅读全文
posted @ 2016-03-07 15:41 Sky&Zhang 阅读(313) 评论(0) 推荐(0) 编辑
摘要:函数返回的是函数的地址 kallsyms_lookup_name() 阅读全文
posted @ 2016-02-15 22:52 Sky&Zhang 阅读(274) 评论(0) 推荐(0) 编辑
摘要:cpro放到环境变量里,并且加上可执行权限如果在本地添加,则需mkdir ~/bin mv cpro /home/zhangbh/bin/vi ~/.bashrcexport PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/ 阅读全文
posted @ 2016-02-11 00:59 Sky&Zhang 阅读(272) 评论(0) 推荐(0) 编辑