
Linux
hulifox007
这个作者很懒,什么都没留下…
展开
-
终于搞定了Fedora 6下的双头显示,贴下xorg.conf
这两天经过无数次的尝试,终于让双头显示正常工作了,可以实现桌面扩展,我的芯片是945GT集成显卡,主板上提供了VGA TVOUT 和DVI接口,两个显示器,一个接在VGA上,一个通过DVI->VGA转接头接在DVI上,下面是我的xorg.conf # Xorg configuration created by system-config-display#这里配置屏幕布局Section "Serve原创 2007-12-14 17:19:00 · 1965 阅读 · 2 评论 -
ARM裸机程序研究 - S3C2440时钟初始化
2440内部的时钟主要有3个, FCLK, HCLK, PCLK。 FCLK 提供给ARM920T内核使用, HCLK主要提供给高速外设使用,如显示接口,内存控制器, PCLK提供给低速外设使用,如串口,SPI, GPIO 等。另外还有一个UCLK, 只提供给USB Host 和USB Device使用。 2440的时钟来源有两种,外部时钟和通过外接晶振提供时钟。时钟源的选择通过引脚OM原创 2012-04-13 10:57:36 · 3045 阅读 · 0 评论 -
How to disable "Crtl+Alt+Backspace" and VT Switch under XWindow
Open /etc/X11/xorg.conf. Add following options into "ServerFlags" Section. If there's no such section, you can create one.Option "DontZap" "yes" #Disable Ctrl+Alt+BackspaceOption原创 2011-12-06 04:34:45 · 663 阅读 · 0 评论 -
双网卡的回环测试
<br />最近碰到这样一个问题,一台linux机器上装有两个网卡,分别为eth0和eth1,将这两个网卡用网线直接连接起来,要进行回环测试,也就是从eth1发数据从eth0收到,从eth0发数据从eth1收到。<br />本来,通过原始套接字,直接绑定到指定的网卡上进行接收和发送数据,是很容易完成任务。但要求是要用基于IP的协议,TCP或UDP完成测试。Linux的内核对从一个网络地址发往另一个网络地址的数据包,如果这两个网络地址同属一个host,则这个数据包会直接在内部转发,根本不会放到网络设备上。后来原创 2010-09-30 00:56:00 · 7793 阅读 · 1 评论 -
用openocd+jtag并口小板调试qq2440
*关于openocd openocd是一个开源的调试工具,支持一些主流的CPU,不过目前来看,支持ARM是比较多的。其主页为http://openocd.berlios.de/ . 目前openocd开发得还比较频繁,我现在用的svn revision是1833。当然,如果有新的话,最好尝试最新的revision。如果遇到了问题,比如编译通不过之类的,可以再试试稍微旧一点的版本。原创 2009-11-09 11:16:00 · 5082 阅读 · 1 评论 -
Start porting kernel 2.6.27.8 to qq2440 (4) --Congratuation! Kernel boots OK!
从arch/arm/mach-s3c2440/mach-smdk2440.c 复制一份为mach-qq2440.c,准备依葫芦画瓢,当然,先是要修改该目录下的Makefile和Kconfig,照着smdk2440添加一份qq2440的就可以了。mach-qq2440.c中,先是去掉了smdk2440开发板映射的相关地方,同时去掉了有关framebuffer和lcd还有nand的配置,基本上里面就原创 2008-12-13 11:54:00 · 909 阅读 · 0 评论 -
Start porting kernel 2.6.27.8 to qq2440 (5) -- clock issue
把kernel boot起来后,然后重新编译了kernel,添加网络支持,因为2.6.27.8里面的网卡cs8900的驱动还有待修改,所以只好用usbnet,用usbdevice来模拟网卡,同时给kernel加上rootfs on nfs 支持。在PC几上建好qq2440_rootfs的目录,把基本的lib复制过去,然后编译了busybox,也复制过去。重新启动开发板,设置好命令行参数原创 2008-12-15 12:23:00 · 755 阅读 · 0 评论 -
Start porting kernel 2.6.27.8 to qq2440 (3) -- clock initialization
为了保证开发板上各个部件的正常工作,需要设置正确的时钟频率。以2.6.27.8中SMDK2440举例。在arch/arm/mach-s3c2440/march-smdk2440.c中, MACHINE_START/MACHINE_END指定了开发板的配置情况,其中.map_io = smdk2440_map_io 。在smdk_2440_map_io函数中,调用了s3c24xx_init_clo原创 2008-12-12 14:45:00 · 633 阅读 · 0 评论 -
Start porting kernel 2.6.27.8 to qq2440 (2) -- zImage generation
今天看了下zImage的生成,真是晕哦,头大了一圈,主要还是对Makefile和lds链接脚本不熟练。参考了一本书 《Embedded.Linux.Primer》,上面讲得很不错。不过到现在也还没搞得太清楚,算是有了一个大的轮廓。先记一下。首先,编译过程会产生一个vmlinux文件,这个就已经是完整的内核了,不过是没有压缩的,然后copy为Image,相关过程见arch/arm/boot/Mak原创 2008-12-12 11:00:00 · 598 阅读 · 0 评论 -
Start porting kernel 2.6.27.8 to qq2440 (1)
打算从现在开始,尝试将目前最新的kernel 2.6.27.8移植到qq2440开发板上。主要有以下几个原因:1 熟悉kernel的移植过程(主要目的)2 qq2440目前的kernel是2.6.13,用我自己编译的arm-linux-gcc(4.1.2)编译不过,虽然不是什么大问题,主要是不爽阿。2.6内核已经有S3C2440的支持,移植起来应该不会又太大的工作量,主要是一些关于开发板的配置的信原创 2008-12-11 20:36:00 · 693 阅读 · 0 评论 -
gdb远程串行协议
首先不知道这个标题翻译得正不正确,其原文是“gdb remote serial protocol”。这个是gdb在远程调试的时候,gdb端和gdbserver端通讯的协议。最近想看看arm linux,就想顺便研究下这个协议。关于这个协议,有一个文档,请见:http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gdb/re原创 2009-02-19 23:00:00 · 2654 阅读 · 0 评论 -
使用OE制作arm-linux交叉工具链
目前制作交叉工具链的办法,我所知道的:1.手工编译,这个太复杂了,我试过几次,都没成功2.使用crosstool,这个比较方便,但是好像crosstool没有维护了。3.使用oe,这个方法不错,而且将来也可以用oe来编译其他的包,直至编译整个系统。所有工作都在 ~/oe 下完成mkdir ~/oecd ~/oe1.获取bitbakecd ~/oesvn co svn://svn.berlios.d原创 2009-02-19 18:09:00 · 2394 阅读 · 0 评论 -
arm平台上访问设备内存
在qq2440上编写cs8900网卡驱动, cs8900可以从io和mem两个空间访问,io映射到0x19000000, mem映射到0x18000000。在kernel中访问其内存,首先要将物理地址映射到虚拟空间,通过ioremap完成,ioremap要关闭指定页的cache,然后就可以通过inb inw ind outb outw outd这样的宏来访问了,这些宏里面设置了valotile,原创 2008-11-24 10:31:00 · 807 阅读 · 0 评论 -
升级xserver到1.4,关于pkg_config
最近需要在intel 965gme的芯片组上作dualhead的试验,于是安装了 RH5,结果发现RH5自带的驱动不支持965gme 里面的集成显卡,没办法,只好更新驱动,去intellinuxgraphics.org的网站上去下了最新的驱动,发现不能build过,该驱动使用了 pkg-config进行配置。我之前也没有注意到pkg-config,后来查了一些资料。原来pkg-config就是用来原创 2007-12-17 20:00:00 · 1650 阅读 · 0 评论 -
ARM裸机程序研究 - 编译和链接
1. Linux下的二进制可执行文件。 如果世界很简单,那么二进制可执行文件也应该很简单,只包括CPU要执行的指令就可以了。可惜,世界并不简单……。Linux下的二进制可执行文件(以下简称可执行文件),也并不是只包括了指令,还包括了很多其他的信息,比如,执行需要的数据,重定位信息,调试信息,动态链接信息,等等。 所有这些信息都按照一个预定的格式组织在一个可执行文件里面。Linux下叫EL原创 2012-04-09 12:09:49 · 8955 阅读 · 5 评论