上一页 1 ··· 42 43 44 45 46 47 48 49 50 ··· 71 下一页
摘要: 中断处理: 中断是嵌入式里最重要的一个概念。一般一个系统对于一个设备要么采用中断方式,要么采用轮询方式 。中断方式可以有效地减少处理器负荷 ,但是如果大量采用中断则有可能降低处理速度 ,因为中断处理破坏了处理器的流水机制。复习下微机原理中中断处理过程和中断机制。 2440中支持FIQ(快速中断)和IRQ(普通中断)2种中断方式,一般只采用IRQ中断。2440有60个中断源,不支持中断嵌套。具体的参考用户手册第14章。下图是2440中断产生过程。具体的讲解一下,关于寄存器请查阅用户手册。 中断源分为2种,子中断中断源和中断源,当一个子中断产生一个中断信号,子中断源挂起寄存器(SUBRCPND)相 阅读全文
posted @ 2011-07-01 14:03 hnrainll 阅读(1306) 评论(0) 推荐(0) 编辑
摘要: ioctl函数本函数影响由fd参数引用的一个打开的文件。#include<unistd.h>intioctl( int fd, int request, .../* void *arg */ );返回0:成功 -1:出错第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把和网络相关的请求划分为6类:套接口操作文件操作接口操作ARP高速缓存操作路由表操作流系统下表列出了网络相关ioctl请求的request参数以及arg地址必须指向的数据类型:类别Request说明数据类型套接口SIOCATMARKSIOCSPGRPSIOCGPGRP是否位于带外标记设置套接口的进 阅读全文
posted @ 2011-07-01 11:42 hnrainll 阅读(3143) 评论(0) 推荐(0) 编辑
摘要: 前些天,编程序是用到了很久以前写的C程序,想把里面的函数利用起来,连接发现出现了找不到具体函数的错误:以下是假设旧的C程序库C的头文件/*-----------c.h--------------*/#ifndef _C_H_#define _C_H_extern int add(int x, int y);#endifC的源文件/*-----------c.c--------------*/int add(int x, int y){ return x+y;}C++的调用/*-----------cpp.cpp--------------*/#include "c.h"vo 阅读全文
posted @ 2011-06-29 20:29 hnrainll 阅读(447) 评论(0) 推荐(0) 编辑
摘要: S3C2440的中断寄存器:1.中断分两大类:内部中断和外部中断。2.外部中断。24个外部中断占用GPF0-GPF7(EINT0-EINT7),GPG0-GPG15(EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。具体参考datesheet数据手册。寄存器:EXTINT0-EXTINT2:三个寄存器设定EINT0-EINT23的触发方式。 EINTFLT0-EINTFLT3:控制滤波时钟和滤波宽度。 EINTPEND:这个是中断挂起寄存器,清除时要写1,后面还有几个是写1清除。当一个外部中断(EINT4-EINT23)发生后,那么相应的位会被置1。为什么没有 阅读全文
posted @ 2011-06-29 19:17 hnrainll 阅读(2002) 评论(0) 推荐(0) 编辑
摘要: S3c2440支持多达36个内部中断源和24个外部中断源,分别使用内部终端屏蔽寄存器INTMSK和外部中断寄存器MSK进行屏蔽控制。其中,外部中断源通过GPIO以复用的方式成为内部中断源的一部分。但是我们清楚,INTMSK是一个32位的寄存器,最多只能支持32中断,它是如何对应这么多中断的呢?首先我们先看INTMSK对应的位。INTERRUPT MASK (INTMSK) REGISTER (Continued)INT_ADC [31] 0 = Service available, 1 = Masked 1INT_RTC [30] 0 = Service available, 1 = Mask 阅读全文
posted @ 2011-06-29 15:47 hnrainll 阅读(1422) 评论(0) 推荐(0) 编辑
摘要: Shell脚本的执行方式: 注明:wd代表“脚本保存的目录”1.fork语法:/wd/shell.shfork是最普通的,就是直接在脚本里面用/wd/shell.sh来调用shell.sh这个脚本.运行的时候开一个子shell执行调用的脚本,子shell执行的时候,父shell还在。子shell执行完毕后返回父shell。子shell从父shell继承环境变量.但是子shell中的环境变量不会带回父shell2.exec语法: exec /wd/shell.shexec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。但是使用e 阅读全文
posted @ 2011-06-29 06:52 hnrainll 阅读(9678) 评论(0) 推荐(1) 编辑
摘要: 1、总结背景在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本案例基于RedHat AS4讲解环境变量定制的问题。2、变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。3、定制 阅读全文
posted @ 2011-06-29 06:36 hnrainll 阅读(868) 评论(0) 推荐(0) 编辑
摘要: 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。source命令:source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。用法:source filename 或 . filenamesource命令(从 C Shell 而来)是bash s 阅读全文
posted @ 2011-06-29 00:11 hnrainll 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 要想正确地执行2440的外部中断,一般需要完成两个部分内容:中断初始化和中断处理函数。 在具体执行中断之前,要初始化好要用的中断。2440的外部中断引脚EINT与通用IO引脚F和G复用,要想使用中断功能,就要把相应的引脚配置成中断模式,如我们想把端口F0设置成外部中断,而其他引脚功能不变,则GPFCON=(GPFCON & ~0x3) | 0x2。配置完引脚后,还需要配置具体的中断功能。我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器为INTMSK;还要设置外部中断的触发方式,如低电平、高电平、上升沿、下降沿等,相对应的寄存器为EXTINTn。另外由于EINT4到EINT7 阅读全文
posted @ 2011-06-28 21:34 hnrainll 阅读(1450) 评论(0) 推荐(0) 编辑
摘要: 使用前的准备:1、首先下载makeself的软件包,其中包含的文件主要有:makeself.sh makeself-header.sh等2、将这两个文件放入目录/usr/bin下,并通过ln -s makeself.sh makeself来做一个符号链接。使用:makeself是一个小巧的shell工具,它将你的程序打成一个可执行的shell包,安装更加容易方便。如有一个文件夹: dnsServerSetup文件夹内有文件:named.conf.in named.broadcast localdomain.zone named.zero named.local bind-chroot-9.2. 阅读全文
posted @ 2011-06-28 20:20 hnrainll 阅读(1690) 评论(0) 推荐(0) 编辑
摘要: makeself是一个小型shell脚本,他可以吧特定目录下的文件打包成为一个shell脚本类似的文件,并且能够像shell脚本一样执行。例如我在test目录下创建了多个shell脚本和一些配置文件,这些脚本在执行时可能会相互调用并读取配置文件。使用makeself工具可以将这些文件统一打包成一个脚本并执行,非常的方便。makeself使用方法:1、首先makeself:http://megastep.org/makeself/makeself.run2、下载完成后会得到makeself.run,文件,直接运行后会得到makeself.sh(可以将该文件拷贝到/usr/bin目录下)3、mak 阅读全文
posted @ 2011-06-28 20:20 hnrainll 阅读(3904) 评论(0) 推荐(0) 编辑
摘要: 在讲解之前,先介绍一下s3c2440时钟系统。一般来说,MCU的主时钟源主要是外部晶振或外部时钟,而用的最多的是外部晶振。在正确情况下,系统内所使用的时钟都是外部时钟源经过一定的处理得到的。由于外部时钟源的频率一般不能满足系统所需要的高频条件,所以往往需要PLL(锁相环)进行倍频处理。在s3c2440中,有2个不同的PLL,一个是MPLL,另一个是UPLL。UPLL是给USB提供48MHz。在这里,我们主要介绍MPLL。外部时钟源经过MPLL处理后能够得到三个不同的系统时钟:FCLK、HCLK和PCLK。FCLK是主频时钟,用于ARM920T内核;HCLK用于AHB总线设备,如ARM920T, 阅读全文
posted @ 2011-06-28 16:07 hnrainll 阅读(3213) 评论(1) 推荐(2) 编辑
摘要: S3c2440 有5 个16 位的定时器。定时器0、1、2、3 有脉宽调制功能(PWM)。定时器4有一个没有输出引脚的内部定时器。定时器0 有一个用于大电流设备的死区生成器。定时器0 和1 共享一个8 位的预分频器(预定标器),定时器2,3,4 共享另一个8 位预分频器.定时器的时钟源为PCLK,首先经过预分频器降低频率后,进入第二个分频.可以生成5 种不同的分频信号(1/2,1/4,1/8,1/16 和TCLK)定时器启动后,TCNTn开始减一计数,当TCNTn 等于TCMPn时, TOUTn 反转, TCNTn继续减数.当TCNTn= 0 时, TOUTn 再次反转,并触发中断(中断已经使 阅读全文
posted @ 2011-06-28 15:01 hnrainll 阅读(2610) 评论(0) 推荐(0) 编辑
摘要: 修改ip地址即时生效:# ifconfig eth0 192.168.0.20 netmask 255.255.255.0启动生效:修改/etc/sysconfig/network-scripts/ifcfg-eth0修改default gateway即时生效:# route add default gw 192.168.0.254启动生效:修改/etc/sysconfig/network-scripts/ifcfg-eth0修改dns修改/etc/resolv.conf修改后可即时生效,启动同样有效修改host name即时生效:# hostname fc2启动生效:修改/etc/sysco 阅读全文
posted @ 2011-06-25 18:26 hnrainll 阅读(1223) 评论(0) 推荐(0) 编辑
摘要: mdev是busybox下的udev的精简版,适合在嵌入式系统下管理设备但mdev会把所有的设备文件都动态地创建在/dev/目录下,如果程序使用dev目录子目录下的设备,就必须修改程序,比较麻烦,当然也可以在mdev运行之后,手工创建子目录,然后再用 ln -s 做设备文件的软链接这里有人作出了更好的脚本处理机制:http://lists.busybox.net/pipermail/busybox/2007-May/027309.html再贴上mdev的使用说明-------------------------------------------MDEV 入门(转)Busybox-1.7.0/ 阅读全文
posted @ 2011-06-25 14:45 hnrainll 阅读(16387) 评论(2) 推荐(3) 编辑
摘要: Linux静态IP设置IP配置:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=staticHWADDR=00:26:18:0B:38:C0ONBOOT=yesIPADDR=192.168.0.20NETMASK=255.255.255.0GATEWAY=192.168.0.1IP生效:/sbin/ifdown eth0/sbin/ifup eth0通知网关更新信息:/etc/init.d/network restart配置DNS:vi /etc/resolv.confnameserver 202.96.134.133 阅读全文
posted @ 2011-06-24 15:59 hnrainll 阅读(19719) 评论(0) 推荐(4) 编辑
摘要: 配置文件位于:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.3NETMASK=255.255.255.0GATEWAY=192.168.0.1 使IP地址生效:/sbin/ifdown eth0/sbin/ifup eth0配置dns解析echo "nameserver 211.98.1.28">> /etc/resolv.conf 通知网关更新信息:/etc/init.d/network restart ①简介 阅读全文
posted @ 2011-06-24 15:58 hnrainll 阅读(12565) 评论(0) 推荐(0) 编辑
摘要: 作者:北南南北来自:LinuxSir.Org摘要:本文是关于Linux操作系统主机名(hostname)的文档,对主要配置文件/etc/hosts进行简要的说明 ;另外对基配具工具hostname也进行了举例说明; 欢迎高手斧正,谢谢; ++++++++++++++++++++++++++++++++++++++++正文++++++++++++++++++++++++++++++++++++++++1、 什么是主机名;无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,所以又有了域名。域名只是在公网 阅读全文
posted @ 2011-06-24 15:05 hnrainll 阅读(10078) 评论(0) 推荐(1) 编辑
摘要: rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具优点:比ftp命令方便,而且服务器不用打开FTP服务。首先先了解有关的两个命令可以提供很方便的操作:sz:将选定的文件发送(send)到本地机器rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器第一步:下载rzsz-3.48.tar.gz文件下载地址:http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz [root@localhost soft]# ll总计 72-rw-r--r-- 1 root root 65566 2004-05 阅读全文
posted @ 2011-06-24 12:06 hnrainll 阅读(3284) 评论(0) 推荐(0) 编辑
摘要: Vmware有自己的硬盘管理工具,其所在位置是/vmware/vmware workstation/,名称为vmware-vdiskmanager.exe,具体的参数及命令格式可以参照帮助文档。其使用方法如下:假设虚拟机装有Linux操作系统,虚拟机名称为AS4,安装路径是H:\AS4,则首先进入到vmware-vdiskmanager所在的目录下,然后执行如下命令:vmware-vdiskmanager.exe -x 10Gb "H:\AS4\Red Hat Enterprise Linux 4.vmdk"其中,-x参数表示为虚拟机增加存储空间,后面所跟的数字表示存储空间 阅读全文
posted @ 2011-06-24 09:50 hnrainll 阅读(5362) 评论(0) 推荐(0) 编辑
上一页 1 ··· 42 43 44 45 46 47 48 49 50 ··· 71 下一页