摘要: 源代码: 测试代码: 阅读全文
posted @ 2017-02-11 23:34 soul.stone 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 源代码: makefile: 测试代码: 阅读全文
posted @ 2017-02-09 23:17 soul.stone 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 源代码: makefile: 测试代码: 阅读全文
posted @ 2017-02-09 23:15 soul.stone 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 还是递归大法好。 阅读全文
posted @ 2017-02-09 23:09 soul.stone 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 1、DSB、ISB writel(data, addr); \ __asm__ __volatile__("DSB"); \ 2、cache flush flush_cache_all(); outer_flush_all(); 3、dma_map_single 阅读全文
posted @ 2017-02-07 19:25 soul.stone 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1、ioremap_nocache 阅读全文
posted @ 2017-02-07 19:14 soul.stone 阅读(177) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/tommy_wxie/article/details/8194276 1. 序曲 在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢? 阅读Lin 阅读全文
posted @ 2017-02-05 15:11 soul.stone 阅读(14448) 评论(1) 推荐(2) 编辑
摘要: http://blog.chinaunix.net/uid-17188120-id-4073497.html 1,启动inittab第一步:启动内核第二步:执行init (配置文件/etc/inittab)第三步:启动相应的脚本,执行inittab脚本,并且执行其他脚本/etc/init.d rc. 阅读全文
posted @ 2017-01-24 11:29 soul.stone 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 需求在《linux进程调度浅析》一文中提到,在SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加入到一个run_queue),以便让调度程序安排它在 阅读全文
posted @ 2016-12-10 22:28 soul.stone 阅读(3719) 评论(0) 推荐(1) 编辑
摘要: 1,为什么需要进程调度 首先,我们需要明确一点:进程调度是对TASK_RUNNING状态的进程进行调度(参见《linux进程状态浅析》)。如果进程不可执行(正在睡眠或其他),那么它跟进程调度没多大关系。所以,如果你的系统负载非常低,盼星星盼月亮才出现一个可执行状态的进程。那么进程调度也就不会太重要。 阅读全文
posted @ 2016-12-10 22:20 soul.stone 阅读(354) 评论(0) 推荐(0) 编辑