Chinaunix首页 | 论坛 | 博客
  • 博客访问: 486930
  • 博文数量: 115
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 1401
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 16:03
文章分类

全部博文(115)

文章存档

2013年(1)

2010年(17)

2009年(76)

2008年(21)

我的朋友

分类: LINUX

2009-06-05 11:40:04

今天又是周五了,把这段时间的工作总结一下吧:

1、说实话,大部分时间用于玩系统了,装了ctags + taglist + cscope + cppcomplete + global,打造了一个属于我自己的编程盒源代码阅读平台,自我感觉良好,呵呵,不过这些没什么可以总结的似乎,都是一些命令的使用和基本设置,网上资料也都很多,这里就不多说了,另外我还安装了c.vim,蛮有意思的小工具,在编程过程中可以省去很多事,用起来比较方便。
有兴趣的可以看看这个:
http://www.maycode.com/index.php/linux/54-linuxdevelop/1364-editor.html

2、项目方面的进展,代理进程部分新增了用于通信的空间分配和优先级跃迁,同时也找到了我曾经一直困惑的内存泄漏问题的根源,不过,这个很不好意思,是自己的失误,当时只考虑了错误处理时的内存释放,用完之后并没有自己主动释放。以后要谨慎才是。还有一点,上一次,傻傻的定义了一个指针,还有指向任何实体就去应用,又是segment fault,真是faint,最近怎么总是粗心,引以为戒阿。

3、交叉环境的建立
第一阶段:
1、安装一种linux
2、以普通用户登陆
3、下载目标机上运行系统所需要的软件。我下载的是:
binutils-2.15.tar.bz2
crosstool-0.43.tar.gz
gcc-3.4.4.tar.bz2
gdb-6.5.tar.bz2
gdb-6.5.tar.gz
glibc-2.3.5.tar.bz2
glibc-linuxthreads-2.3.5.tar.gz
linux-2.6.8.tar.bz2
linux-2.6-virtex.tar.gz
linux-libc-headers-2.6.12.0.tar.bz2
rrcs_test.patch
4、修改crosstool-0.43.tar.gz解压后的demo-powerpc-405.sh
   将eval `cat powerpc-405.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh –notest改为你刚下载的版本
   即:eval `cat powerpc-405.dat gcc-3.4.4-glibc-2.3.5.dat` sh all.sh –notest

5、在/opt目录下建个crosstool的文件夹,并改变其所有者
   #mkdir /opt/crosstool
   #chown $USER /opt/crosstool
6、先unset LD_LIBRARY_PATH。
7、 安装语法分析程序生成器bison/flex,执行apt-get install bison flex
8、 保证/bin/sh的连接对象为bash。
9、运行demo-powerpc-405.sh
   $sh demo-powerpc-405.sh
10、等待
11、添加环境变量
   #vi /etc/profile
   加入:PATH="$PATH:/opt/crosstool/gcc-3.4.4-glibc-2.3.5/powerpc-405-linux-gnu/bin"

第二阶段:
1、解压linux-2.6-virtex.tar.gz
   tar zxvf linux-2.6-virtex.tar.gz -C ~/work(my work dir)
   cd ~/work/linux-2.6-virtex
2、在EDK下生成BSP,取出其中的文件xparameters_ml300_703.h至linux内核源文件夹中的
   arch/ppc/platform/4xx/xparameters
   cd arch/ppc/platform/4xx/xparameters
   cp xparameters_ml300_703.h ./
   修改其中的xparameters.h文件
   vi xparameters.h
   找到#if define(CONFIG_XILINX_ML300)
   将下面一句中的#include改为*_703.h,即:#include "xparameters_ml300_703.h"
3、修改内核源文件顶层Makefile文件
   cd -
   vi Makefile
   将  ARCH ?= $(SUBARCH)
       CROSS_COMPILE ?=
   改为ARCH := ppc                    注:指定硬件平台
       CROSS_COMPILE = powerpc-405-linux-gnu-     注:指定交叉编译工具
4、打内核补丁
   cp ~/downloads/rrcs_test.patch ./
   patch -p1 --dry-run < rrcs_test.patch           注:测试应用patch,不会对内核源码有所改动
   patch -p1 < rrcs_test.patch            注:安装补丁
5、前辈们已经对内核进行了配置,可以沿用前辈的配置。
   将前辈生成的.config文件拷到当前文件加下
   cp .config ./                注:这样就省下了make menuconfig的操作了,大大简化新手上路里程
6、编译内核
  
4、关于在vi中粘贴复制的问题
向vi中粘贴:
如果只是想使用系统粘贴板的话直接在输入模式按Shift+Insert就可以了。这个我试过了,好用。
但是想从vi往外面粘贴,比如把vi中复制的内容粘贴到网页中,却不知道改如何去做。
下面是我从网上找到的相关资料:
vim帮助文档里与粘贴板有关的内容如下:
1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+;用:reg命令可以查看各个粘贴板里的内容。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号 然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
* “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
* +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p将系统全局粘贴板里的内容粘贴进来。
注意:只有vim.gtk或vim.gnome才能使用系统全局粘贴板,默认的vim.basic看不到+号寄存器。
但是不知道Shift+Insert是如何把内容从系统粘贴板复制到vi的。
最后的解决方式是:安装了gvim。
5、关于消息队列还有一些不熟的东西需要记录下来:
常用命令:

修改消息队列大小:

root:用户: /etc/sysctl.conf 

kernel.msgmnb =4203520
#kernel.msgmnb =3520
kernel.msgmni = 2878

保存后需要执行 sysctl -p ,然后重建所有消息队列

ipcs -q   :  显示所有的消息队列

ipcs -qt :   显示消息队列的创建时间,发送和接收最后一条消息的时间

------ Message Queues Send/Recv/Change Times --------
msqid    owner      send                 recv                 change             
65536    mas        Not set              Not set              May 15 15:56:39    
98305    mas        May 15 15:59:22      May 15 15:59:22      May 15 15:56:39    

ipcs -qp:    显示往消息队列中放消息和从消息队列中取消息的进程ID

------ Message Queues PIDs --------
msqid      owner      lspid      lrpid    
65536    mas             0         0
98305    mas         21941     21941

ipcs -q -i  msgid:  显示该消息队列结构体中的消息信息:

例如:ipcs -q -i 98305

Message Queue msqid=98305
uid=512 gid=500 cuid=512        cgid=500        mode=0600
cbytes=0        qbytes=4203520  qnum=0  lspid=21941     lrpid=21941
send_time=Thu May 15 16:00:19 2008 
rcv_time=Thu May 15 16:00:19 2008 
change_time=Thu May 15 15:56:39 2008

ipcs -ql :     显示消息队列的限制信息:

------ Messages: Limits --------

max queues system wide = 2878               //最大进程数
max size of message (bytes) = 8192         //队列中最大消息长度
default max size of queue (bytes) = 4203520



阅读(1057) | 评论(1) | 转发(0) |
0

上一篇:vim+ctags 用法

下一篇:debian包管理命令大全

给主人留下些什么吧!~~

chinaunix网友2009-10-12 00:04:19

请问,你的rrcs_test.patch在那里下到的,能不能不打补丁?我的邮箱wirners@gmail.com,希望能尽快看到。