Linux
文章平均质量分 76
lemon_fantasy
这个作者很懒,什么都没留下…
展开
-
Linux基础知识
Linux是一个典型的宏内核(一体化内核)结构。 进程管理的系统调用包括进程的创建,调度,中止,等待等。 Linux支持内存管理控制器MMU,使用虚拟内存管理机制。虚拟内存管理系统调用包括:内存分配,内存回收请求分页和交换页等。 由于Linux使用了虚拟文件管理系统VFS,从而使它能够支持不同的文件系统。文件管理系统允许用户进程通过一组通原创 2008-07-10 21:46:00 · 955 阅读 · 0 评论 -
Linux驱动程序框架
Linux 将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux 内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。 1. 字符设备和块设备Linux 抽象了对硬件的处理,所有的硬件设备都可以像普通文件一样来看待:它们可转载 2009-02-17 16:06:00 · 1550 阅读 · 0 评论 -
两个Linux系统NFS服务器的配置方法
一、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包) 命令#rpm –q nfs-utils portmap 中国网管论坛bbs.bitsCN.com 二、查看NFS服务器是否启动 命令#service nfs starus #service por转载 2009-02-24 10:32:00 · 752 阅读 · 0 评论 -
RedHat9.0下tftp服务的安装及使用
tftp服务的安装,对于RedHat9.0,tftp 的RPM包在安装光盘的第三张盘下,可以用mount /dev/cdrom mnt/cdrom 将其挂载后,拷贝到/home/work目录下安装rpm -ivh tftp-server-0.32********rpm -ivh tftp-0.32*******(这个包是客户端登陆tftp服务器所需要的)安装完后,进行配置及开启服务在linu转载 2009-02-24 11:05:00 · 2712 阅读 · 0 评论 -
U-boot学习
u-boot启动过程分析——基于lpc2210的移植代码 u-boot是一种普遍用于嵌入式系统中的Bootloader。Bootloader介绍 Bootloader是进行嵌入式开发必然会接触的一个概念,它是嵌入式学院嵌入式工程师职业培训班>二期课程中嵌入式linux系统开发方面的重要内容。本篇文章主要讲解Bootloader的基本概念以及内部原理,这部分内容的掌握将对嵌入转载 2008-12-12 11:24:00 · 1480 阅读 · 0 评论 -
uboot分析之u-boot.lds
//下面是Uboot/board/QQ2440/u-boot.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*//*指定输出可执行文件是elf格式,32位ARM指令,小端*/OUTPUT_AR转载 2008-12-24 15:46:00 · 2220 阅读 · 0 评论 -
u-boot中代码的疑问(_armboot_start与_start?)
我使用的是u-boot-1.3.0-rc2。在cpu/pxa/start.S中,有如下的标号定义: _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */ .globl _armboot_start _armboot_start: .word _start /*_start是程序入口,链接完毕它的值应该是0xa17转载 2008-12-25 10:48:00 · 5163 阅读 · 5 评论 -
分析了一下 align 的用法
之前看bootloader的时候总是搞的不太懂,今天下定决心分析一下这个 align究竟是怎么回事。一下分多种情况平台: WinXP + WinARM ,WinARM是window平台的 ARM-LINUX-GCC 的移植版本。 .align 就是用来对齐的,究竟怎么对齐,有啥情况?下面分析一下(一) _start: b reset .byte 0x55转载 2008-12-24 16:13:00 · 5216 阅读 · 0 评论 -
__asm__ __volatile__内嵌汇编用法简述
__asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所以下面的示例都是用ARM汇编。 带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("Instruction List" : Outpu转载 2008-12-25 15:30:00 · 3380 阅读 · 0 评论 -
Linux启动过程中硬件模块的加载
阅读Linux内核启动代码的直接动力是我想编写RTL8019AS的网卡驱动程序(2.4.18内核只支持了CS8900A)。既然要写驱动,我就想知道它是怎么样被加载的,好奇心驱使我先去搞定这个问题。拿到2.4.18的软件包,一万多个文件,我不知怎么下手。所幸手头有这么三件工具助我入门:1,一块移植好linux的开发板,通过它可以看到linux启动过程打印的消息。2, google,网上关转载 2009-02-17 15:00:00 · 2057 阅读 · 1 评论 -
getchar()和EOF总结
大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下来才是最好的方法。其实,getchar()转载 2008-12-01 20:46:00 · 778 阅读 · 0 评论 -
linux之wc命令
linux之wc命令wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下: - c 统计字节数。 - l 统计行数。转载 2008-11-28 11:28:00 · 739 阅读 · 0 评论 -
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)1.写在前面 Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE。但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Lin转载 2008-07-12 11:20:00 · 1295 阅读 · 0 评论 -
关于登录linux时,/etc/profile、~/.bash_profile等几个文件的执行过程
在登录Linux时要执行文件的过程如下:在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~转载 2008-10-06 17:01:00 · 929 阅读 · 0 评论 -
Makefile学习教程: 跟我一起写 Makefile
0 Makefile概述 makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化转载 2008-10-28 21:02:00 · 802 阅读 · 0 评论 -
用GDB调试程序1
GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序转载 2008-10-26 22:01:00 · 533 阅读 · 0 评论 -
用GDB调试程序2
查看栈信息当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:backtracebt打印当前的函数调用栈的所有信息。如:(gdb) bt#0 func (n=250) at tst.c:6#1 0x0转载 2008-10-27 20:49:00 · 735 阅读 · 0 评论 -
GCC命令
[介绍] -----------------------------------------常见用法:GCC 选项 GCC 有超过100个的编译选项可用。这些选项中的许多你可能永远都不会用到,但一些主要的选项将会频繁用到。很多的 GCC 选项包括一个以上的字符。因此你必须为每个选项指定各自的连字符,并且就象大多数 Linux 命令一样你不能在一个单独的连字符后跟一组选项。例如转载 2008-10-27 19:33:00 · 2096 阅读 · 0 评论 -
main
main参数C语言中的main函数,一般会带有2个参数,例如int main ( int argc, char* argv[]),这是一个典型的main函数的声明。这是为了在执行程序时需要向程序传递参数,参数argc代表了输入参数的个数,char *argv[]表示传入的参数的字符串,是一个字符串数组。例如在Unix平台下编写一个小程序:int main(int argc, char*转载 2008-11-27 21:05:00 · 689 阅读 · 0 评论 -
fgets,fputs,gets,puts
fgets(由文件中读取一字符串) 相关函数 open,fread,fscanf,getc 表头文件 include 定义函数 har * fgets(char * s,int size,FILE * stream); 函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文转载 2008-11-27 22:08:00 · 6200 阅读 · 0 评论 -
u-boot顶层Makefile分析
要了解一个LINUX工程的结构必须看懂Makefile,尤其是顶层的,没办法,UNIX世界就是这么无奈,什么东西都用文档去管理、配置。首先在这方面我是个新手,时间所限只粗浅地看了一些Makefile规则。以smdk_2410为例,顺序分析Makefile大致的流程及结构如下:1) Makefile中定义了源码及生成的目标文件存放的目录,目标文件存放目录BUILD_DIR可以通过mak转载 2008-12-25 18:28:00 · 2750 阅读 · 0 评论