嵌入式Linux
文章平均质量分 64
MTK_kyle
这个作者很懒,什么都没留下…
展开
-
在linux下设备文件读写实例
一般在linux下设备分为字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。在linux下对任何的操作可以看成是对设备的操作。简单而言之,可以是看成对设备文件的读写操作。那么,怎样对linux 的设备文件进行读写呢?我们通过一段小程序来模拟linux下对字符设备文件的读写操作。程序如下(本程序基于linux2.6内核):1.定义自己的设备文原创 2008-04-01 15:02:00 · 13799 阅读 · 2 评论 -
insmod module 失败(skyeye + armlinux)
前些日子在 skyeye 上 porting 了 arm-linux,于是迫不及待的写了一个 module 试试,可很不幸,没有成功。小弟最近才搞 linux 的 module 技术,很多地方不是很懂,现将问题贴出,希望大家不吝赐教。Module 源代码:=========================================/*hello.c*/#include #include MO原创 2008-04-27 19:31:00 · 2852 阅读 · 2 评论 -
剖析Linux系统启动过程
阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码主要使用的是C语言,也涉及到了少量的汇编。而启动过程中也执行了大量的shell(主要是bash shell)所写脚本。为了方便读者阅读,笔者将整个Linux启动过程分成以下转载 2008-04-25 15:13:00 · 1234 阅读 · 0 评论 -
SkyEye安装与使用
一. SkyEye配置选项SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。根据选项的功能,skyeye.conf的选项分为硬件配置选项和模拟执行选项。根据参数的个数,skyeye.conf的选项主要由两种组成: 单参数选项行 格式为: symbol: value symbol可以是硬件定义,如cpu、mach等,也可以是执行控制定义,如log转载 2008-04-23 15:33:00 · 6771 阅读 · 0 评论 -
SkyEye模拟硬件介绍
1.CPU和开发板系列 目前SkyEye可以模拟的CPU主要是基于ARM内核的CPU,包括ARM7TDMI,ARM720T,ARM9TDMI,ARM9xx, ARM10xx,StrongARM,XScale等。ARM7/9/10TDMI是ARM系列CPU的基本核心部分,它们不支持MMU/CACHE和一些扩展指令,是ARM CPU基本核。ARM720T、ARM920T、ARM10xx、Stro转载 2008-04-23 15:25:00 · 1715 阅读 · 0 评论 -
SkyEye介绍
1.SkyEye的起源和发展 2002 年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。一开始就陈渝一人做,首先他了解了当前国际上的一些类似的项目,发现著转载 2008-04-23 15:21:00 · 1831 阅读 · 0 评论 -
Linux下的段错误产生的原因及调试方法
产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后 13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的转载 2008-04-23 14:15:00 · 1083 阅读 · 0 评论 -
Linux 内核调试技术
1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字, 而把他叫做调试员.我原创 2008-04-23 14:10:00 · 1202 阅读 · 0 评论 -
浅析Arm Linux操作系统调用流程详细解析
系统调用是os操作系统提供的服务,用户程序通过各种系统调用,来引用内核提供的各种服务,系统调用的执行让用户程序陷入内核,该陷入动作由swi软中断完成.At91rm9200处理器对应的linux2.4.19内核系统调用对应的软中断定义如下:#if defined(__thumb__) //thumb模式#define __syscall(name)/ "push转载 2008-04-30 10:21:00 · 1362 阅读 · 0 评论 -
进程间通信实例(IPC)之命名管道
在linux进程是系统调度的基本单位,一个进程完成一定的任务,但进程在执行任务时有时也需要其他进程提供信息,我们把它称为进程之间的通信。那进程是采取何种方式来进行通信呢?带着这个问题我们来学习吧!进程间的通信分有很多方式,今天来让我们看看进程是如何采用管道来进行通信的。为此我们写了一段简单的代码来进行说明,毕竟用代码描述起来更容易使人明白,我们将会对下面的代码进行分析以来阐明其中的道理。一原创 2008-05-09 19:16:00 · 2289 阅读 · 0 评论