摘要: 首先介绍的整体的环境是ubuntu 9.04 gcc的版本是4.1.下面是具体的环境建立(1)arm-linux-gcc安装在下面的网址上http://www.handhelds.org/download/projects/toolchain/下载arm-linux-gcc-3.4.1.tar.bz2执行下面的命令:将arm-linux-gcc-3.4.1.tar.bz2复制到/tmp下bunzip2arm-linux-gcc-3.4.1.tar.bz2生成arm-linux-gcc-3.4.1.tartar xvf arm-linux-gcc-3.4.1.tar -C /将该tar包解压到/ 阅读全文
posted @ 2010-02-16 22:19 qiang.xu 阅读(1064) 评论(0) 推荐(0) 编辑
摘要: 一c#中的变量类型c#中的变量和c,c++,java中类型是大致相同的,包含以下的数据类型:int long float double decimal string char bool (B大写)。每种数据类型都有自己的范围。超出该种数据类型的范围时,会产生编译错误。1.需要注意的是变量类型decimal,它表示的是货币值,它比double数据类型具有更高的精度和更小的范围。具体decimal使用方法参见MSDNhttp://msdn.microsoft.com/zh-cn/library/364x0z75.aspx上关于decimal的介绍。下面列出其中比较重要的几点。1。int类型的变量可 阅读全文
posted @ 2010-02-16 11:00 qiang.xu 阅读(357) 评论(0) 推荐(0) 编辑
摘要: /** ioctl.c 文件实现了输入/输出控制系统调用ioctl(),该函数* 主要是调用函数tty_ioctl()对终端的IO进行控制*//** linux/fs/ioctl.c** (C) 1991 Linus Torvalds*/#include <string.h>#include <errno.h>#include <sys/stat.h>#include <linux/sched.h>extern int tty_ioctl(int dev, int cmd, int 阅读全文
posted @ 2010-02-16 09:17 qiang.xu 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: /** linux/fs/inode.c** (C) 1991 Linus Torvalds*/#include <string.h>#include <sys/stat.h> // 文件状态头文件#include <linux/sched.h>#include <linux/kernel.h>#include <linux/mm.h>#include <asm/system.h>struct m_inode inode_tab 阅读全文
posted @ 2010-02-16 09:15 qiang.xu 阅读(2825) 评论(1) 推荐(0) 编辑
摘要: /** linux/fs/fcntl.c** (C) 1991 Linus Torvalds*/#include <string.h>#include <errno.h>#include <linux/sched.h>#include <linux/kernel.h>#include <asm/segment.h>#include <fcntl.h>#include <sys/stat.h>exter 阅读全文
posted @ 2010-02-16 09:13 qiang.xu 阅读(529) 评论(0) 推荐(0) 编辑
摘要: /** 该文件的两个函数是为了向open和write函数提供接口,实现内核数据* 和用户数据的交互*//** linux/fs/block_dev.c** (C) 1991 Linus Torvalds*/#include <errno.h>#include <linux/sched.h>#include <linux/kernel.h>#include <asm/segment.h>#include <asm/system.h>/** | block 阅读全文
posted @ 2010-02-16 09:12 qiang.xu 阅读(693) 评论(0) 推荐(0) 编辑
摘要: /** linux/fs/bitmap.c** (C) 1991 Linus Torvalds*//* bitmap.c contains the code that handles the inode and block bitmaps */#include <string.h>#include <linux/sched.h>#include <linux/kernel.h> // 一些内核常用函数的原形定义/* 将指定地址(addr)处的一块内存清零 */#define clear_block(addr) 阅读全文
posted @ 2010-02-16 09:10 qiang.xu 阅读(1853) 评论(0) 推荐(0) 编辑
摘要: ## 这段代码被连接到system模块的最前面,这也是它为什么称之为head.s的原因。# 从这里开始内核完全运行在保护模式下。head.s采用的是at&t格式的# 汇编。注意的是代码中的赋值方向是从左到右。## 这段程序实际上是出于内存的绝对地址0开始处。首先是加载各个数据段寄存器。# 重新设置全局描述符表gdt --> 检测a20地址线是否真的开启,没有开启,loop# 掉了 --> 检测pc是否含有数学协处理器 --> 设置管理内存分页的处理机制 --># 将页目录放置在内存地址0开始处。所以这段程序将被覆盖掉。 - 阅读全文
posted @ 2010-02-16 09:07 qiang.xu 阅读(1537) 评论(0) 推荐(0) 编辑