linux内核调试技术之修改内核定时器来定位系统僵死问题
摘要:1.简介 在内核调试中,会经常出现内核僵死的问题,也就是发生死循环,内核不能产生调度。导致内核失去响应。这种情况下我们可以采用修改系统内核中的系统时钟的中断来定位发生僵死的进程和函数名称。因为内核系统系统时钟采用的是硬件中断的形式存在,所以,软件发生僵死的时候,系统时钟照样会发生中断。 1.1、我们
阅读全文
linux内核调试技术之自构proc
摘要:1、简介 在上一篇中,在内核中使用printk可以讲调试信息保存在log_buf缓冲区中,可以使用命令 #cat /proc/kmsg 将缓冲区的数区的数数据打印出来,今天我们就来研究一下,自己写kmsg这个文件,我们取名叫做 mymsg。 2、查看内核中 /proc/kmsg怎么写的! 在Proc
阅读全文
linux内核调试技术之printk
摘要:原创博客:欢迎转载,转载请注明出处 http://www.cnblogs.com/veryStrong/p/6218383.html 1、简介(基于s3c2440 linux) 在内核调试技术之中,最简单的就是printk的使用了,它的用法和C语言应用程序中的printf使用类似,在应用程序中依靠的
阅读全文
ARM CPU大小端
摘要:ARM CPU大小端: 大端模式:低位字节存在高地址上,高位字节存在低地址上 小端模式:高位字节存在高地址上,低位字节存在低地址上 STM32属于小端模式,简单的说,比如u32 temp=0X12345678;假设temp地址在0X2000 0010.那么在内存里面,存放就变成了:地址 | HEX
阅读全文
linux网络设备驱动程序
摘要:4.linux网络设备驱动程序体系结构 硬件相关的驱动程序(要提供hard_start_xmit, 有数据时要用netif_rx上报) 5.sk_buff套接字缓冲区,用于linux中各层之间传输数据。当要发送数据包的时候,内核必须建立一个包含传输数据的sk_buff 然后将sk_buff交给下层,
阅读全文
【转】linux内核中writesb(), writesw(), writesl() 宏函数
摘要:writesb(), writesw(), writesl() 宏函数 功能 : writesb() I/O 上写入 8 位数据流数据 (1字节) writesw() I/O 上写入 16 位流数据 (2字节) writesl() I/O 上写入 32 位流数据 ( 4字节 ) 原型 : 引用 #i
阅读全文
【转】基于linux下的dm9000网卡移植全分析
摘要:转自:http://blog.sina.com.cn/s/blog_6abf2c04010189ui.html DM9000可以直接与ISA总线相连,也可以与大多数CPU直接相连。Mini2440采用的是dm9000直接连接CPU(s3c2440)上。就像是nandflash一样直接被挂在CUP上,
阅读全文
C语言之链表list
摘要:#include #include #include #include //定义表示学生信息结点的结构体 typedef struct _student { char name[20]; float score; //定义指向链表中下一个结点的指针 struct _student* next; }student; void printlist...
阅读全文
norflash驱动编写笔记
摘要:【部分转自】http://blog.csdn.net/ziyiyunmen/article/details/9744901 一、Linux Flash驱动结构 1、Linux MTD系统层次 在Linux系统中,提供了MTD(内存技术设备)系统来建立Flash针对Linux的统一、抽象的接口。 在引
阅读全文
nandflash驱动程序编写
摘要:NAND FLASH是一个存储芯片
那么: 这样的操作很合理"读地址A的数据,把数据B写到地址A"
问1. 原理图上NAND FLASH和S3C2440之间只有数据线,
怎么传输地址?
答1.在DATA0~DATA7上既传输数据,又传输地址
当ALE为高电平时传输的是地址,
问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令
怎么传入命令?
阅读全文
linux驱动开发之块设备学习笔记
摘要:6、request 和 bio 结构体 7、块设备注册与取消 8、块设备驱动程序编写模板
阅读全文