
linux内核
文章平均质量分 82
yaxinsn
Linux系统开发与驱动开发,windows系统以及驱动开发
展开
-
关于asmlinkage
关于asmlinkage 声明,仅为了便于自己记忆和查询,非原创,摘自:http://blog.youkuaiyun.com/skywalkzf/archive/2009/12/24/5068966.aspx 什么是 "asmlinkage"?相信大家在看linux的source code的时候,都会注意到asmlinkage这个宏,它是用来做什么的呢?The asmlinka...转载 2018-08-10 15:35:18 · 731 阅读 · 0 评论 -
嵌入式系统linux 记录内存panic
简介在内存发生panic时,需要把panic的日志保存下来。以方便日后进行分析。目前有三种记录的方式: kdump; mtdoops; crashlog(这是openwrt特别的功能,正式linux内核中没有)大家对kdump比较了解。它主要使用于x86系统。因为它使用占用大量内存和硬盘。mtdoops和crashlog主要用于嵌入式的环境。也只是记录文本日志。mtdo原创 2017-04-19 15:17:51 · 5760 阅读 · 0 评论 -
linux与应用层通信方式 之nf_sock_opt
//内核部分代码。大家可以COPY ipt_sockopts//#include #include #include #include #include "hello_sock_opt.h"#include #include #include #include #include #include #include #include #include #include原创 2018-01-19 15:07:32 · 666 阅读 · 0 评论 -
修改高通IPQ4019/4018的flash的分区
修改IPQ4019/4018的MTD分区简介高通的IPQ4018的SoC使用了ARM的CPU,并使用了高通的QSDK.在开发中发现很难在它的架构中去修改MTD分区信息。今天就提供一种可以修改MTD分区的方式。 MTD分区信息是如何从Uboot传到linux的,有几种方式?换一种问法 uboot如何把参数传入linux呢?cmdline和FTD(设备树)先讲一下简单的cmdlineUboot以boo...原创 2018-01-05 15:40:38 · 9492 阅读 · 0 评论 -
为linux内核子目录里的makefile增加-g
在相应的子目录里的Makefile里增加一句。EXTRA_CFLAGS +=-g此这个目录里的.o文件会带有debug。原创 2017-08-21 17:29:24 · 3541 阅读 · 0 评论 -
在新linux中使用proc_create_data编写proc
主要讲使用proc_create_data如何传递私有数据。其中可以参考/fs/proc/uptime.c以下是我在工作中,针对一个phy驱动写的一个procconst char *___dev_name(const struct device *dev){ /* Use the init name until the kobject becomes avail原创 2016-07-19 15:03:04 · 15487 阅读 · 1 评论 -
openwrt编译qca驱动不成功。gcc -isystem问题。
在最新openwrt里移植qca驱动发现,编译不成功,错误如正下:GNU C (OpenWrt/Linaro GCC 4.8-2014.04 unknown) version 4.8.3 (mips-openwrt-linux-uclibc) compiled by GNU C version 4.4.7 20120313 (Red Hat 4.4.7-16), GMP v原创 2016-01-09 16:10:58 · 8265 阅读 · 4 评论 -
linux内核的调度机制
linux内核的调度机制抢占式内核与非抢占式内核linux抢占式内核与实时系统的关系一个好的系统的进程调度机制,要兼顾三种不同的应用的需求:1交互式应用。这种应用,着重于系统的响应速度,当系统中有大量的进程共存时(多用户),要保证每个用户都有可以接受的响应速度,而不感到明显的延迟。当延迟超过150毫秒时,使用者会明显地感觉到。2.批处理应用。批处理的应用往往都是“后台作业”转载 2011-08-23 18:09:34 · 5050 阅读 · 2 评论 -
信号灯与自旋锁对比。
sem就是一个睡眠锁.如果有一个任务试图获得一个已被持有的信号量时,信号量会将其推入等待队列,然后让其睡眠。这时处理器获得自由去执行其它代码。当持有信号量的进程将信号量释放后,在等待队列中的一个任务将被唤醒,从而便可以获得这个信号量。信号量一般在用进程上下文中.它是为了防止多进程原创 2011-09-08 11:31:06 · 1402 阅读 · 0 评论 -
中断的处理过程
中断可以为外部中断,异常,陷阱。在这里主要谈外部中断的处理过程,其中异常,陷阱的处理过程比较简单(相比外部中断,没有中断控制器,没有中断的注册,管理简单)。中断号(irq号):在实地址模式时,irq号就是中断向量号。i386最多有256个中断,其中0-31由是异常、陷阱等,由系统使用,32-255为外部分硬件使用。中断向量表:在实地址模式下,在内存的0处开始保存中断服务程序的入口地址,入口原创 2011-06-23 14:21:00 · 1969 阅读 · 0 评论 -
疑问:进程启动时如何加载动态库。
A程序与B程序都需要同一个动态库libc.so那A程序已经运行了,并加载了libc.so到内存,那么此时启动B程序,还需要加载动态库libc.so嘛?还是说B程序直接调用A程序已经加载了个libc.so呢?https://blog.youkuaiyun.com/YEYUANGEN/article/details/37657937...原创 2018-08-10 16:54:53 · 1186 阅读 · 0 评论