`
rubynroll
  • 浏览: 204556 次
  • 性别: Icon_minigender_1
  • 来自: Wgt
社区版块
存档分类
最新评论
文章列表
UFFS (>1.2.0) source code tree structure: . |-- doc `-- src |-- emu ---> NAND flash simulation, helper codes. |-- example ---> Example codes |-- inc | `-- uffs |-- uffs ---> UFFS core sources `-- utils ---> simulator uti ...

UFFS2 features

    博客分类:
  • UFFS
UFFS2 is under design. Compares to UFFS1, UFFS2 will have new features/improvements:1) Reduce memory footprint by using smaller tree node data structure, save 20%~50% memory comparing with UFFS1. typedef struct uffs_HeadNodeSt { u16 block; u16 info; //point to info node u16 ne ...
为源代码树打一个干净的包 -------------   有时候项目源码树中混有一些额外的,临时产生的文件,或者含有些源代码管理工具产生的管理文件,如.svn。这些文件散步在源码树中。   现在我想对源码树tar一个包,又不想让这些临时文件进入这个tar包,怎么办? 最简单的方法就是利用你使用的源代码管理工具。   如果你用svn管理代码,用以下命令: svn ls -R | xargs tar -jcvf mypackage.tar.bz2   如果是用git管理,用以下命令: git-ls-tree --name-only --full-name -r master | ...
搞嵌入式的经常要和串口通讯打交道,在开发的时候有可能同时使用十几个串口,这个时候一个PCI多串口卡就好用了。   但是很多Linux发行版的8250驱动默认限制检测的最大串口数量为4,例如在Ubuntu 8.10有如下配置:   cat /boot/config-`uname -r` | grep 8250     CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_ACCENT=m CONFIG_SERIAL_8250_BOCA=m CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m # CONFIG_SERIA ...
最近看到有人在交叉编译ruby的时候似乎碰到了许多问题(http://www.iteye.com/topic/322718 )。其实交叉编译ruby原本应该是很简单的一个过程,希望这个“傻瓜指南”可以让新手也能够轻而易举地进行操作。 注 1: 本文以Arm-linux为目标平台,其他平台需要调整到对应的工具链。 注 2: 本文的编译平台是Linux (Debian/Ubuntu),如果在Cygwin下进行交叉编译可能会遇到困难。编译之前请确定bison和flex这两个程序已安装好。   交叉编译ruby-1.8.6: 第1步: 准备 mkdir -p ~/build mkdir ...
我们都知道Debian/Ubuntu通过apt-get安装的ruby包很慢(参考:各种Ruby实现的性能评测修正版本 )   通常我们都是通过自己从www.ruby-lang.org上下载源码并编译安装ruby来绕过这个问题,并且自己编译还可以打上各种补丁,比如这个(解决ruby 内存泄漏的超级大补丁发布啦 )   但是自己编译的ruby不能被dpkg -l识别,debian/ubuntu系统中有些包是依赖于ruby包的,安装这些软件包会要求安装ruby包,这样系统中就有两个(或者更多)ruby。虽然这在大部分情况下都不是问题,但是有些脚本在开头不是使用env来获得ruby而是ha ...
Debian/ubuntu下经常碰到需要安装某个程序,却一时想不起到底这个程序属于那个包。 在ubuntu下,多数情况会友好地提醒你包的名称,但不是全部。   这时,可以使用Debian网站提供的一个方便的包查询界面:   http://www.debian.org/distrib/packages     例如,我想用debuild这个脚本,马上就查到devscripts这个包。
我的工作环境很复杂,有些项目是ruby/rails,有些项目是GTK,有些项目是AVR,有些项目是armlinux,而有些项目是C#, .NET, 甚至还有8051,PIC.... 因此我经常要同时用到Linux,Windows系统。现在桌面上一排3个显示器加上示波器频谱仪器电烙铁什么的显得非常拥挤,最要命的是两个键盘两个鼠标非常不方便。 在youtube上看到有个家伙show他的Ubuntu + Compiz + VirtualBox: http://www.youtube.com/watch?v=Kxk6oFqMJVY 于是自己尝试了一把,在Linux下用virtualbox+winx ...
虽然垃圾回收应该属于RubyVM自动处理的事,但是一旦涉及到C扩展,情况就有些不同了。你可以在C扩展中申请资源并增加引用,导致VM无法回收资源--当然,这个属于bug,不幸的是,Ruby/GTK不是bug free 以下列出一些我碰到的这样的bug,希望后来的朋友可以借此提前看到这个坑,不要踩到里面去。 1) Gdk::Pixbuf Gdk::Pixbuf可以用于从文件系统中装载图片资源,如果是程序中使用的图标之类的,那没问题,因为直到程序结束你才需要释放它。但是你要是反复地加载图片供Gtk::Image显示,那就要小心了,当你用Pixbuf::new(filename)方法生成pixbuf ...
Gdk::Pixbuf是GTK库极为重要的一个组件,从图标到图像控件,到处都可以看到它的身影,Gdk::Pixbuf让GTK使用图像资源变得轻松许多。 Gdk::Pixbuf的用法文档说的比较清楚了,就不再重复,值得注意的是,Pixbuf在内部如何存储图像文档 ...
由于Gtk的Toolbar内部接口发生了一些变化,在使用Gtk::Toolbar#append时可能会发生问题。 当你在一个Gtk::Toolbar里面混合用: Gtk::Toolbar#append(stock_id) 与: Gtk::Toolbar#append(widget) 那么就会得到: 引用Gtk-WARNING **: mixing deprecated and non-deprecated GtkToolbar API is not allowed 这样的警告。这种警告不可忽视,因为以后会由警告变成错误。 这个问题在RubyGnome的网站上并没有提及,而且要注意的是,Rub ...
上一篇文章(http://www.iteye.com/topic/219826)发出之后,很多人表示对这个案例很感兴趣,要求我再深入地谈谈。应大家之邀, 我对上一篇内容进行一些补充,谈谈如何在一个传统的嵌入式领域项目中为了拥抱变化而引入web技术,以及用定 ...
我不是Web程序员,也从来未开发过用户超过10个人的'web'项目:-),但这并不意味着web技术对我无用,正相反,我开发过许多和web技术有关的程序和库,web架构和思想对我的设计和开发有着很大的帮助。 例如我经常碰到要设计通讯协 ...
我们知道, 对于   a = 100 这样的一条语句, a是一个指向 "100" 这个对象的引用. 那么, 如何根据a得到它的名字"a"或者符号:a ? 我现在实现了一个'swap'函数,它的作用是交换两个变量的值, 由于Ruby没有类似C的'指针',所以这个swap实现起来还真有点麻烦: a = 100 b = 200 def swap(x, y, &block) bind = block.binding vx = eval("lambda { #{x} }", bind).call vy = ev ...
前一段时间,我在这里http://rubynroll.iteye.com/blog/192547展示了一个空格带来的'陷阱', 今天又见到另一个'陷阱'(http://dablog.rubypal.com/2008/3/25/a-short-circuit-edge-case by David). 之所以为陷阱加引号, 是因为大部分情况下我们都没有机会掉进去 ...
Global site tag (gtag.js) - Google Analytics