上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 71 下一页
摘要: Linux添加硬盘是在原来安装的硬盘空间不够或者需要使用其他硬盘上的东西时候的解决办法,因为大多数初学者习惯使用虚拟机,这里以在Vmware虚拟机中实现Linux添加硬盘的具体步骤来详细介绍说这个问题。Vmware中为linux增加硬盘1. 在vmware的setting中为虚拟机增加一个硬盘。2. 在vmware中看见 第1个硬盘是 /dev/sda , 第2个硬盘是 /dev/sdb3. 创建硬盘信息fdisk /dev/sdba. 按n添加分区,选p(主分区);b. 选1,也就是sdb1;c. 然后就是空间划分,一路回车。默认是使用整个磁盘空间。d. 然后按w写入分区信息4. 格式化硬盘 阅读全文
posted @ 2011-06-24 09:49 hnrainll 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 每次测试自己写的驱动模块都要自己mknod设备文件,总觉得是一种不好的行为而且要自己指定主设备号和次设备号,就是没有书上说sysfs、udev什么程序员不需关心设备号之类的优点了内核TMD经常变,一个2.6.25上还好好的驱动,跑到2.6.29上就不能编译通过了,妈的,可以理解为什么Linux驱动工程师会高薪了,好,我忍了这里的方法只能保证倒2.6.31,再往后就未知了,所以死读书是不行的要融会贯通,深入理解,有问题直接到内核代码里找答案在2.6.17以前,在/dev目录下生成设备文件很容易,devfs_mk_bdevdevfs_mk_cdevdevfs_mk_symlinkdevfs_mk_ 阅读全文
posted @ 2011-06-24 06:53 hnrainll 阅读(6112) 评论(0) 推荐(0) 编辑
摘要: 从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_create创建对应的设备。(不太明白什么是devfs,udev,对linux中的文件系统没有什么概念呢。)大致用法如下:struct class *myclass = class_create(THIS_MO 阅读全文
posted @ 2011-06-24 06:52 hnrainll 阅读(23424) 评论(1) 推荐(1) 编辑
摘要: 这确实有些混乱:1. 命令行参数“console=ttySAC0”与/dev/目录没有任何关系,它被用来选择从哪个设备输出内核、驱动的printk信息:①. 在内核kernel/printk.c中,有这一行代码:__setup("console=", console_setup);对于命令行参数“console=ttySAC0”,console_setup函数会将设备名(name)、索引(index)解析出来:名为ttySAC,索引为0──表示第一个设备②. S3C2410的串口驱动文件drivers/serial/s3c2410.c中,有如下数据结构:1882 stati 阅读全文
posted @ 2011-06-23 16:43 hnrainll 阅读(4787) 评论(0) 推荐(0) 编辑
摘要: mdev的hotplug模式1, busybox 添加mdev支持2, 在/etc/rc.d/rcS中添加#mount filesystem/bin/mount -a#start mdevecho /sbin/mdev > /proc/sys/kernel/hotplug #设置系统的hotplug程序为mdevmdev –s/etc/fstab的内容如下:proc /proc proc defaults 0 0none /tmp ramfs defaults 0 0mdev /dev ramfs defaults 0 0sysfs /sys sysfs defaults 0 0执行md 阅读全文
posted @ 2011-06-23 16:31 hnrainll 阅读(3260) 评论(0) 推荐(0) 编辑
摘要: 不需挂载就能查看的命令:1. file[root@localhost dev]# file -s /dev/sda1/dev/sda1: Linux rev1.0ext4filesystemdata (extents) (huge files)2.parted[root@localhost dev]# parted /dev/sdaGNU Parted 1.8.8Using /dev/sdaWelcome to GNU Parted! Type 'help' to view a list ofcommands.(parted) printModel: VMware, VMwar 阅读全文
posted @ 2011-06-23 16:29 hnrainll 阅读(9775) 评论(0) 推荐(1) 编辑
摘要: 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:1.串行端口终端(/dev/ttySn)串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0 阅读全文
posted @ 2011-06-23 16:23 hnrainll 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 一、vmlinuzvmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage/boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp/usr/ 阅读全文
posted @ 2011-06-22 21:01 hnrainll 阅读(1204) 评论(0) 推荐(0) 编辑
摘要: 在LINUX中添加按键的驱动并编译进入内核?第一步:将keydriver.c的驱动源文件拷到drivers/char目录下第二步:修改Kconfig文件. 打开Kconfig在 config DEVKMEME后添加以下信息: config UNSP2440_key bool "key driver sunplusapp S3C2440 board" default y help this is GPIO driver for wenhao S3C2440 board.第三步:make menuconfig Device driver-à character dev 阅读全文
posted @ 2011-06-22 20:35 hnrainll 阅读(2093) 评论(0) 推荐(0) 编辑
摘要: 如何在嵌入式LINUX中添加ARM开机图片?1、如果要让系统启动起来看到 bootlogo小企鹅,必须得在 make menuconfig 中进行配置添加,如下 Device Drivers ---> Graphics support ---> Bootup logo下面可以全部选中支持2、打开gimp号称 linux 下的 photoshop ,安装windows版(gimp-2.6.9-i686-setup.exe) 打开任何格式的一张将要转换的图片 选择:图像--->模式--->索引颜色转换--->最大颜色数量设置为(224)--->转换 还可以通过: 阅读全文
posted @ 2011-06-22 20:24 hnrainll 阅读(3580) 评论(0) 推荐(0) 编辑
摘要: 本文由Jacky原创,来自http://blog.chinaunix.net/u1/58780/showart.php?id=462971对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。先看一下GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ){ contents } >region :phdr =fill...}secname和contents是必须的,其他的都 阅读全文
posted @ 2011-06-22 20:17 hnrainll 阅读(1340) 评论(0) 推荐(0) 编辑
摘要: Makefile文件如下:KERNELDIR = /home/wenhao/platform/linux-2.6.34PWD := $(shell pwd)CROSS_COMPILE = /usr/local/arm/4.3.2/bin/arm-linux-CC = $(CROSS_COMPILE)gccobj-m := key.o modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modulesclean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions.PHONY: modules 阅读全文
posted @ 2011-06-22 19:06 hnrainll 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.360doc.com/content/090528/23/150654_3691341.html从PC机下载东西到开发板的嵌入式linux系统里面,首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。下面介绍一下lsz/lrz的使用方法。一、编译lrzsz并下载到开发板上 从http://download.chinaunix.net/download/0007000/6293.shtml下一个lrzsz的tar包,解压缩后输入./configu 阅读全文
posted @ 2011-06-22 19:01 hnrainll 阅读(9852) 评论(0) 推荐(0) 编辑
摘要: 编译内核时候的一个错误提示 make: *** arm/kernel.git/arch/arm: Is a directory. Stop. 这个错误是由在Makefile的 ARCH ?= $(SUBARCH) 这行的后面多了一个空格造成的。 所以,在编辑Makefile时候,每行结尾,一定要确认 阅读全文
posted @ 2011-06-22 11:46 hnrainll 阅读(5906) 评论(0) 推荐(1) 编辑
摘要: mini2440的LEDS驱动程序和测试程序详解http://hi.baidu.com/760159/blog/item/75c225f3dea26d19b17ec525.html一 leds的驱动程序位置:linux 2.6.29/drivers/char/mini2440_leds.c#include <linux/miscdevice.h>#include <linux/delay.h>#include <asm/irq.h>#include <mach/regs-gpio.h>//具体头文件位置/opt/FriendlyARM/mini2 阅读全文
posted @ 2011-06-22 09:29 hnrainll 阅读(1186) 评论(0) 推荐(0) 编辑
摘要: 在编写ioctl代码之前,需要选择对应不同命令的编号。为了防止对错误的设备使用正确的命令,命令号应该在系统范围内唯一,这种错误匹配并不是不会发生,程序可能发现自己正在试图对FIFO和audio等这类非串行设备输入流修改波特率,如果每一个ioctl命令都是唯一的,应用程序进行这种操作时就会得到一个EI 阅读全文
posted @ 2011-06-21 20:14 hnrainll 阅读(5561) 评论(1) 推荐(2) 编辑
摘要: inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。注意inline在c中最好写成__inline,否则编译会出错! 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2) 为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效率很高的语言,这种宏定义在形式及使用上像一个函数,但它使用预处理器实现,没有了参数压栈,代码生成 等一系列的操作,因此,效率很高,这是它在C中被使用的一个主要原因。 2. 这种宏定义在形式上类似于 阅读全文
posted @ 2011-06-21 19:40 hnrainll 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 在嵌入式系统中,BootLoader 是用来初始化硬件,加载内核,传递参数。因为嵌入式系统的硬件环境各不相同,所以嵌入式系统的BootLoader 也各不相同,其中比较通用的是U-Boot,它支持不同的体系结构,如ARM,PowerPC,X86,MIPS 等。本文着重介BootLoader与内核之间 阅读全文
posted @ 2011-06-21 19:36 hnrainll 阅读(3450) 评论(0) 推荐(0) 编辑
摘要: 第一步:添加宏在include/configs/unsp2440.h中增加一项#define CONFIG_CMD_HELLOWORD 1第二步:添加实现在common/文件夹下建立helloword.c#include <common.h>#include <command.h>#ifdef CO 阅读全文
posted @ 2011-06-21 19:14 hnrainll 阅读(927) 评论(0) 推荐(0) 编辑
摘要: 在VIVI中添加自己的指令第一步:找到lib\command.c文件 按照help_cmd为模板添加一个自己的指令结构体,如下:user_command_t hello_cmd = { "hello", //添加的指令名 command_hello, //调用的函数 NULL, "hello \t\ 阅读全文
posted @ 2011-06-21 19:12 hnrainll 阅读(338) 评论(0) 推荐(0) 编辑
上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 71 下一页