arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 51 下一页

2011年5月6日

摘要: <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } H1 { margin-bottom: 0.21cm } H1.western { font-family: "DejaVu Sans", sans-serif; font-size: 16pt } H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt } H1.ctl { font-family: "Lohit Hindi"; font-size: 16pt } H2 阅读全文
posted @ 2011-05-06 09:55 arm-linux 阅读(968) 评论(0) 推荐(0) 编辑

2011年5月5日

摘要: <!--@page { margin: 2cm }PRE.cjk { font-family: "DejaVu Sans", monospace }P { margin-bottom: 0.21cm }A:link { so-language: zxx }--> 内核的链表list_head设计相当巧妙。今天我说一下对list_head链表的遍历时如何删除元素。 链表遍历时,如果删除当前元素,一般都是会出错的。在所有语言的各种库中的链表都是如此。list_head也一样。<!--@page { margin: 2cm }P { margin-bottom: 阅读全文
posted @ 2011-05-05 19:10 arm-linux 阅读(1057) 评论(0) 推荐(0) 编辑

2011年5月1日

摘要: 博主按:大热的天,刚刚负重从五道口走到石板房,大约4公里吧。终于让我找了一个咖啡屋休息一下,继续写这篇驱动分析。单身的生活就是这样无聊啊。 不发牢骚了,活出个样儿来给自己看!千难万险脚下踩,啥也难不倒咱!继续整!~先说一下,本文中有个疑惑,一直没有搞懂,写在这里,望高人指点一二,不胜感激!#define I2C_M_NOSTART0x4000/* if I2C_FUNC_PROTOCOL_MANGLING */#define I2C_M_REV_DIR_ADDR0x2000/* if I2C_FUNC_PROTOCOL_MANGLING */#define I2C_M_IGNORE_NAK0x 阅读全文
posted @ 2011-05-01 18:17 arm-linux 阅读(4352) 评论(1) 推荐(0) 编辑

2011年4月30日

摘要: 博主按:其实老早就想写这个I2C的了,期间有各种各样的事情给耽误了。借着五一放假的时间把这个写出来,供同志们参考。以后会花一些时间深入研究下内核,虽然以前对内核也有所了解,但是还不系统。I2C的硬件结构并不复杂,一个适配器加几个设备而已。Linux下驱动的体系结构看着挺复杂,实际也是比较简单的。在本文中我还是使用实际的例子,结合硬件和软件两个方面来介绍。希望能给初学的同志们一些帮助,另外抛砖引玉,希望高手能给一些指点。话不多说,开整!~本文用到的一些资源: 1. Source Insight软件 2. mini2440原理图。 下载地址http://wenku.baidu.com/view/0 阅读全文
posted @ 2011-04-30 16:38 arm-linux 阅读(12781) 评论(0) 推荐(0) 编辑

2011年4月15日

摘要: 什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Linux内核也会抱歉的对我们说:“哎呦(Oops),对不起,我把事情搞砸了”。Linux内核在发生kernel panic时会打印出Oops信息,把目前的寄存器状态、堆栈内容、以及完整的Call 阅读全文
posted @ 2011-04-15 14:27 arm-linux 阅读(897) 评论(0) 推荐(0) 编辑

2011年4月14日

摘要: 悄悄地进入Linux内核调试(一) 本文基址:http://blog.csdn.net/cugxueyu/archive/2007/12/21/1957740.aspx※ 调试工作艰苦,是内核级开发区别于用户级开发的一个显著特点。※ 驾驭内核调试的能力,很大程度上取决于经验和对整个操作系统的把握。一、调试前的准备 内核级bug具有行为不可靠,定义不清晰或者说很难再现的诸多特定,为内核级的bug跟踪和调试带来了很大的困难。 ※ 对于一些定义不清楚地bug,问题的关键就是找到bug的源头,很多时候,当你精确地重现一个bug的时候,你就离成功不远了。二、内核中的bug 从隐藏在源代码中的错误到展现在 阅读全文
posted @ 2011-04-14 20:40 arm-linux 阅读(10127) 评论(0) 推荐(0) 编辑

摘要: 结合自己的实践和网上的文章,介绍手工调试内核bug的通用方法。1.步骤1).Collect oops output, System.map, /proc/ksyms, vmlinux, /proc/modules 2).Use ksymoops to interpret oops Instructions is /usr/src/linux/Documentation/oops-tracing.txt Ksymoops(8) man page (http://www.die.net/doc/linux/man/man8/ksymoops.8.html) 2.简单分析1)Ksymoops dis 阅读全文
posted @ 2011-04-14 19:03 arm-linux 阅读(1890) 评论(0) 推荐(0) 编辑

2011年4月12日

摘要: Android系统的移植的主要目的是为了能在特定的硬件上运行Android系统。而在移植的过程中,一个重要的方面就是把握关键要点,减少工作量。从工作的角度,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。 移植方面主要的工作有两个部分: Linux驱动 Android系统硬件抽象层 Linux中的驱动工作在内核空间,Android系统硬件抽象层工作在用户空间,有了这两个部分的结合,就可以让庞大的Android系统运行在特定的硬件平台上。 Android移植的主要工作如... 阅读全文
posted @ 2011-04-12 17:33 arm-linux 阅读(4323) 评论(0) 推荐(0) 编辑

2011年4月11日

摘要: linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。设备驱动级:主要实现对单个设备驱动的管理(suspend,resume等),通过系统监测将闲置的设备,通过从用户态对sys文件目录动态进行单个驱动设备的管理,置于省电模式。系统平台级:目标在于管理较大的、非常见的重大电源状态改变,用于减少产品 阅读全文
posted @ 2011-04-11 14:04 arm-linux 阅读(4908) 评论(0) 推荐(0) 编辑

2011年4月9日

摘要: 博主按:虽然以前移植过,但是隔得时间太长,当时又没有记录,岁数大了记性不好,这次移植又遇到了一些问题,搞了一天才搞好。以此为鉴,特记之。此文只是备忘,不是详细的移植教程,所以新接触移植的同志们还是参考一下网上的资料,有很多非常详细的。 开发环境: 1. 开发板:杨创utu2440-S-V41 2. 原内核:Linux2.6.24 3. 原文件系统:yaffs2 Busybox1.13 4. 原交叉编译器:编译内核用3.4.1,编译Qtopia用3.3.2 5. 原图形界面:Qtopia PDA Edition Version 6. 移植内核:Linux2.6.31 7. 移植文... 阅读全文
posted @ 2011-04-09 20:38 arm-linux 阅读(409) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 51 下一页