
kernel
星辉斑斓
---------
展开
-
zz编译内核
本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程 很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看 OREILLY 写的《LINUX 设备驱动程序》时。作者一再强调在编写驱动程序时必须 建立内核树。所谓内核树,我的理解和网上资料说的转载 2008-07-30 23:56:00 · 483 阅读 · 0 评论 -
【转】跟我一起写udev规则(译)
目录 介绍 关于本文档 更新历史概念 术语: devfs, sysfs, nodes, etc. 为什么? 内置固定命名设计编写规则 规则文件和语义 规则语法 基本规则 sysfs匹配属性 设备级联结构 字符串替换 字符串匹配从sys转载 2012-03-31 22:10:32 · 958 阅读 · 0 评论 -
打开dev_dbg()调试信息
以dm9000为例: 在dm9000.c的最开始 使用#define DEBUG 1 来打开调试开关 修改文件kernel/printk.c文件#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */改为#define DEFAULT_CONSOLE_LOGLEVEL 8原创 2011-02-04 17:35:00 · 6646 阅读 · 1 评论 -
FATAL EXCEPTION IN SYSTEM PROCESS: AlarmManager
这个问题出现的原因是没有rtc驱动。在kernel中device driver-> real time clockandroid alarm driverandroid alarm devices3c soc rtc原创 2011-04-19 23:14:00 · 4337 阅读 · 1 评论 -
Linux Kernel(8)- Notification
写的不错,可惜网站被墙。http://nano-chicken.blogspot.com/2010/01/linux-modules8-notification.htmlKernel提供一個notifiers/notifier chains的機制,這是publish-and-subscribe的機制,也就是需要的人自己去訂閱(join到某個notifier chain中),當這個c转载 2012-04-10 17:39:45 · 637 阅读 · 0 评论 -
device print in kernel
http://r40eubuntu.blogspot.com/2010/11/kernel-driver-dbg.htmlkernel, driver 有一堆 DBG( ...)。 實際上是:#define DRIVER_NAME "mydriver"#define DBG(f, x...) \pr_debug(DRIVER_NAME " [%s()]: " f, __fu转载 2012-04-09 13:28:47 · 2412 阅读 · 0 评论 -
tiny210 kernel porting
NFS启动卡住Sending DHCP and RARP requests .....networking -》networking options -》IP:Kernel level autoconfiguration 选上#U9JM0\R(Rl9n5wfilesystem->network filesystem -> NFS client support Ro原创 2012-06-16 20:58:10 · 1282 阅读 · 0 评论 -
S3C6410 休眠与唤醒
最近天热,所以用6410接上以前做的红外遥控器来定时控制空调。但友善并未实现6410的休眠,发热很大(200多mA)。所以我自己搞定了休眠,但电流只是降到100mA,不过这样已经不发热了,后续有时间在优化吧。1:smdk6410_machine_init中加入s3c_pm_init()2:plat/samsung/pm.c 中unsigned long s3c_irqwak原创 2012-09-02 11:30:09 · 1444 阅读 · 2 评论 -
做出自己的back trace function
http://blog.roodo.com/_jacob_/archives/3099179.html相信有在用arm linux的, 應該對kernel panic不陌生吧~~ 在你對kernel做了一些無法挽救的錯事後, kernel叫了一聲"Oops~~",然後就死在路邊~~ 不過幸運的事, 通常kernel會在死之前留下一些"線索", 好讓你跟隨這些線索找出些端倪...转载 2013-03-19 12:42:17 · 948 阅读 · 0 评论 -
LINUX内核调试相关--oops信息的定位
http://blog.youkuaiyun.com/pulpdog/article/details/6087857第一篇 :定位Oops的具体代码行 作者: albcamus (百無一用書生) (来自Linus Torvalds的讨论:[url]https://groups.google.com/group/linux.kernel/browse_thread/thread/b70b转载 2013-03-19 09:35:21 · 1227 阅读 · 0 评论 -
一个oops问题的调试
参考文档kernel document里oops-trace.txtLDD 第四章 打印信息中会告诉你死在哪个函数然后去查找pc 寄存器指针位置(即下面的EIP)Unable to handle kernel NULL pointer dereference at virtual address 00000000printing eip:d083a064Oops原创 2011-04-27 23:39:00 · 1243 阅读 · 0 评论 -
函数ERR_PTR,PTR_ERR还有IS_ERR理解
http://hi.baidu.com/coffeelinux/blog/item/a7e6911a9c5c34d2ac6e75cd.html2008-11-20 16:53 许多的内核函数需要返回一个指针,但是函数的调用可能失败,一般我们处理这样的情形都是返回一个NULL指针,就像malloc或kmalloc在没有获得指定的空间申请时的返回值一样。但是有时我们想知道导致转载 2012-03-30 13:55:12 · 565 阅读 · 0 评论 -
关于s3c6410 spi的调试
大部分参考我前面转的文章即可,这里主要说一些那篇文章没有提到的。1:cs的上拉。 通过检查6410的寄存器发现,cs脚是没有配置上拉的,这个需要在自己的设备驱动中配一下。 我是直接扔在的probe函数里2:我所用的设备nrf24l 读写寄存器需要在一个操作中完成,就是写原创 2011-08-29 22:19:04 · 991 阅读 · 0 评论 -
linux 2.6.36+s3c6410 SPI子系统接口讨论
http://www.arm9home.net/read.php?tid=10788下图是安装成功后,sys目录下的主要结构,由于目录非常复杂仅仅列出了主要的结构 sys目录下spi子系统结构 接下来将从各struct开始进行分析,struct是构成内核对象的基础,函数是动态的构转载 2011-07-23 14:21:28 · 3649 阅读 · 0 评论 -
LED驱动相关的东西
(2) 注册设备的时候,有两种方式:一种是使用register_chrdev(LED_MAJOR,DEVICE_NAME,&dev_fops),LED_MAJOR为定义的主设备号,DEVICE_NAME为定义的设备名称,dev_fops为定义的文件操作结构体。使用该函数向系统注册字符型设备驱动程序,主设备号LED_MAJOR自己定义,如该值为0则系统自动分配主设备号;另一种是使用转载 2010-03-22 22:38:00 · 609 阅读 · 0 评论 -
lcd driver
嵌入式linux中的lcd驱动分析 作者:杰洲村的木棉 学校:广东工业大学 QQ:568109894 源文来自http://luwenchao100.blog.hexun.com/23060194_d.html 在嵌入式linux中,lcd和触摸屏驱动都是字符驱动,采用“文件层-驱动层”的接口方式,本文档中分析的lcd驱动是针对l原创 2010-03-23 21:38:00 · 1778 阅读 · 0 评论 -
内核移植 nand flash
修改/arch/arm/plat-s3c24xx/common-smdk.cstatic struct mtd_partition smdk_default_nand_part[] = { { /* 1MB */ name: "bootloader", size: 0x00060000, offset原创 2010-03-28 17:13:00 · 528 阅读 · 0 评论 -
内核移植- unrecognized/unsupported machine ID
如果内核不是uImage,用的zImage,则下载后,比如下在0x30008000,则通过go 0x30008000,但注意这样uboot没有传参数给内核.所以会有Error: unrecognized/unsupported machine ID (r1 = 0x33f4fca8).这样的错误. 可以在u-boot命令行中输入bdinfo查看板卡信息,我的输出如下:原创 2010-03-28 11:34:00 · 1492 阅读 · 0 评论 -
zz DM9000移植到S3C2410 +linux2.6 一例
http://www.cnblogs.com/papam/articles/1545293.html 在前面移植好内核和文件系统之后,开始考虑网卡的通信了。网上好多关于DM9000驱动的例子,大同小异,但是一律照搬都是不行,最多的只能发现设备,到最后还是ping不通,花费九牛二虎之力,终于还是弄好了。看到ping通其他主机,真是舒了一口气。 首先,移植驱动要做的这么几个事情转载 2010-04-11 09:37:00 · 694 阅读 · 0 评论 -
zz S3C2440 LED驱动程序学习
zz http://blog.ednchina.com/fafen/244873/Message.aspx#今天,在友善之笔的LED驱动程序基础上学习了LED驱动程序的简单设计,/*led_driver.c*/#include #include #include #include #include #include #include #include #include #include #include #include转载 2010-10-31 17:43:00 · 935 阅读 · 0 评论 -
mini6410 kernel 移植
nfs无法挂载,后来发现时网卡驱动没加载。mach-smdk6410.c中1:首先是网卡的io映射不对 smdk6410_iodesc里没有添加2:然后platform_add_devices中如果出错就会把所有设备unregistered,所以要去掉出错的设备。目前是卡在Freeing init memory: 132K这里,明天再查代码。原创 2011-02-05 00:14:00 · 1230 阅读 · 2 评论 -
HOWTO: Cross-compiling a 32-bit (i386) Linux kernel on 64-bit Machine (amd64)
<br />需翻墙<br />http://linux.koolsolutions.com/2009/06/04/howto-cross-compiling-a-32-bit-i386-linux-kernel-on-64-bit-machine-amd64/原创 2011-03-05 00:05:00 · 812 阅读 · 0 评论 -
linux 2.6.36+s3c6410 SPI子系统接口讨论 二
http://www.arm9home.net/read.php?tid=10788说到用户空间接口就不得不提到cdev结构,这个是字符设备的结构struct cdev { struct kobject kobj; struct module *owner; c转载 2011-07-23 14:46:12 · 2519 阅读 · 1 评论 -
Linux 网络堆栈的排队机制
http://blog.jobbole.com/62917/本文由 伯乐在线 - 马帅 翻译自 Dan Siemon。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。在任何网络堆栈或设备中,数据包的队列都是非常重要。这些队列使得不在同一时刻加载的模块能够相互通信,并且能提高网络性能,同时也会间接影响到网络延时的长短。本文章通过阐述IP数据包在Linux网络中的排队机制,来转载 2014-03-27 10:55:45 · 3149 阅读 · 0 评论