摘要: 这几天在用libvlc的时候看到它在terminal里面输出彩色字体觉得挺好玩的,以为是用ncurses实现的,后来一查原来用ANSI C的转义字符就可以实现,不过好现只在linux下有效吧, windows神马的貌似不行,把项目终端凌乱的输出信息整理了一下,关键字符也都用彩色显示,看上去舒服多了,写一下用法以防止以后忘了再去查。先把控制码列出来(从网上搜来的):\033[0m 关闭所有属性\033[1m 设置高亮度\033[4m 下划线\033[5m 闪烁\033[7m 反显\033[8m 消隐\033[30m----\33[37m 设置前景色\033[40m----\33[47m 设置背景 阅读全文
posted @ 2011-07-01 20:16 hnrainll 阅读(8804) 评论(0) 推荐(2) 编辑
摘要: Linux Shell的输入彩色字体文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例: echo -e "\033[44;37;5m ME \033[0m COOL"以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 “44;37;5” 和“0”。修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。可以选择的 阅读全文
posted @ 2011-07-01 20:14 hnrainll 阅读(1347) 评论(0) 推荐(1) 编辑
摘要: S3C2440A 中的中断控制器可以从60 个中断源接收中断请求。这些中断源由内部外设提供,例如DMA 控制器、UART、IIC 等。在这些中断源中,UARTn、AC97 和外部中断EINTn 对于中断控制器来说是或逻辑。当接收来自内部外设和外部中断请求引脚的多个中断请求时,在仲裁过程后中断控制器请求ARM920T 的FIR 或IRQ 中断。仲裁过程依赖于硬件优先级逻辑且其结果写入中断未决寄存器,其帮助用户通报那些由不同中断源生成的中断。14.1 中断控制器操作14.1.1 程序状态寄存器(PSR)的F 位和L 位如果在ARM920T 的CPU 中的程序状态寄存器的F 位置1,CPU 不能接收 阅读全文
posted @ 2011-07-01 17:02 hnrainll 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: 全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。 系统运行时间以秒为单位,等于jiffies/Hz。注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。将以秒为单位的时间转化为jiffies:seconds * Hz将jiffies转化为以秒为单位的时间:jiffies / Hz相比之下,内核中将秒转换为jiffies用的多些。 jiffies的内部表示 jiffies定义于文件< 阅读全文
posted @ 2011-07-01 16:49 hnrainll 阅读(868) 评论(0) 推荐(0) 编辑
摘要: Linux2.6内核驱动移植参考 随着Linux2.6的发布,由于2.6内核做了教的改动,各个设备的驱动程序在不同程度上要 进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举 了2.6内核同以前版本的绝大多数变化,可惜的是由于时间和精力有限没有详细列出各个 函数的用法。 特别声明:该文档中的内容来自http:/lwn.net,该网也上也有各个函数的较为详细的 说明可供各位参考。如果需要该文档的word版的朋友, 请mail到jlpan82@gmail.com索 取。 1、 使用新的入口 必须包含 <linux/init.h> module_ini 阅读全文
posted @ 2011-07-01 16:45 hnrainll 阅读(2803) 评论(0) 推荐(0) 编辑
摘要: Linux HZLinux核心几个重要跟时间有关的名词或变数,底下将介绍HZ、tick与jiffies。HZLinux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本2.6.20-15为例): adrian@adrian-desktop:~$ cd /usr/src/linux adrian@adrian-desktop:/usr/src/linux$ make menuconfig Pr 阅读全文
posted @ 2011-07-01 16:37 hnrainll 阅读(3913) 评论(0) 推荐(0) 编辑
摘要: 中断处理: 中断是嵌入式里最重要的一个概念。一般一个系统对于一个设备要么采用中断方式,要么采用轮询方式 。中断方式可以有效地减少处理器负荷 ,但是如果大量采用中断则有可能降低处理速度 ,因为中断处理破坏了处理器的流水机制。复习下微机原理中中断处理过程和中断机制。 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) 编辑