免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1061 | 回复: 0
打印 上一主题 下一主题

6月5日总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-05 11:40 |只看该作者 |倒序浏览

                今天又是周五了,把这段时间的工作总结一下吧:
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、运行demo-powerpc-405.sh
   $sh demo-powerpc-405.sh
7、等待
8、添加环境变量
   #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 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将系统全局粘贴板里的内容粘贴进来。
[color="Red"]注意:只有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:  显示该消息队列结构体中的消息信息:
[email=mas@%5B172.16.9.38:/mas%5D$][/email]
例如: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
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/79914/showart_1955886.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP