![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LINUX
文章平均质量分 70
catamout
这个作者很懒,什么都没留下…
展开
-
LINUX文件系统中的stat结构
stat结构的成员在不同的unix中会有所变化.. 但一般都包含以下所示的内容:St_mode 文件权限和文件类型信息。st_ino 与该文件关联的inodest_dev 保存文件的设备st_uid 文件属主的UID号st_gid 文件属主的GID号st_atime 文件上次被访问的时间st_ctime 文件的属主,原创 2010-01-26 09:53:00 · 748 阅读 · 0 评论 -
linux内核printk调试
linux内核printk调试(摘录《Linux安全体系分析与编程》) linux内核printk调试(摘录《Linux安全体系分析与编程》)1 printk及控制台的日志级别函数printk的使用方法和printf相似,用于内核打印消息。printk根据日志级别(loglevel)对消息进行分类。日转载 2010-03-15 09:47:00 · 19727 阅读 · 0 评论 -
Linux QT启动器
xxx.desktop 文件[Desktop Entry] //启动器的固定结构Version=1.0 //该数值指定当前Desktop Entry 文件所遵循的Desktop Entry文件的标准版本。Name=XXXX //启动器的显示名称... 可以使中文的 先复制到Windows下输入中文名称... 再将其复制到L原创 2010-03-25 10:11:00 · 1247 阅读 · 0 评论 -
Qt/Embedded
摘要:介绍了Qt/Embedded和Qtopia的体系结构及其交叉编译过程与安装过程,重点讲述了如何实现Qt/Embedded下的应用程序以及如何将应用程序移植到Qtopia桌面系统。本文介绍的方法在笔者的开发平台上都做过验证。关键词:嵌入式系统; GUI;Qt/Embedded; Qtopia; 交叉编译中图分类号:TP368 Design of GUI Based on Qt/Emb转载 2010-04-18 10:25:00 · 4804 阅读 · 0 评论 -
qtopia 显示汉字
读取中文文件内容的测试有3种因素 1文件的编码格式(是utf8格式和非utf8格式) 2程序里面转换得到内容的方式(QString::fromLocal8Bit 和 codec->toUnicode) 注明一下 这里 QTextCodec* pcodec = QTextCodec::codecForLocale();3不同的字体,假设知道有种字体可以正确显示中文这里举例是Sans Serif字原创 2010-04-17 13:03:00 · 1072 阅读 · 0 评论 -
qtiopia 介绍
摘要:介绍了Qt/Embedded和Qtopia的体系结构及其交叉编译过程与安装过程,重点讲述了如何实现Qt/Embedded下的应用程序以及如何将应用程序移植到Qtopia桌面系统。本文介绍的方法在笔者的开发平台上都做过验证。关键词:嵌入式系统; GUI;Qt/Embedded; Qtopia; 交叉编译中图分类号:TP368 Design of GUI Based on Qt/Emb原创 2010-04-17 13:05:00 · 766 阅读 · 0 评论 -
基本IO函数的使用(open,write,read)
所需头文件: #include #include #include函数定义: int open( const char * pathname, int flags); int open( const char * pathname,int flags, mode_t mode);函数说明: 参数 pathname 指向欲打开的文件路径字符串。下列是参数 flags 所能使用的旗标: O_R原创 2010-04-06 21:21:00 · 885 阅读 · 1 评论 -
Makefile 规则 (2)
makefile变量的定义有两种方式:递归展开方式和简单方式。递归展开方式:VAR=var简单扩展方式:VAR:=var变量名是不包括":","#","="以空格结尾的任何字符串。变量名大小写敏感。 Makefile中的自动变量: 由于常见的Gcc编译语句中通常包含目标文件和依赖文件,而这些文件在Makefile文件中的目标体一行已经有所体现,因此为了进一步简化Make原创 2010-04-09 10:02:00 · 498 阅读 · 0 评论 -
Makefile 规则
Makefile 文件有一组依赖关系和规则构成的。每个依赖关系由一个目标(即将要创造的文件)和一组该文件所依赖的源文件组成。而规则描述了如何通过这些依赖关系创建目标。myapp:main.o 2.o 3.o 先写目标的名称:(空格或者TAB)隔开文件列表 all:myapp myapp1注意如果使用make命令时未指定目标all,则make命令将只创建它在文件makefile中原创 2010-04-08 21:26:00 · 469 阅读 · 0 评论 -
Makefile 规则 (3)
隐式规则:C编译:.c变为.o $(CC) -c $(CPPFLAGS) $(CFLAGS)C++编译:.cc或.c变为.o $(CXX) -c $(CPPFLAGS) $(CXXFLAGS)Pascal编译:.p 变为.o $(PC) -c $(PFLAGS)Fortran编译:.r变为-o原创 2010-04-09 10:47:00 · 709 阅读 · 3 评论 -
uart1 读写程序
#include #include #include #include #include #include #include #include #include int set_opt(int fd, int nSpeed, int nBits, char nEvent, int nStop){ struct termios newtio,oldtio; if(tcgetattr(fd,&o原创 2010-04-30 16:22:00 · 2851 阅读 · 2 评论 -
fcntl使用的例子 (源自 嵌入式Linux 应用程序开发详解)
在Linux中,实现文件上锁的函数有lock和fcntl,其中lock用于对文件施加建议性锁,而fcntl不仅可以施加强制性锁,还可以施加建议性锁。同时fcntl还能文件的某一记录进行上锁,也就是记录锁。 记录锁又分为读取锁和写入锁,其中读取锁又称为共享锁。它能使多个进程都能在文件的统一部分建立读取锁。而写入锁又称为排斥锁,在任何时刻只有一个进程在文件的某个部分上建立写入锁。当然文件的统一原创 2010-05-15 16:19:00 · 1433 阅读 · 0 评论 -
open read write fcntl lseek等函数的使用整理:
系统调用:所谓的系统调用时指操作系统提供给用户的一组特殊的接口,用户程序可以通过这组特殊的接口来获得内核提供的服务。例如内核可以通过进程控制相关的系统调用来创建进程,实现进程调度,进程管理等。 为什么用户程序只有通过系统调用才能享受内核提供的服务呢?在linux系统中为了更好的保护内核空间,将程序的运空间分为内核空间和用户空间(也就是常说的内核态和用户态)。他们分别运行在不同的原创 2010-05-15 14:23:00 · 1579 阅读 · 0 评论 -
在Linux中实现大容量 NAND Flash的YAFFS2文件系统
分析了嵌入式环境中YAFFS/YAFFS2文件系统的优点,提出YAFFS2不仅支持小容量的NAND flash,对大容量NAND flash更具有优势。并介绍了YAFFS/YAFFS2文件系统结构。着重将YAFFS2文件系统在嵌入式Linux系统中的实现过程包括配置、编译以及测试整个完整过程作了详细的论述。 关键词 NAND flash,YAFFS/YAFFS2,嵌入式Linux系统随着嵌入式系统原创 2010-03-10 08:37:00 · 1988 阅读 · 0 评论 -
Linux字符设备驱动程序的编写框架
Linux字符设备驱动程序的编写框架 一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和原创 2010-02-27 11:38:00 · 689 阅读 · 0 评论 -
board.c
/lib_arm/board.c 主要完成了一些初始化的操作,最重要的是有start_armboot函数_armboot_start地址为多少??/* * * U-Boot code: 00F00000 -> 00F3C774 BSS: -> 00FC3274 * IRQ Stack: 00ebff7c * FIQ Stack: 00ebef7c *转载 2010-02-27 11:19:00 · 957 阅读 · 0 评论 -
LINUX内核编译(转)
最近在网上看了几个Linux内核编译方面的文章,由于很多这样的帖子,随便看了几个都差不多吧。在我真正自己动手去实践的时候,出现了很多的问题。感觉是不能完全按照别人的方法来,因为你们的当时的机器工作环境可能是不一样的。整个过程曲折坎坷。但是最后还是成功啦!下面我将给出自己的实践过程和注意点。 一,为什么要编译内核? Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的转载 2010-02-02 11:29:00 · 422 阅读 · 0 评论 -
Bootloader启动流程
Bootloader启动流程: Bootloader启动流程一般分为两个阶段stage1和stage2,下面分别对这两个阶段讲解。 stage1中Booloader主要完成以下工作: *基本硬件初始化包括屏蔽所有中断,设置CPU的速度和时钟频率。RAM初始化,初始化LED,关闭CPU内部指令和数据cache等。 *为加载stage2准备原创 2010-02-04 21:45:00 · 883 阅读 · 1 评论 -
学习LINUX步骤(转)
1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器转载 2010-02-03 10:27:00 · 346 阅读 · 0 评论 -
U-Boot 的移植(一)
开发板smdk2410的配置适用于大多说s3c2410开发板,或是只需要极少的修改既可以使用。但是目前U-Boot中没有对s3c2440的支持,需要我们自己移植: TQ2440的外部硬件连接: *BANK0外接容量为16MB,位宽16的NOR Flash芯片EN29LV160AB *BANK4外接10M网卡芯片DM9000,位宽16. *BANK6外接两片容量为原创 2010-02-05 15:18:00 · 441 阅读 · 0 评论 -
VI的各模式功能键:
命令行模式常见功 能键: I 切换到插入模式,此时光标相当于开始输入文件处 A 切换到插入模式,并从目前光标所在位置的下一个位置开始输入文字。 [ctrl+b] 屏幕向后翻动一页 [ctrl+f] 屏幕向前翻动一页 [ctrl+u]屏幕向后翻动半夜 [ctrl+d]屏幕向前翻动半夜 0数字0 光标移到本行开头 G原创 2010-02-05 23:19:00 · 513 阅读 · 0 评论 -
Linux学习步骤(转)
1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器转载 2010-02-03 20:38:00 · 381 阅读 · 0 评论 -
Bootloader介绍(1)
Bootloader介绍: bootloader就是在操作系统内核运行之前运行的一段代码。类似于WINDOWS中的BIOS程序。通过这段代码可以完成硬件设备的初始化,以及内存空间的映射图的功能,从而把系统的软硬件带到一个合适的状态,为最终调用内核做好准备。 Bootloader严重的依赖于硬件实现,特别是在嵌入式中,所以在嵌入式世界中想建立一个通用的Bootloader几原创 2010-02-03 20:43:00 · 901 阅读 · 0 评论 -
Linux启动过程(笔记)
首先:打开PC电源时,CPU自动进入实模式,并从地址0xFFFF0开始执行代码,这个地址通常是ROM-BIOS中的地址。这时BIOS进行开机自检,并按BIOS中设置好的参数进行启动设备,接着启动设备上安装的引导程序lilo或grub开始引导LINUX(也就是启动设备的第一个扇区),这时,Linux才获得启动权。 第二阶段:Linux首先进行内核的引导,主要完成磁盘引导,读取机器系统数原创 2010-02-05 09:18:00 · 587 阅读 · 0 评论 -
U-boot
stage1阶段的启动代码,主要在start.s文件里。此start.s也是在系统上电后执行的第一个代码。它全部由汇编编写。但系统是如何知道去start.s里执行代码的呢? 我们知道每个可执行的映像Image,肯定会给编译器一个入口,而且是"有且只有一个全局入口"。(entry)。我们可以把入口放在flash的0x0地址上,然后让系统区找这个0x0即可。 实际上,我们可以原创 2010-02-07 23:08:00 · 502 阅读 · 0 评论 -
u-boot.lds谈谈连接脚本:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm");指定输出可执行文件elf格式,32位ARM指令,小端模式/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/OUTPUT_ARCH(arm) 指定输入平台为ARMENTRY(_start) 指原创 2010-02-08 13:42:00 · 1235 阅读 · 0 评论 -
嵌入式Linux资源列表
1 ChinaUnix网址: http://www.chinaunix.net描述: C版块和shell版块很不错 C/C++论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=23 shell论坛:http://bbs.chinaunix.net/forumdisplay.php?fid=24 man文档:ht转载 2010-02-21 14:11:00 · 2062 阅读 · 0 评论 -
U-BOOT Nand命令支持
U-BOOT Nand命令支持u-boot1.1.6 nand_legacy驱动提供了u-boot对nand相关命令的一个轻量级的实现,但好象可扩展性不足。本文主要分析u-boot 1.16/drivers/nand文件夹下的源程序。一.关键数据结构1.struct mtd_info该结构在include/linux/mtd/Mtd.h中定义,字段比较多,有很多还是函数指针,它转载 2010-02-26 11:04:00 · 1231 阅读 · 0 评论 -
open read write fcntl lseek等函数的使用整理:
系统调用:所谓的系统调用时指操作系统提供给用户的一组特殊的接口,用户程序可以通过这组特殊的接口来获得内核提供的服务。例如内核可以通过进程控制相关的系统调用来创建进程,实现进程调度,进程管理等。 为什么用户程序只有通过系统调用才能享受内核提供的服务呢?在linux系统中为了更好的保护内核空间,将程序的运空间分为内核空间和用户空间(也就是常说的内核态和用户态)。他们分别运行在不同的原创 2010-05-15 16:19:00 · 971 阅读 · 0 评论