- 博客(63)
- 资源 (1)
- 收藏
- 关注
转载 用Crosstool工具构建交叉工具链--2
打开crosstool-0.43目录下的arm9.dat文件,内容如下: KERNELCONFIG=`pwd`/arm.configTARGET=arm-unknown-linux-gnuTARGET_CFLAGS="-O"这个文件一般用于设置一些变量,一般不用改,用默认即可!不过倒是可以将arm-unknown-linux-gnu改成arm-linux,到时候敲命令的时候也短些,所以
2009-12-14 14:22:00
741
1
转载 用Crosstool工具构建交叉工具链 --1
Crosstool 是一组脚本工具集,可构建和测试不同版本的gcc和glibc,用于那些支持glibc的体系结构。它也是一个开源项目,下载地址是http: //kegel.com/crosstool。用Crosstool构建交叉工具链要比上述的分步编译容易得多,并且也方便许多,对于仅仅为了工作需要构建交叉编译工具链的读者建议使用此方法。用Crosstool工具构建所需资源如表2.2所示
2009-12-14 11:28:00
898
转载 标准的文件读过程(read)
1、准备工作。通过VFS层,及一些初始化操作,为真正的读操作做准备。首先是用户进程通过read系统调用发出一个读请求:文件/fs/read_write.casmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count){ struct file *file; ssize_t ret = -EBAD
2009-12-09 12:28:00
2173
2
转载 linux 2.4和linux2.6 Makefile
从 2.4 到 2.6,Linux 内核在可装载模块机制、设备模型、一些核心 API 等方面发生较大改变,设备驱动开发人员面临着将驱动从 2.4 移植到 2.6 内核,或是使驱动同时支持2.4 与 2.6 内核的任务。站在设备驱动开发人员的角度,驱动由一个或几个外部可加载内核模块组成,本文针对 2.6 内核里模块机制的改变对编写设备驱动程序的影响,从内核模块的编译、装载时的版本检查、初始化与退出、
2009-12-09 12:23:00
1125
转载 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响
从 2.4 到 2.6,Linux 内核在可装载模块机制、设备模型、一些核心 API 等方面发生较大改变,设备驱动开发人员面临着将驱动从 2.4 移植到 2.6 内核,或是使驱动同时支持2.4 与 2.6 内核的任务。站在设备驱动开发人员的角度,驱动由一个或几个外部可加载内核模块组成,本文针对 2.6 内核里模块机制的改变对编写设备驱动程序的影响,从内核模块的编译、装载时的版本检查、初始化与退出、
2009-12-08 19:37:00
334
转载 2009年网络最具代表性的”36个汉字”
2009年网络最具代表性的”36个汉字”1.春——信春哥,不挂科;信春哥,考本科;信春哥,原地复活!2.郁——如果哪天不郁闷,就是天堂~3.黑——09年新疆黑网,go-vern-mentB社会化愈演愈烈(石首、邓玉娇、上海钓鱼,...),重庆打黑而群众依然不明真相,污染加剧,加上作为象征的500年一次的日食,所以09年度的汉字是黑!4.哀——为7.5事件中的死难者默哀为各次矿难中的死难者默哀!5.
2009-12-06 15:11:00
190
转载 sizeof结构体和含位域的结构体
一:sizeof进行结构体大小的判断typedef struct{ int a; char b;}A_t;typedef struct{ int a; char b; char c;}B_t;typedef struct{ char a; int b; char c;}C_t;void main(){ char*a=0; co
2009-12-06 14:58:00
2180
原创 rtc hwclock 使用
Linux机器上的时间比较复杂,有各式各样的时钟和选项等等。一:机器里有两个时钟:硬件时钟和系统时钟硬件时钟从根本上讲是CMOS时钟;系统时钟是由内核维护的,它是从1969年末(即传说中的标志Unix时代开端的那个拂晓)开始算起的累积秒数。在DOS或Mac系统中,起作用的是硬件时钟。遗憾的是,你可能已经发现了,绝大多数电脑时钟都是很不准确的。它们从根本上讲是由小
2009-08-19 19:12:00
4200
转载 H.264与MPEG4区别
压缩方式是DVR的核心技术,压缩方式很大程度上决定着图像的质量、压缩比、传输效率、传输速度等性能,它是评价DVR性能优劣的重要一环。 随着多媒体技术的发展,相继推出了许多压缩编码标准,目前主要有JPEG/M-JPEG、H.261/H.263和MPEG等标准。 1、JPEG/M-JPEG ①、JPEG是一种静止图像的压缩标准,它是一种标准的帧内压缩编码方式。当硬件处理速度足够快
2009-07-23 11:32:00
1446
转载 H.264,x264,DivX,Xvid
H.264 H.264是由国际电信联盟(ITU-T)所制定的新一代的视频压缩格式。H.264最具价值的部分无疑是更高的数据压缩比。在同等的图像质量条件下,H.264的数据压缩比能比当前DVD系统中使用的 MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。在 MPEG-2需要6Mbps的传输速率匹配
2009-07-14 11:10:00
3019
1
转载 码率、帧率,what mean?
码率、帧率,what mean? 以前没有接触视频这一块,对视频这一方面的知识不是很了解。现在了解一下码率和帧率的问题。 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最
2009-07-14 11:09:00
730
原创 mplayer移植和mencoder使用
一:mplayer 和 mencoder介绍 MPlayer 是一个电影播放器,它可以在很多系统上运行.它原生支持播放MPEG/VOB,AVI,Ogg/OGM,VIVO,ASF/WMA/WMV,QT/MOV/MP4,RealMedia,Matroska,NUT,NuppelVideo,FLI,YUV4MPEG,FILM,RoQ,PVA文件,也支持Win32的编码解
2009-07-11 16:21:00
4090
转载 Linux configure 参数解释
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。 与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当
2009-06-17 17:54:00
413
原创 gdb+gdbserver 使用
===========================================================================================cross compile==========================================================================================
2009-06-17 11:23:00
2801
原创 还是指针
1.type * [类型的限定符] 名称[=初始化器] *:指向…………的指针,也就是指向TYPE的指针。 类型限定符: const,volatile,restirct2.空指针 空指针一定要有别于其他有效的指针,因此,返回值为指针 的函数通常会使用空指针做为失败的返回值3.初始化器来初始化指针 . 一个空指针NULL . 指向相同类型的指针 . 一
2009-06-08 18:26:00
381
原创 madplay播放器移植
madplay播放器移植,libmad是定点运算的。播放很流畅。如果采用madplay,需要libmad, libid3tag, zlib等。step to compile madplay 0.set environment export PATH=/opt/gcc-3.3.6-glibc-2.3.6/bin:$PATH 1
2009-06-02 16:29:00
578
原创 cq8401-spi-sc16IS751 驱动分析
1. 工作原理 CQ8401 spi总线(master)通过两个SC16IS752芯片(slave),外扩232,GPS,485,422;一块SC16IS752芯片最多只能扩两个设备。 涉及到的知识:SPI协议(参考网上资料有很多),UART工作原理(参考设备驱动)。 1.1原理图:
2009-05-19 21:02:00
2244
原创 i2s cs42l51 驱动分析
1. 工作原理 I2S有5根线,每根线的作用和使用请驱动开发人员参考 《设备驱动程序开发详解》,《嵌入式系统接口设计与LINUX驱动程序开发》,CQ8401 datesheet,相关章节。而且要完成该驱动需要具备DMA,i2s,i2c等相关知识。 1.1 原理理解 CQ8401 i2s 于 codec cs42l51 连接如图: 上图说明如下: 图左边是CQ8401内部集成
2009-05-19 20:55:00
5517
转载 Linux内核编译 CONFIG_MODVERSIONS 作用
前2天在编译2.6.28 一个驱动模块的时候,报错误:unresloved symbol,后来发现是CONFIG_MODVERSIONS错误。 在晚上查阅资料发现: linux 内核里面有很多export给其他模块使用的符号表;一般情况下,如果没有选择CONFIG_MODVERSIONS,这些符号是正常的字串;如果选择了CONFIG_MODVERSIO
2009-05-19 20:46:00
1415
原创 如何判度你的机器是32位的还是16位的
#include #include main(){#if 0 int i=~0; if(i>65536) printf("32bit machine/n"); else printf("16bit machine/n");#endif if(sizeof(int)==4) printf("32bit machine/n");
2009-04-27 16:36:00
927
1
原创 container_of 理解
问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structure out to the containing structure* @ptr: the pointer to the member.* @type: the type of the c
2009-04-20 10:49:00
41349
15
原创 ubuntu-810 重装系统
今天重装系统,结合需要安装的包,记录如下:1.网络配置 Gnome Network Manager好像有一些bug,你手动设置了静态IP后,当系统重启后又回到了DHCP设置。下面这个步骤是移除Gnome Network Manager,手动配置必需的文件来设置静态IPStep 1 –首先移除Gnome Network Manager,因为如果你不移除,当系统重启后,会覆盖你的刚刚的
2009-04-10 19:14:00
664
原创 spi 学习
对于SPI,感觉熟悉协议比较重要,SPI总线可以配置成单主单从,单主多从,互为主从。以下网页比较简单的介绍了该协议。http://www.dzkf.cn/html/zonghejishu/2007/0829/2544.html 简单的,对主极端来说,发送数据的同时也在从slave接受数据,比如说:MCU上升沿发送,下降沿接收。下面就以同事写的spi_eeprom.c(spi 读
2009-03-05 17:34:00
1123
转载 atoi 和itoa用法
1.itoa 在linux下没有itoa这个函数 原型:char *itoa(int value,char *string,int radix) 用法:#include 功能:将整数value转换成字符串存入string, radix为转换时所用基数(保存到字符串中的数据的进制基数 2 8 10
2009-03-04 16:31:00
25624
2
原创 连接字符串-sprintf
在写程序中,有时需要用到连接2个字符串,在这里介绍一下2个函数。函数一:sprintf参考:http://oss.lzu.edu.cn/blog/article.php?tid_877.html定义如下:int sprintf( char *buffer, const char *format [, argument] ... );说明如下:sprintf是个变参函数,除了前两个参数类型固
2009-03-04 16:26:00
5722
1
转载 C语言中类型的自动转换
同一句语句或表达式如果使用了多种类型的变量和常量(类型混用),C 会自动把它们转换成同一种类型。以下是自动类型转换的基本规则: 1. 在表达式中,char 和 short 类型的值,无论有符号还是无符号,都会自动转换成 int 或者 unsignedint(如果 short 的大小和 int 一样,unsigned short 的表示范围就大于 int,在这种情况下,unsigned
2009-02-26 14:29:00
1224
原创 uart dma实现方式分析
在做uart DMA驱动期间,前后加起来也有1个月左右的时间,总的来说比较全面的了解了uart,DMA的工作原理。在调试中,遇到了最大问题就是关于DMA操作这快的不熟悉,导致浪费了很多的时间和精力。对UART,DMA的工作原理可以看LDD3,或者设备驱动一书中也有详细介绍,uart-dma驱动的移植可以参好drivers/serial/bfin_5xx.c UART-DMA总
2009-02-25 14:57:00
7737
2
转载 USB学习二:从USB设备插上到驱动probe调用流程分析
http://blog.youkuaiyun.com/aaronychen/archive/2008/03/17/2192147.aspx本文将详细讲述2.6.22下的一个USB设备插上linux系统的PC后是如何一步一步调到我们的usb设备驱动的probe函数的, 我们知道我们的USB驱动的probe函数中的一个参数是interface结构, 因此一般来说, 一个USB设备中的任何一个接口都应该有对应的
2009-02-17 17:57:00
2540
1
原创 关于对字的理解
一直以来,都对字的理解比较模糊,始终停留在学校里1个字=2个字节的理解,疏不知其实这里面 不同的处理器有不一样的等式。 在计算机的存储器中占据一个单独的地址(内存单元的编号)并作为一个单元(由多个字节组合而成)处理的一组二进制数位称为“字”(Word)。字,指的是数据字,它由若干个位或字节所组成。对计算机的运算器和内存储器来说,一个字或几个字是一个数据;对控制
2009-02-17 11:23:00
612
转载 USB学习一:uhci ohci ehci三者区别
1.uhci ohci ehci他们都是主机控制器的规格OHCI主要为非PC系统上以及带有SiShe ALi芯片组的PC主板上的USB芯片UHCI大多为Intel和Via主板上的USB控制器芯片。UHCI的硬件电路比OHCI简单,成本第,但驱动复杂。但他们都是由USB1.1规格的。EHCI是有Intel等几个厂商研发,兼容OHCI UHCI 遵循USB2.0规范。USB规范都是从寄存器级别规
2009-02-17 09:16:00
15999
3
原创 bus,device,driver三者关系
bus,device,driver三者关系bus:总线作为主机和外设的连接通道,有些总线是比较规范的,形成了很多协议。如PCI,USB,1394,IIC等。任何设备都可以选择合适的总线连接到主机。当然主机也可能就是CPU本身。内存也是通过BUS连接到主机的,可内存使用的总线不是外设总线,因此和内存使用相同类型的总线的设备,谈及BUS比较含糊。一块网卡在嵌入式开发中,直接通过内存总线接入到CPU。我
2009-02-16 15:29:00
4012
原创 busybox 制作动态库文件系统
busybox 如何做动态文件系统 libcrypt.so.1 => /lib/libcrypt.so.1 (0x2ab04000) libm.so.6 => /lib/libm.so.6 (0x2ab71000) libc.so.6 => /l
2009-02-12 10:51:00
2799
原创 基于busybox 1.7.0 静态库文件系统制作
基于busybox 1.7.0 静态库文件系统制作1.mkdir rootfs2.cd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp var3.mkdir usr/bin usr/lib usr/sbin lib/modules4.创建设备文件mknod -m 666 console c 5 1mknod -m 666 ttyS0
2009-02-10 14:13:00
1935
转载 修正串口控制台无法输入的BUG
问题:输入字符,没有回显,输入命令没有输出4020使用的串口完全兼容8250,8250调用串口顺序如下:serial8250_interrupt(串口芯片层)->seirial8250_handle_port(串口芯片层)-> receive_chars(串口芯片层)-> uart_insert_char(串口抽象层)-> tty_insert_fl
2008-12-30 11:46:00
2010
原创 mtd-utils 工具的使用
一.下载源码包。二.编译1.修改Makefile CROSS=mipsel-linux-2.make3.将编译生成的可执行文件COPY到开发板上三.命令的使用使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd*#cat /proc/mtddev: size erasesize namemtd0: 00c00000 0002000
2008-12-25 15:53:00
24290
3
原创 uart-phy kernel-phy 分析
1.u-boot里面对于PHY芯片的操作网卡驱动路径:cpu/mips/clx_eth.c涉及到PHY的操作在函数static int search_phy(int phy_id){ unsigned int r; r = mii_read(phy_id, 1); if (r!=0 && r!=0xffff) return
2008-12-22 16:43:00
940
原创 uart启动流程,及8250.c分析
参考:http://linux.chinaunix.net/bbs/viewthread.php?tid=1025844一.串口初始化流程在init/main.c start_kernel()-->setup_arch()-->arch_mem_init()-->plat_mem_setup()-->clx_serial_setup()二.函数分析函数一:void __init clx_ser
2008-12-20 15:40:00
3331
转载 如何修改RTL8139网卡MAC 地址
利用程序pg8139.exe1 导出文件: 在计算机中插入一块8139网卡(无须BootRom片)。利用pg8139.exe程序导出pci8139网卡中的93c64串行存储芯片的内容。 首先将8139网卡安装在主板上,开机进入系统,安装网卡的驱动程序,安装结束后重新启动机器;一定要安装网卡驱动程序,否则无法使用
2008-12-05 15:37:00
2483
原创 Ubuntu Virtualbox桥接 配置
Ubuntu Virtualbox桥接 配置1.安装Virtualbox 软件,导入镜像包,看XP 能否起来 $sudo apt-get install virtualbox2.安装必要工具$sudo apt-get install uml-utilities bridge-utils3.设置文件/dev/net/tun的读写权限chmod 0666 /dev/net/tun4.设置Virtua
2008-12-04 15:54:00
1832
转载 git 学习3:Git的使用技巧篇
git & kernel notesa> Google Talk: Linus Torvalds on git http://www.youtube.com/watch?v=4XpnKHJAok8b> Google Talk: Randal Schwartz on git http://www.youtube.com/watch?v=8dhZ9BXQgc4b> git中文教程(写于200
2008-12-03 14:44:00
1538
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人