<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7353155472291691370</id><updated>2012-02-20T01:17:23.703+08:00</updated><category term='linux'/><category term='robot'/><category term='arm'/><category term='DIMM-PC'/><category term='社群'/><category term='tool'/><category term='toolchain'/><category term='研討會'/><category term='Kontron'/><title type='text'>csl's blog</title><subtitle type='html'>Research for Linux, Linux Kernel/Driver, Open Source, Embedded system</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7045708582502877969</id><published>2011-09-08T14:37:00.008+08:00</published><updated>2011-09-08T15:56:18.785+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>timer using msleep</title><content type='html'>最近在改之前寫的slic driver，在送DTMF tone的時候會發生crash，如下：&lt;br /&gt;&lt;br /&gt;&lt;code&gt;To send DTMF CID sequence [A11111CR]&lt;br /&gt;POL_FORWARD &lt;br /&gt;getOffhook = 0&lt;br /&gt;Freq1 : 13990 &lt;br /&gt;Freq2 : 4657 &lt;br /&gt;BUG: scheduling while atomic: ash/0x00000100/2020&lt;br /&gt;Call Trace:&lt;br /&gt;[&lt;800074cc&gt;] dump_stack+0x8/0x34&lt;br /&gt;[&lt;80219a04&gt;] schedule+0x778/0x920&lt;br /&gt;[&lt;8021a7c4&gt;] schedule_timeout+0x70/0xdc&lt;br /&gt;[&lt;80030a18&gt;] msleep+0x24/0x34&lt;br /&gt;[&lt;c015b57c&gt;] playDtmfTone+0x148/0x6a4 [slic3217x]&lt;br /&gt;[&lt;c015b9cc&gt;] playDtmfTone+0x598/0x6a4 [slic3217x]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;看來root cause是因為在timer中用了msleep&lt;br /&gt;&lt;br /&gt;造成它reschedule就crash&lt;br /&gt;&lt;br /&gt;解決方式就是透過將timer的call時間拉長&lt;br /&gt;讓Oscillators播放時間p_cid-&gt;dtmf_on_ms拉長一點&lt;br /&gt;&lt;br /&gt;&lt;code&gt;init_timer(&amp;cid_dtmf_timer);&lt;br /&gt;    cid_dtmf_timer.function = cid_dtmf_do_timer;&lt;br /&gt;    cid_dtmf_timer.expires = jiffies + ms2jiffies(p_cid-&gt;dtmf_on_ms);&lt;br /&gt;    add_timer(&amp;cid_dtmf_timer);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;才不會造成dtmf signal lost&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7045708582502877969?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7045708582502877969/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7045708582502877969&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7045708582502877969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7045708582502877969'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2011/09/timer-using-msleep.html' title='timer using msleep'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-348229888153866571</id><published>2010-09-15T14:49:00.009+08:00</published><updated>2010-09-15T17:58:20.109+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>取得 wifi parameters for linux kernel</title><content type='html'>想抓取wifi的資訊可利用linux kernel的struct netdev&lt;br /&gt;所提供的struct iw_handler_def wireless_handlers來拿取&lt;br /&gt;這是透過wireless_handlers內有個standard的指標函數,&lt;br /&gt;可提供wireless device driver實作,&lt;br /&gt;因此我們可透過standard指標函數來拿取wireless相關資訊&lt;br /&gt;&lt;br /&gt;&lt;code&gt;struct net_device&lt;br /&gt;{&lt;br /&gt;...&lt;br /&gt;    &lt;span style="font-weight:bold;"&gt;const struct iw_handler_def *   wireless_handlers; &lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;struct iw_handler_def&lt;br /&gt;{&lt;br /&gt;...&lt;br /&gt;        /* Array of handlers for standard ioctls&lt;br /&gt;         * We will call dev-&gt;wireless_handlers-&gt;standard[ioctl - SIOCSIWCOMMIT]&lt;br /&gt;         */&lt;br /&gt;        &lt;span style="font-weight:bold;"&gt;const iw_handler *      standard;&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;typedef int (*iw_handler)(struct net_device *dev, struct iw_request_info *info, union iwreq_data *wrqu, char *extra);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;以zd1211rw driver為例：&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#define WX(x) [(x)-SIOCIWFIRST]&lt;br /&gt;&lt;br /&gt;static const iw_handler zd_standard_iw_handlers[] = {&lt;br /&gt;        WX(SIOCGIWNAME)         = iw_get_name,                                                     &lt;br /&gt;        WX(SIOCGIWNICKN)        = iw_get_nick,&lt;br /&gt;        WX(SIOCSIWFREQ)         = iw_set_freq,&lt;br /&gt;        WX(SIOCGIWFREQ)         = iw_get_freq,&lt;br /&gt;...&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;可以看到這些Wireless Identification的定義：&lt;br /&gt;&lt;br /&gt;&lt;code&gt;/* Wireless Identification */&lt;br /&gt;#define SIOCSIWCOMMIT   0x8B00&lt;br /&gt;#define SIOCGIWNAME     0x8B01&lt;br /&gt;&lt;br /&gt;#define SIOCSIWNWID     0x8B02          /* set network id (pre-802.11) */&lt;br /&gt;#define SIOCGIWNWID     0x8B03          /* get network id (the cell) */&lt;br /&gt;#define SIOCSIWFREQ     0x8B04          /* set channel/frequency (Hz) */&lt;br /&gt;#define SIOCGIWFREQ     0x8B05          /* get channel/frequency (Hz) */&lt;br /&gt;...&lt;br /&gt;wireless.h:335:#define SIOCIWFIRSTPRIV 0x8BE0&lt;br /&gt;wireless.h:351:#define SIOCIWFIRST 0x8B00&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;倘若我們想抓取frequency(channel) of current link ，&lt;br /&gt;&lt;br /&gt;可直接call function&lt;br /&gt;&lt;code&gt;net_dev -&gt; wireless_handlers -&gt; &lt;br /&gt;standard[SIOCGIWFREQ - SIOCSIWCOMMIT](net_dev, NULL, (void *) &amp; my_freq, NULL);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;然後透過my_freq.m就能抓取現在的freq&lt;br /&gt;&lt;br /&gt;&lt;code&gt;struct iw_freq  my_freq;&lt;br /&gt;&lt;br /&gt;struct iw_freq      &lt;br /&gt;{&lt;br /&gt;        __s32           m;              /* Mantissa */&lt;br /&gt;        __s16           e;              /* Exponent */&lt;br /&gt;        __u8            i;              /* List index (when in range struct) */&lt;br /&gt;        __u8            flags;          /* Flags (fixed/auto) */&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;進而推出wifi的rssi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-348229888153866571?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/348229888153866571/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=348229888153866571&amp;isPopup=true' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/348229888153866571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/348229888153866571'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2010/09/wifi-parameters-for-linux-kernel.html' title='取得 wifi parameters for linux kernel'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-4952065926643206072</id><published>2010-08-17T11:36:00.004+08:00</published><updated>2010-08-17T14:17:24.234+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='社群'/><category scheme='http://www.blogger.com/atom/ns#' term='研討會'/><title type='text'>COSCUP 2010</title><content type='html'>今天的[&lt;a href="http://coscup.org"&gt;COSCU&lt;/a&gt;P]在中研院舉辦,&lt;br /&gt;去了第四年XD,還是一樣熱血,&lt;br /&gt;而且今年參加人數大爆炸XD&lt;br /&gt;&lt;br /&gt;今年的議程主要以Open Web and Mobile Technologies為主&lt;br /&gt;&lt;br /&gt;以下為一些議程的心得:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Frontend Development Enviornment, josephj&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;這個議程滿有趣的, &lt;br /&gt;透過將HTML/CSS/JavaScript 的模組化與自動化&lt;br /&gt;可很嚴謹的制定模組policy&lt;br /&gt;這個design pattern或許也可用於其他地方&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Debugging: Linux Kernel by Ftrace, AceLan &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ftrace的工具, 可透過/proc的檔案系統來進行trace kernel function&lt;br /&gt;但很可惜, 目前只僅次於function, 誰call誰, 誰被call&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Be 「Android」, Tick Chen + Matt Hsu &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;很cool的機器人, 透過馬達 &lt;-I2C-&gt; ARM &lt;-buletooth-&gt; Android&lt;br /&gt;來控制機器人, 可惜沒看到開全速的樣子XD&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;打造特製的 Android Toolchain, jserv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;透過"搞系統程式絕對不是「不入流」"開場, 超high&lt;br /&gt;jserv前輩很強~~&lt;br /&gt;一路trace GNU Toolchain發展開發並發現android toolchain的git中無說明&lt;br /&gt;無法自制android toolchain，因此開始打造從無到有的android toolchain, &lt;br /&gt;超cool&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-4952065926643206072?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/4952065926643206072/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=4952065926643206072&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4952065926643206072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4952065926643206072'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2010/08/coscup-2010.html' title='COSCUP 2010'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-1870514905485339847</id><published>2010-01-28T17:03:00.016+08:00</published><updated>2010-01-28T23:56:44.723+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Add new system call</title><content type='html'>kernel版本:2.6.33-rc2&lt;br /&gt;&lt;br /&gt;新增自行定義的system call步驟如下:&lt;br /&gt;&lt;br /&gt;1. edit arch/x86/kernel/syscall_table_32.S, add&lt;br /&gt;&lt;br /&gt;&lt;code&gt; .long sys_mysystemcall   /* 338 */&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2. edit include/asm-i386/unistd.h, add&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#define __NR_mysystemcall 338&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;3. create new file, arch/x86/kernel/systemcall.c &lt;br /&gt;(defined filename yourself)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#include &amp;lt;linux/linkage.h&amp;gt;&lt;br /&gt;#include  &amp;lt;linux/kernel.h&amp;gt;&lt;br /&gt;&lt;br /&gt;asmlinkage int sys_mysystemcall(void)&lt;br /&gt;{&lt;br /&gt; printk("mysystemcall\n");&lt;br /&gt; return 0;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;4. edit arch/x86/kernel/Makefile, add&lt;br /&gt;&lt;br /&gt;&lt;code&gt;obj-y  += systemcall.o&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;5. compiler kernel&lt;br /&gt;&lt;br /&gt;&lt;code&gt;root@shulong-desktop:/home/shulong/linux-2.6.33-rc2# make clean &amp;&amp; make&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;6. writing code for user mode, create new file test.c&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#include &amp;lt;linux/unistd.h&amp;gt;&lt;br /&gt;#include &amp;lt;sys/syscall.h&amp;gt;&lt;br /&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#define __NR_mysystemcall        338&lt;br /&gt;#define mysystemcall() syscall(__NR_mysystemcall);&lt;br /&gt;&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt; mysystemcall();&lt;br /&gt; return 0;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;7. compiler test.c&lt;br /&gt;&lt;br /&gt;&lt;code&gt;root@shulong-desktop:~# gcc -Wall test.c -o systemcall&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;8. execute systemcall&lt;br /&gt;&lt;br /&gt;&lt;code&gt;root@shulong-desktop:~# ./systemcall&lt;br /&gt;[ 39.289669] mysystemcall&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;就可順利加入自行定義的system call。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-1870514905485339847?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/1870514905485339847/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=1870514905485339847&amp;isPopup=true' title='13 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/1870514905485339847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/1870514905485339847'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2010/01/add-new-system-call.html' title='Add new system call'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-4772103295361684609</id><published>2009-10-30T09:42:00.011+08:00</published><updated>2010-01-26T17:27:41.988+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='toolchain'/><title type='text'>GNU C Expand</title><content type='html'>&lt;span style="font-weight:bold;"&gt;1. __attribute__ ((variable attributes))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;variable attributes:&lt;br /&gt;&lt;br /&gt;• aligned&lt;br /&gt;• deprecated&lt;br /&gt;• mode&lt;br /&gt;• nocommon&lt;br /&gt;• packed&lt;br /&gt;• section&lt;br /&gt;• transparent_union&lt;br /&gt;• unused&lt;br /&gt;• vector_size&lt;br /&gt;• weak&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-weight:bold;"&gt;section ("section-name")'&lt;/span&gt;&lt;br /&gt;extern void foobar (void) __attribute__ ((section ("bar")));&lt;br /&gt;puts the function 『foobar' in the 『bar' section.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#define subsys_initcall(fn) __define_initcall("4",fn,4)&lt;br /&gt;//用來將指定的函數pointer fn放到initcall.init section&lt;br /&gt;//是把fn放到.initcall.init的section.initcall4.init&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;initcall4.init defined in arch/i386/kernel/vmlinux.lds.S&lt;br /&gt;&lt;br /&gt;&lt;code&gt;.initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) &lt;br /&gt;{&lt;br /&gt; *(.initcall1.init) &lt;br /&gt; *(.initcall2.init) &lt;br /&gt; *(.initcall3.init) &lt;br /&gt; *(.initcall4.init) &lt;br /&gt; *(.initcall5.init) &lt;br /&gt; *(.initcall6.init) &lt;br /&gt; *(.initcall7.init)&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. likely and unlikely&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in include/linux/compiler.h&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#define __builtin_expect(x, expected_value) (x)&lt;br /&gt;&lt;br /&gt;#define likely(x)       __builtin_expect(!!(x), 1)&lt;br /&gt;#define unlikely(x)     __builtin_expect(!!(x), 0)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;example:&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;code&gt;if(likely(value)) &lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;//看起來likely和unlikely是一樣的, 但事實上是有差異的&lt;br /&gt;//likely表示value的值為true的可能性更大一些，那麼執行if的機會大;&lt;br /&gt;//unlikely表示value的值為false的可能性大一些，執行else機會大一些。&lt;br /&gt;//有了這種修飾，gcc編成組語後,&lt;br /&gt;//會將likely使得if後面的執行語句緊跟著前面的;&lt;br /&gt;//unlikely使得else後面的語句緊跟著前面的程序&lt;br /&gt;//這樣就會可以讓cache預先讀取，&lt;br /&gt;//目的是增加程序的執行速度&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-4772103295361684609?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/4772103295361684609/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=4772103295361684609&amp;isPopup=true' title='9 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4772103295361684609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4772103295361684609'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2009/10/gnu-c-expand.html' title='GNU C Expand'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-2177998064383186990</id><published>2009-10-06T17:28:00.005+08:00</published><updated>2009-10-06T18:03:17.249+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Meld : Diff and merge tool</title><content type='html'>比較和合併code的工具，在windows上有[&lt;a href="http://www.araxis.com/merge/?gclid=COLoh5eOqJ0CFZYtpAodxU5GkA"&gt;Araxis Merge&lt;/a&gt;]，但它並非open source software，因此有[&lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt;]可以替代,而在linux上比較常見的是[&lt;a href="http://kdiff3.sourceforge.net/"&gt;KDiff3&lt;/a&gt;]和[&lt;a href="http://meld.sourceforge.net/"&gt;Meld&lt;/a&gt;]。&lt;br /&gt;&lt;br /&gt;而我最常用的是Meld,它的操作很容易就可上手。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://meld.sourceforge.net/meld_file1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px; height: 400px;" src="http://meld.sourceforge.net/meld_file1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-2177998064383186990?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/2177998064383186990/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=2177998064383186990&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2177998064383186990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2177998064383186990'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2009/10/meld-diff-and-merge-tool.html' title='Meld : Diff and merge tool'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-1620825912254281879</id><published>2009-10-02T11:40:00.003+08:00</published><updated>2009-10-06T18:06:25.954+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Coding tips, Vim顯示當前行</title><content type='html'>輸入":set cursorline".&lt;br /&gt;或輸入":set cul".&lt;br /&gt;&lt;br /&gt;取消當前行：&lt;br /&gt;輸入":set no cursorline".&lt;br /&gt;或輸入":set no cul"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-1620825912254281879?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/1620825912254281879/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=1620825912254281879&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/1620825912254281879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/1620825912254281879'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2009/10/vim.html' title='Coding tips, Vim顯示當前行'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-9112216571953182976</id><published>2009-09-28T11:18:00.004+08:00</published><updated>2009-09-28T12:33:28.428+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='toolchain'/><title type='text'>gcc: warnings being treated as errors</title><content type='html'>在Ubuntu 9.04，編譯linux kernel for mips時出現了這個問題&lt;br /&gt;&lt;br /&gt;gcc: warnings being treated as errors&lt;br /&gt;scripts/kconfig/conf.c:104: error: ignoring return value of 'fgets', declared with attribute warn_unused_result&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;原來是在./src/Makefile的HOSTCFLAGS variables加了-Werror...&lt;br /&gt;把它去掉之後，就能編過了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-9112216571953182976?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/9112216571953182976/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=9112216571953182976&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/9112216571953182976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/9112216571953182976'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2009/09/gcc-warnings-being-treated-as-errors.html' title='gcc: warnings being treated as errors'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-5294971966535263462</id><published>2008-11-07T22:40:00.007+08:00</published><updated>2008-11-09T00:47:16.863+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Trace code tool</title><content type='html'>以前在Trace OpenSouce code時，常直接用文字編輯器，感覺很不方便，還要自己找檔案。最近發現一套很好用trace code的工具[&lt;a href="http://www.gnu.org/software/global/"&gt;GNU Global&lt;/a&gt;]，它能很神奇的將程式碼變成網頁，而且產生方式超簡單的。&lt;br /&gt;&lt;br /&gt;產生網頁的方法：&lt;br /&gt;&lt;br /&gt;1. 進入原始碼的目錄下&lt;br /&gt;&lt;br /&gt;$ cd ~/speech&lt;br /&gt;&lt;br /&gt;2. 執行htags&lt;br /&gt;&lt;br /&gt;$ htags -g -F &lt;br /&gt;-g 先執行 gtags&lt;br /&gt;-F 代表要將網頁切成多個Frame &lt;br /&gt;&lt;br /&gt;3. 原始碼目錄下就會產生一個叫HTML的目錄&lt;br /&gt;&lt;br /&gt;就可以直接用Browser開啟index.html，如下圖所示。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vgvWFfxbEN8/SRRZv63KusI/AAAAAAAAGFs/NAq-AULFS0o/s1600-h/12.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 420px; height: 324px;" src="http://4.bp.blogspot.com/_vgvWFfxbEN8/SRRZv63KusI/AAAAAAAAGFs/NAq-AULFS0o/s320/12.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265932544092322498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;接下來看code就很快了....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-5294971966535263462?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/5294971966535263462/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=5294971966535263462&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/5294971966535263462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/5294971966535263462'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2008/11/trace-code-tool.html' title='Trace code tool'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vgvWFfxbEN8/SRRZv63KusI/AAAAAAAAGFs/NAq-AULFS0o/s72-c/12.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-8133492109779988504</id><published>2008-08-27T20:55:00.006+08:00</published><updated>2008-08-29T11:19:52.264+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arm'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Qemu for ARM System emulator</title><content type='html'>[&lt;a href="http://bellard.org/qemu/"&gt;Qemu&lt;/a&gt;]是個相當不錯的模擬器，它不只可以模擬x86，還可模擬arm。最近找了很多相關的資料，發現目前已經有很多人寫了不錯的教學，而且qemu支援的arm平台[&lt;a href="http://bellard.org/qemu/qemu-doc.html#SEC63"&gt;ARM System emulator&lt;/a&gt;]也相當多。但重點是qemu並非所有arm的平台都支援，所以或許可以找找patch或自己試著修改看看，才能符合自己的平台。&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://opencsl.openfoundry.org/"&gt;OPENCSL&lt;/a&gt;]這個網站相當不錯，初學者可以很快做出一個"ARM Integrator"(ARMB26EJ-S的架構)的模擬器。另外是OpenMoko[&lt;a href="http://wiki.openmoko.org/wiki/OpenMoko_under_QEMU"&gt;Neo1973&lt;/a&gt;]，目前已有修改過後的qemu，跑出來就跟真的環境一樣。然後[&lt;a href="http://orzlab.blogspot.com/2007/06/palm-5linux.html"&gt;Linux on Palm 5&lt;/a&gt;]也有修改後的模擬器，都可以實際跑起來。&lt;br /&gt;&lt;br /&gt;有興趣的朋友，可以玩玩看，我覺得還滿有趣的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-8133492109779988504?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/8133492109779988504/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=8133492109779988504&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/8133492109779988504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/8133492109779988504'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2008/08/qemu-for-arm-system-emulator.html' title='Qemu for ARM System emulator'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-4309737686391357944</id><published>2008-02-22T11:04:00.008+08:00</published><updated>2008-02-22T11:35:20.169+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='社群'/><category scheme='http://www.blogger.com/atom/ns#' term='研討會'/><title type='text'>OSDC.TW 2008</title><content type='html'>一年一度的OSDC.TW又要來了。&lt;br /&gt;&lt;br /&gt;去年OSDC.TW 2007我有去參加，覺得主辦人[&lt;a href="http://hcchien.org/"&gt;hcchien&lt;/a&gt;]相當用心，而且可以看到很多很厲害的OpenSource高手的"真面目"，而且可以見識到現在很多新技術和想法，個人覺得OSDC.TW真的是不錯的Conference...&lt;br /&gt;&lt;br /&gt;今年的[&lt;a href="http://www.osdc.tw/2008/02/2008412.html"&gt;議程&lt;/a&gt;]，也很令人期待，想報名的人請到[&lt;a href="http://registrano.com/events/osdc"&gt;報名&lt;/a&gt;]，要快哦!!不然很快就滿了&gt;&lt;"&lt;br /&gt;&lt;br /&gt;Reference: [&lt;a href="http://www.osdc.tw/"&gt;OSDC.TW&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-4309737686391357944?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/4309737686391357944/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=4309737686391357944&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4309737686391357944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4309737686391357944'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2008/02/osdctw-2008.html' title='OSDC.TW 2008'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7897541239310977336</id><published>2008-02-20T14:41:00.006+08:00</published><updated>2008-02-22T11:15:49.176+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>空閒時間看Linux kernel原始碼</title><content type='html'>看Linux kernel的原始碼是一種很有趣的事情，可以看到很多用C寫奇怪的作法，真很有趣，如jserv所提到的[&lt;a href="http://blog.linux.org.tw/~jserv/archives/001961.html"&gt;C 語言的 trigraph/digraph&lt;/a&gt;]一文。&lt;br /&gt;&lt;br /&gt;只是因為只有空閒時間才能看，所以都只能看片段，沒辦法一層一層的往下找"真相"，只有大約知道API怎麼CALL、用什麼樣的結構和演算法等等。&lt;br /&gt;&lt;br /&gt;不過令人驚訝的是Linux kernel有超完整的架構，讓我這個初學者超佩服的，這時才知道自己的渺小。&lt;br /&gt;&lt;br /&gt;未來，我會找時間來整理一些自己看kernel的想法...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7897541239310977336?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7897541239310977336/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7897541239310977336&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7897541239310977336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7897541239310977336'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2008/02/linux-kernel.html' title='空閒時間看Linux kernel原始碼'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7542434297407512282</id><published>2007-11-27T13:09:00.001+08:00</published><updated>2007-11-27T13:24:12.814+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Poring Linux Kernel 2.6 for  DIMMPC 520i (Part 1)</title><content type='html'>最近終於找到時間來Porting板子囉!!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.google.com.tw/changshulong/Rz8Vbd7yXzI/AAAAAAAACYI/S1r00Kvaoyk/SUC52087.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://lh3.google.com.tw/changshulong/Rz8Vbd7yXzI/AAAAAAAACYI/S1r00Kvaoyk/SUC52087.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;測試完IDE介面，發現可以接硬碟和光碟機...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com.tw/changshulong/Rz8Vh97yX0I/AAAAAAAACYQ/ZBWnVrhds_s/SUC52089.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://lh5.google.com.tw/changshulong/Rz8Vh97yX0I/AAAAAAAACYQ/ZBWnVrhds_s/SUC52089.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com.tw/changshulong/Rz8WB97yX2I/AAAAAAAACYg/XfmpBiVwvik/SUC52094.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://lh5.google.com.tw/changshulong/Rz8WB97yX2I/AAAAAAAACYg/XfmpBiVwvik/SUC52094.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;於是很有趣的將之前收到的ubuntu 7.10放進去跑跑看，結果：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com.tw/changshulong/Rz8WJt7yX3I/AAAAAAAACYo/mBW3kq-6z3c/SUC52104.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://lh4.google.com.tw/changshulong/Rz8WJt7yX3I/AAAAAAAACYo/mBW3kq-6z3c/SUC52104.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;天啊，有畫面也可以跑耶!!但...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com.tw/changshulong/Rz8Wdt7yX4I/AAAAAAAACYw/21rmUx7XEyA/SUC52109.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://lh4.google.com.tw/changshulong/Rz8Wdt7yX4I/AAAAAAAACYw/21rmUx7XEyA/SUC52109.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;kernel還是跑不起來，也只好乖乖porting了...&gt;&lt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7542434297407512282?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7542434297407512282/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7542434297407512282&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7542434297407512282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7542434297407512282'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/11/poring-linux-kernel-26-for-dimmpc-520i.html' title='Poring Linux Kernel 2.6 for  DIMMPC 520i (Part 1)'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-2578326694104059672</id><published>2007-11-18T00:28:00.000+08:00</published><updated>2007-11-18T09:14:27.429+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>小筆電裝Ubuntu 7.10</title><content type='html'>今天終於跟裝了兩年多的gentoo說byebye了，&lt;br /&gt;一直都想要換，畢竟我的小筆電速度不夠快，&lt;br /&gt;總不能每裝一套package就一直compiler...吧!!&lt;br /&gt;&lt;br /&gt;也剛好昨天回家，&lt;br /&gt;收到數天前到[&lt;a href="https://shipit.ubuntu.com/"&gt;ShipIt&lt;/a&gt;]所申請的光碟片，&lt;br /&gt;超cool的，還有貼紙...&lt;br /&gt;&lt;a href="http://lh5.google.com.tw/changshulong/Rz8VB97yXwI/AAAAAAAACXw/dUEh2WEgOtQ/SUC52082.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 450px;" src="http://lh5.google.com.tw/changshulong/Rz8VB97yXwI/AAAAAAAACXw/dUEh2WEgOtQ/SUC52082.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;安裝上真的比gentoo方便太多，&lt;br /&gt;在加上用[&lt;a href="http://lazybuntu.openfoundry.org/"&gt;lazybuntu&lt;/a&gt;]來安裝想要的軟體，真的不到一小時就全部裝完囉...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-2578326694104059672?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/2578326694104059672/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=2578326694104059672&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2578326694104059672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2578326694104059672'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/11/ubuntu-710.html' title='小筆電裝Ubuntu 7.10'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-6657022038364515169</id><published>2007-11-14T00:22:00.000+08:00</published><updated>2007-11-18T09:29:02.321+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='toolchain'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Easy to build toolchain, cross-ng</title><content type='html'>因DIMM-PC只有32 MByte Flash Disk，&lt;br /&gt;所以用glibc會太大，&lt;br /&gt;因此改用jserv前輩所建議crosstool next generation[&lt;a href="http://ymorin.is-a-geek.org/dokuwiki/projects/crosstool"&gt;cross-ng&lt;/a&gt;]，&lt;br /&gt;這個crosstool可以編glibc和uclibc，&lt;br /&gt;且介面跟編kernel很類似喔!!&lt;br /&gt;真的方便超多的...^^&lt;br /&gt;&lt;br /&gt;1. install&lt;br /&gt;&lt;br /&gt;$ wget -c http://ymorin.is-a-geek.org/download/crosstool-ng/&lt;br /&gt;crosstool-ng-0.3.2.tar.bz2&lt;br /&gt;$ tar -jxvf crosstool-ng-0.3.2.tar.bz2&lt;br /&gt;$ cd crosstool-ng-0.3.2&lt;br /&gt;$ ./configure --prefix=/opt/cross-ng&lt;br /&gt;$ make&lt;br /&gt;# make install&lt;br /&gt;&lt;br /&gt;2. using cross-ng&lt;br /&gt;&lt;br /&gt;$ export PATH="${PATH}:/opt/cross-ng/bin"&lt;br /&gt;$ mkdir toolchain-dev &amp;&amp; cd ./toolchain-dev&lt;br /&gt;$ ct-ng menuconfig &lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh6.google.com.tw/changshulong/RznIArqG9CI/AAAAAAAACWw/yD4QGEpE9sM/main.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px;" src="http://lh6.google.com.tw/changshulong/RznIArqG9CI/AAAAAAAACWw/yD4QGEpE9sM/main.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;strong&gt;需要提供uclibc的設定檔路徑&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://lh3.google.com.tw/changshulong/RznIj7qG9DI/AAAAAAAACW4/zaGyKk0lzUE/uclibc.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px;" src="http://lh3.google.com.tw/changshulong/RznIj7qG9DI/AAAAAAAACW4/zaGyKk0lzUE/uclibc.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;$ ct-ng build&lt;br /&gt;...&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Installing C library headers&lt;br /&gt;[INFO ]  Installing C library headers: done in 27.63s&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Core C compiler, pass 2&lt;br /&gt;[INFO ]    =============================&lt;br /&gt;[INFO ]    Installing static core C compiler&lt;br /&gt;[INFO ]    Installing static core C compiler: done in 316.46s&lt;br /&gt;[INFO ]  Core C compiler, pass 2: done in 316.50s&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Installing C library&lt;br /&gt;[INFO ]  Installing C library: done in 124.55s&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Installing final compiler&lt;br /&gt;[INFO ]  Installing final compiler: done in 737.85s&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Installing cross-gdb&lt;br /&gt;[INFO ]  Installing cross-gdb: done in 316.19s&lt;br /&gt;[INFO ]  ===============================&lt;br /&gt;[INFO ]  Installing gdbserver&lt;br /&gt;[INFO ]  Installing gdbserver: done in 11.50s&lt;br /&gt;[INFO ]  Build completed at 20071114.012858&lt;br /&gt;[INFO ]  (elapsed: 28:28.51)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;成功囉!!&lt;br /&gt;toolchain的路徑在$HOME/i386-DIMMPC-linux-uclibc&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-6657022038364515169?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/6657022038364515169/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=6657022038364515169&amp;isPopup=true' title='14 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6657022038364515169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6657022038364515169'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/11/easy-to-build-toolchain-cross-ng.html' title='Easy to build toolchain, cross-ng'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7885381696602873688</id><published>2007-11-11T20:59:00.000+08:00</published><updated>2007-11-12T19:50:36.972+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='toolchain'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>ToolChain for DIMM-PC</title><content type='html'>由於x86的toolchain建立的文件相當少，&lt;br /&gt;於是使用[&lt;a href="http://kegel.com/crosstool/"&gt;crosstool&lt;/a&gt;]來建立toolchain可說是相當方便...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[更新]&lt;/span&gt;&lt;br /&gt;$ svn co http://crosstool.googlecode.com/svn/trunk/src crosstool&lt;br /&gt;$ cd crosstool&lt;br /&gt;$ cp demo-i686.sh demo-i386.sh&lt;br /&gt;$ vi demo-i386.sh&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest&lt;br /&gt;修改成#eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest&lt;br /&gt;將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest&lt;br /&gt;修改成#eval `cat i386.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest&lt;/span&gt;&lt;br /&gt;$ vi i386.dat&lt;br /&gt;TARGET=i486-dimmpc-linux-gnu&lt;br /&gt;TARGET_CFLAGS="-O"&lt;br /&gt;$ sudo mkdir /opt/crosstool&lt;br /&gt;$ sudo chown $USER /opt/crosstool&lt;br /&gt;$ sh demo-i386.sh&lt;br /&gt;...&lt;br /&gt;Cross-toolchain build complete. Result in /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu.&lt;br /&gt;+ exit 0&lt;br /&gt;+ cd /home/shulong/crosstool&lt;br /&gt;+ sh testhello.sh&lt;br /&gt;+ cd /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu&lt;br /&gt;+ test '!' -d tmp&lt;br /&gt;+ mkdir tmp&lt;br /&gt;+ cd tmp&lt;br /&gt;+ test x '!=' x&lt;br /&gt;+ cat&lt;br /&gt;...&lt;br /&gt;+ echo testhello: C compiler can in fact build a trivial program.&lt;br /&gt;testhello: C compiler can in fact build a trivial program.&lt;br /&gt;+ test '' = 1&lt;br /&gt;+ test '' = 1&lt;br /&gt;+ test '' = 1&lt;br /&gt;+ test 1 = ''&lt;br /&gt;+ echo Done.&lt;br /&gt;Done.&lt;br /&gt;&lt;br /&gt;看到這個msg就代表成功啦!!&lt;br /&gt;&lt;br /&gt;toolchain的路徑在：&lt;br /&gt;/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu/&lt;br /&gt;&lt;br /&gt;感謝jserv大提供的方向...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7885381696602873688?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7885381696602873688/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7885381696602873688&amp;isPopup=true' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7885381696602873688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7885381696602873688'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/11/toolchain-for-dimm-pc.html' title='ToolChain for DIMM-PC'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-4063382254314534523</id><published>2007-10-05T19:58:00.000+08:00</published><updated>2007-11-08T21:34:46.418+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='社群'/><category scheme='http://www.blogger.com/atom/ns#' term='研討會'/><title type='text'>COSCUP 2007</title><content type='html'>傳統商業軟體的開發者（coders）和使用者（users）很少交流，是大家都接受的事實。你的軟體用起來有問題？請打技術支援電話，由客服人員為你服務，他或許已經儘其所能，但未必能解決你的問題。如果問題是軟體的臭蟲，你只好痴痴地等待不知幾年後才開賣的下一版。而你當初之所以選用Ａ軟體而不是Ｂ軟體，常常是聽信銷售員（sales）的一面之詞或同儕的推薦。在這個行為模式下，users 面對的是銷售員和客服，coders 面對的還是銷售員和客服，users 遇到的問題要間接地才能反應到 coders 手上，中間還可能會被過濾掉。&lt;br /&gt;&lt;br /&gt;    Open source 這個在 1998 年出現的名詞，大家早已耳熟能詳。這種在網路上已經進行二三十年的軟體開發模式之所以能成功，有許多原因，其中一個極為關鍵的因素，就是 coder-user 的直接接觸。無屏障的交流形成了問題的快速回報和修補機制，而當這個機制被網路效應放大到極限時，Linus 定律就出現了：《臭蟲難逃眾人法眼》（With enough eyeballs, all bugs are shallow），軟體品質因此顯著提昇。在 open source 的模式中，coders 和 users 中間的人不再是銷售員或客服，而是讓軟體更容易被 users 接受的推廣者（promoters），他們打包套件讓軟體更好裝、寫說明文件讓軟體更易學、辦推廣活動讓軟體被更多人接觸到、在網路上回答問題解決使用者的疑惑，而且不會把 coders 藏在背後產生資訊的不對稱。&lt;br /&gt;&lt;br /&gt;    Coders、users 和 promoters 是讓 open source 軟體發光發熱的支柱，所以我們的 open source 研討會是專為這三種人舉辦的。你可以是 A 軟體的 coder、B 軟體的 promoter、C 軟體的 user。不論你是已經踏入 open source 領域，還是一直站在門口不知如何入門，歡迎你來參加 COSCUP - Conference for Open Source Coders, Users and Promoters！&lt;br /&gt;&lt;br /&gt;    今年的 COSCUP 最大的改變，是由各台灣本地社群共同舉辦，也希望能透過這樣的合作，增加社群同好的參與度，正如 COSCUP 的精神，在這個研討會當中，你同時是與會者，推廣者，也參與了大會的運作。&lt;br /&gt;&lt;br /&gt;    * 時間：2007 年 11 月 3 日（六）- 11 月 4 日（日）&lt;br /&gt;    * 地點：台北市和平東路 2 段 106 號 科技大樓 二樓&lt;br /&gt;    * 誰應該參加：寫 open source 軟體的開發者、熱衷 open source 軟體的推廣者、熟悉 open source 軟體的使用者、想瞭解 open source 軟體的新手。&lt;br /&gt;&lt;br /&gt;網址：&lt;a href="http://coscup.org/2007/"&gt;http://coscup.org/2007/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-4063382254314534523?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/4063382254314534523/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=4063382254314534523&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4063382254314534523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/4063382254314534523'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/10/coscup-2007.html' title='COSCUP 2007'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-3351367580588791051</id><published>2007-09-21T15:02:00.000+08:00</published><updated>2007-09-21T15:10:15.184+08:00</updated><title type='text'>Linus says: “C++ is a horrible language”</title><content type='html'>C++ is a horrible language.&lt;br /&gt; It’s made more horrible by the fact that a lot of substandard programmers use it, to the point where it’s much much easier to generate total and utter crap with it. &lt;br /&gt;Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C. &lt;br /&gt;&lt;br /&gt;– Linus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-3351367580588791051?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/3351367580588791051/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=3351367580588791051&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/3351367580588791051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/3351367580588791051'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/09/linus-says-c-is-horrible-language.html' title='Linus says: “C++ is a horrible language”'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-2866891411501709996</id><published>2007-08-03T13:52:00.000+08:00</published><updated>2007-08-03T14:44:43.449+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='社群'/><category scheme='http://www.blogger.com/atom/ns#' term='研討會'/><title type='text'>Taiwan Linux Forum</title><content type='html'>一年一度的台灣Linux論壇又來了，&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com.tw/changshulong/RrC6oT8qS3I/AAAAAAAAAh8/AL10EPgR1ak/SUC51526.JPG?imgmax=640"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://lh4.google.com.tw/changshulong/RrC6oT8qS3I/AAAAAAAAAh8/AL10EPgR1ak/SUC51526.JPG?imgmax=640" border="0" alt="" /&gt;&lt;/a&gt;這次我的感覺是辦的比去年差，&lt;br /&gt;雖然請了幾位國外Open Source很厲害的講者，&lt;br /&gt;但講都東西不是太淺...&lt;br /&gt;不然就是沒什麼技術性的東西...&lt;br /&gt;感覺沒學到什麼東西...&lt;br /&gt;只有一個心得，英文聽力要加油...&gt;&lt;"&lt;br /&gt;...&lt;br /&gt;這次參與的議程有：&lt;br /&gt;&lt;br /&gt;8/1, 早上&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com.tw/changshulong/RrC6Tz8qSwI/AAAAAAAAAhE/61jHRFGtX70/SUC51500.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://lh6.google.com.tw/changshulong/RrC6Tz8qSwI/AAAAAAAAAhE/61jHRFGtX70/SUC51500.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;Overview of the Linux Market Place and the Technical Development Community, Jim Zemlin, Linux Foundation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;大部份的英文都聽的懂，有一些內容很不錯，只不過是有點介紹性的感覺...&lt;br /&gt;&lt;br /&gt;8/1, 下午&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.google.com.tw/changshulong/RrC65T8qS8I/AAAAAAAAAik/aYAkkNsBYdg/SUC51534.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://lh4.google.com.tw/changshulong/RrC65T8qS8I/AAAAAAAAAik/aYAkkNsBYdg/SUC51534.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;Real Time Linux, Linux Kernel Device Drivers and Embedded Linux, Theodore Y. "Ted" Tso, Linux Kernel Developer&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;因為下午2:00是我想睡的時候，不過我還是努力的聽(中途不小心...)，不過好像只是很簡單的介紹，不夠深入...非常可惜，加上英文講的太快(腔調有點怪怪的)...，聽完只有一個想法，回去開始加強英文聽力&gt;&lt;"&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Open Solaris驅動程式開發, 李宗虞&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;講的內容很好，只不過是因為是北京工程師的關係，口語上出現一些大陸用法...&gt;&lt;"&lt;br /&gt;什麼源碼、硬盤...&lt;br /&gt;...&lt;br /&gt;印表機在Linux系統中之相容性探討, 林靖翔&lt;br /&gt;&lt;br /&gt;8/2, 早上&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;避免GPL地雷：A Check List, 葉平博士&lt;br /&gt;來自由/開放源碼的警告信, 葛冬梅經理&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;講的內容很好，讓人很容易了解GPL，&lt;br /&gt;只不過真的有一些情況，企業要用時真的要小心&lt;br /&gt;&lt;br /&gt;8/2, 下午&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.google.com.tw/changshulong/RrIh9D8qTmI/AAAAAAAAApQ/hkc8UcVcHco/SUC51596.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://lh5.google.com.tw/changshulong/RrIh9D8qTmI/AAAAAAAAApQ/hkc8UcVcHco/SUC51596.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;使用Fedora 7 做OLPC Live-cd,  Pake&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;很技術性，講的非常好，很想動手玩玩看...&lt;br /&gt;很想弄一台百元電腦...只不過要175元美金&gt;&lt;"&lt;br /&gt;...&lt;br /&gt;802.11無線網路封包監測及分析軟體之研製&lt;br /&gt;...&lt;br /&gt;應用感測技術之智慧型環境感知緊急救護系統之設計與實作&lt;br /&gt;...&lt;br /&gt;運用多階層網格技術於2D和3D外形中的呈現&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;自由軟體作業系統核心客製化工具組之研製&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;雖然說只是簡略說明做了那些東西，但我可以了解教授所說的...很滿有趣的&lt;br /&gt;...&lt;br /&gt;無線感測網路技術應用於旱災預警與監測通報系統之設計與實作(II)&lt;br /&gt;..&lt;br /&gt;支援跨語言語料收集之維基百科外覆程式&lt;br /&gt;...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.google.com.tw/changshulong/RrIi2T8qTtI/AAAAAAAAAqI/jLBPwKzvqFg/SUC51604.JPG?imgmax=512"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://lh6.google.com.tw/changshulong/RrIi2T8qTtI/AAAAAAAAAqI/jLBPwKzvqFg/SUC51604.JPG?imgmax=512" border="0" alt="" /&gt;&lt;/a&gt;&lt;span style="font-weight:bold;"&gt;小心！間諜就在你身邊！ 如何增加LAMP安全-現場Demo, Outian&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;心得：&lt;br /&gt;超厲害的HACKER DEMO，看的很Shock，&lt;br /&gt;以後自己管SERVER真的要小心...&lt;br /&gt;...&lt;br /&gt;粗體是表示我自己覺得不錯的議程...&lt;br /&gt;&lt;br /&gt;另外，大部份的簡報都可以抓的到了，&lt;br /&gt;在[&lt;a href="http://www.oss.org.tw/"&gt;自由軟體入口網站首頁&lt;/a&gt;]左邊的部份...&lt;br /&gt;&lt;br /&gt;總之，以後可能也不會想去了吧...&lt;br /&gt;不但是太遠了...而且沒有比今年的OSDC精彩~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-2866891411501709996?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/2866891411501709996/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=2866891411501709996&amp;isPopup=true' title='51 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2866891411501709996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/2866891411501709996'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/08/taiwan-linux-forum.html' title='Taiwan Linux Forum'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>51</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7440627905936541844</id><published>2007-07-19T19:29:00.001+08:00</published><updated>2007-11-08T17:38:26.947+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='robot'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Robot need a RTOS,but Linux maybe Realtime?</title><content type='html'>Reference: &lt;br /&gt;Jserv前輩在OSDC.tw所發表的RT nanokernel for Embedded Linux議題中&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Is Linux Realtime?&lt;br /&gt;過去的答案：&lt;br /&gt;No，其原因：&lt;br /&gt;Monolithic Kernel、Non Preemptible、Resource Lock、Priority Scheduling&lt;br /&gt;&lt;br /&gt;現在(Kernel 2.6)的答案：Maybe Yes&lt;br /&gt;Old: No Kernel Preemption &lt;br /&gt;Execution in kernel mode interrupted only by explicit、yields, sleeps, and IRQ’s&lt;br /&gt;&lt;br /&gt;New: Kernel May Be Preempted &lt;br /&gt;New process may be swapped in after servicing an interrupt&lt;br /&gt;&lt;br /&gt;但「May Be」，問題點：&lt;br /&gt;相較於典型RTOS來說，還是太沈重&lt;br /&gt;不具備Hard-Realtime能力&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;但Robot need a RTOS&lt;br /&gt;所以...&lt;br /&gt;我的目標將先往RTOS的方向走，可能要建立一個Realtime Linux System...&lt;br /&gt;Linux如何Realtime？&lt;br /&gt;這也是我最近要達成的方向...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7440627905936541844?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7440627905936541844/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7440627905936541844&amp;isPopup=true' title='7 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7440627905936541844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7440627905936541844'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/robot-need-rtosbut-linux-maybe-realtime_19.html' title='Robot need a RTOS,but Linux maybe Realtime?'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-9002662564497069072</id><published>2007-07-16T13:41:00.000+08:00</published><updated>2007-07-18T22:33:26.588+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kontron'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Kontron DIMM-PC</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Kontron DIMM-PC/520I&lt;/span&gt;&lt;br /&gt;586 Embedded Controller, Upto 32MB DRAM, 32MB Flash With Optional Ethernet or USB&lt;br /&gt;&lt;br /&gt;series: 08012-3232-13-0 &lt;br /&gt;DIMM-PC/520-I CPU module with 32MB DRAM and 32MB flash&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Kontron DIMM-PC/COMBO2 &amp; /VGA2&lt;/span&gt;&lt;br /&gt;LCD/VGA, Ethernet and Serial on one DIMM I/O Module, Full PC functionality at the size of a business card&lt;br /&gt;&lt;br /&gt;series: 08014-0000-01-0 &lt;br /&gt;DIMM-PC/COMBO2 VGA, Ethernet and two serial interfaces&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Kontron DIMM-PC/KIT-3&lt;/span&gt;&lt;br /&gt;Starter Kit for use with the DIMM-PC range, Fast assembly and quick operation&lt;br /&gt;&lt;br /&gt;series: 08005-0000-00-4&lt;br /&gt;DIMM-PC/ADA3 Evaluation-board for DIMM-PC&lt;br /&gt;&lt;br /&gt;這就是我們實驗室嵌入式板子的資料~~&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://www.dpie.com/dimmpc/dimmpc520.html"&gt;http://www.dpie.com/dimmpc/dimmpc520.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dpie.com/dimmpc/dimmcombo.html"&gt;http://www.dpie.com/dimmpc/dimmcombo.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dpie.com/dimmpc/dimmstarterkit.html"&gt;http://www.dpie.com/dimmpc/dimmstarterkit.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-9002662564497069072?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/9002662564497069072/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=9002662564497069072&amp;isPopup=true' title='49 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/9002662564497069072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/9002662564497069072'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/kontron-dimm-pc-combo2-vga2-kit-3.html' title='Kontron DIMM-PC'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>49</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-3563870746134058856</id><published>2007-07-14T09:33:00.000+08:00</published><updated>2007-11-07T09:31:56.778+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Porting Kernel 2.6 for DIMM-PC</title><content type='html'>純粹好玩來Porting Kernel 2.6 for DIMM-PC&lt;br /&gt;大約的步驟...(準備開始)&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt;Step1: Collecting about Hardware Information&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CPU: AMD™ Elan SC520 133MHz&lt;br /&gt;&lt;br /&gt;Memory: 32768k(32 MByte) DRAM, 32 MByte IDE compatible Flash Disk&lt;br /&gt;&lt;br /&gt;ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx&lt;br /&gt;hda: SanDisk SDC1-32, CFA DISK drive&lt;br /&gt;&lt;br /&gt;VGA Board:  Topro TP6508IQ video controller&lt;br /&gt;(VGA Graphics for CRT and flat displays)&lt;br /&gt;&lt;br /&gt;Ethernet: Crystal LAN™ CS8900 Ethernet Controller(cs8900 rev J found at 0x300 [Cirrus EEPROM])&lt;br /&gt;&lt;br /&gt;ttyS00 at 0x03f8 (irq = 4) is a 16550A&lt;br /&gt;ttyS01 at 0x02f8 (irq = 3) is a 16550A&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt;Step2: Allocation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bootloader: lilo or u-Boot&lt;br /&gt;(Reference jserv's blog [&lt;a href="http://blog.linux.org.tw/~jserv/archives/001840.html"&gt;探索 Linux bootloader 的佳作&lt;/a&gt;])&lt;br /&gt;Linux Kernel: 2.6.20 (or newest)&lt;br /&gt;(Realtime Embedded Linux, RTOS)&lt;br /&gt;&lt;br /&gt;Root File System: BusyBox + uClibc(or eglibc) + initscripts...&lt;br /&gt;LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib&lt;br /&gt;PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin&lt;br /&gt;TERM=vt100&lt;br /&gt;SHELL=/bin/ash&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt;Step3: Create Image file&lt;/strong&gt;&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt;Step4:  Emulate, Tesing&lt;/strong&gt;&lt;br /&gt;...&lt;br /&gt;Testing. If not ok, back to Step 2&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt;Step5:  burn to DIMM-PC Flash ROM&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-3563870746134058856?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/3563870746134058856/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=3563870746134058856&amp;isPopup=true' title='32 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/3563870746134058856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/3563870746134058856'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/start-porting-kernel-26-for-dimm-pc520.html' title='Porting Kernel 2.6 for DIMM-PC'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-7674882806351909142</id><published>2007-07-10T15:57:00.000+08:00</published><updated>2007-11-08T23:35:11.819+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Where Can I get Memory Image context?</title><content type='html'>明明ml30j53.img的&lt;em&gt;檔案系統就是minix~~~&lt;/em&gt;&lt;br /&gt;...&lt;br /&gt;mitelinux:/# cat /proc/mounts&lt;br /&gt;&lt;strong&gt;rootfs / rootfs rw 0 0&lt;br /&gt;/dev/root / minix ro 0 0&lt;br /&gt;none /proc proc rw 0 0&lt;br /&gt;none /dev/pts devpts rw 0 0&lt;br /&gt;/dev/ram /mnt/ram minix rw 0 0&lt;/strong&gt;&lt;br /&gt;mitelinux:/# cat /etc/fstab&lt;br /&gt;&lt;strong&gt;/dev/hda1               /                       minix    defaults        1 1&lt;br /&gt;none                    /proc                   proc     defaults        0 0&lt;br /&gt;none                    /dev/pts                devpts   gid=5,mode=620  0 0&lt;/strong&gt;&lt;br /&gt;mitelinux:/# df -h&lt;br /&gt;&lt;strong&gt;Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;&lt;em&gt;/dev/hda1                30.2M     10.8M     19.3M  36% /&lt;/em&gt;/dev/ram                502.0k     40.0k    462.0k   8% /mnt/ram&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;但我怎麼mount就是沒辦法~~~&lt;br /&gt;Where Can I get Memory Image context?&lt;br /&gt;&lt;strong&gt;#mount -t minix ml30j53.img rootfs/ -o loop&lt;/strong&gt;&lt;br /&gt;功力還不夠啊~~~誰能幫幫我~~思考中~~&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[更新]&lt;/span&gt;&lt;br /&gt;錯錯不是minix，我還在研究到底是什麼??&lt;br /&gt;csl@csl-desktop:~$ file ml30j53.img &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ml30j53.img: x86 boot sector, LInux i386 boot LOader; partition 1: ID=0x83, starthead 1, startsector 63, 62433 sectors, extended partition table (last)\011&lt;/span&gt;&lt;br /&gt;看起來像是在Memory Image中的大合體??好像是把所有東西放在一起??&lt;br /&gt;但要放在一起，難道Memory Image沒有filesystem嗎?&lt;br /&gt;...&lt;br /&gt;原來&lt;br /&gt;csl@csl-desktop:~$ qemu-img  info ml30j53.img &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;image: ml30j53.img&lt;br /&gt;file format: raw&lt;br /&gt;virtual size: 31M (32047104 bytes)&lt;br /&gt;disk size: 31M&lt;/span&gt;&lt;br /&gt;它是一個raw file format，&lt;br /&gt;/*&lt;br /&gt;raw&lt;br /&gt;Raw disk image format (default). This format has the advantage of being simple and easily exportable to all other emulators. If your file system supports holes (for example in ext2 or ext3 on Linux or NTFS on Windows), then only the written sectors will reserve space. Use qemu-img info to know the real size used by the image or ls -ls on Unix/Linux.&lt;br /&gt;*/&lt;br /&gt;難怪怎麼mount都沒辦法...&lt;br /&gt;還要再努力才行啊~~~&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[/更新]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-7674882806351909142?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/7674882806351909142/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=7674882806351909142&amp;isPopup=true' title='24 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7674882806351909142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/7674882806351909142'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/where-can-i-get-memory-image-context.html' title='Where Can I get Memory Image context?'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-6156127348220366007</id><published>2007-07-06T18:01:00.000+08:00</published><updated>2007-07-20T09:38:40.318+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontron'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>Oh~My God</title><content type='html'>oh~My God~~I get console in DIMM-PC/520-I&lt;br /&gt;弄了半天~~原來那麼容易取得~~&lt;br /&gt;要不是把VGA接上Screen，&lt;br /&gt;看到DIMM-PC竟然有BIOS的管理介面(跟電腦差不多)，&lt;br /&gt;看到DIMM-PC竟然有跟電腦那麼像，&lt;br /&gt;還不用風扇(超強的)，&lt;br /&gt;難怪BOSS說這個東東會比ARM強，終於可以體會出來了...&lt;br /&gt;真是說不出來的高興~~&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Making directories: [ OK ]&lt;br /&gt;Setting system clock: [ OK ]&lt;br /&gt;MAC address of eth0: 00:e0:4b:04:01:e7&lt;br /&gt;tcpdump: listening on eth0&lt;br /&gt;Configuring eth0: [ OK ]&lt;br /&gt;Configuring lo: [ OK ]&lt;br /&gt;Starting system logger: [ OK ]&lt;br /&gt;Starting kernel logger: [ OK ]&lt;br /&gt;Starting xinetd: [ OK ]&lt;br /&gt;Generating main crontab: [ OK ]&lt;br /&gt;Starting crond: [ OK ]&lt;br /&gt;Starting sshd: [ OK ]&lt;br /&gt;&lt;br /&gt;Please press Enter to activate this console.&lt;br /&gt;&lt;br /&gt;miteLINUX release 3.0 (Woody)&lt;br /&gt;mitelinux login: root&lt;br /&gt;Password:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BusyBox v1.00-pre7 (2004.02.04-18:02+0000) Built-in shell (ash)&lt;br /&gt;Enter 'help' for a list of built-in commands.&lt;br /&gt;&lt;br /&gt;mitelinux:/root#&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;接下來的工作，就是~~~&lt;br /&gt;改MiteLinux裡面，會有時無法進系統的情況，&lt;br /&gt;還有一些我想玩玩的東西，像kernel變2.6啦...&gt;&lt;"&lt;br /&gt;努力吧~~&lt;br /&gt;目標是七月底把這塊板子中的Linux，修改成我要做的東東~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-6156127348220366007?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/6156127348220366007/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=6156127348220366007&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6156127348220366007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6156127348220366007'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/ohmy-god-i-get-console-in-dimm-pc520-i.html' title='Oh~My God'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-966060487381153712</id><published>2007-07-04T03:26:00.000+08:00</published><updated>2007-07-11T17:20:33.379+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Kontron'/><category scheme='http://www.blogger.com/atom/ns#' term='DIMM-PC'/><title type='text'>miteLINUX for DIMM-PC</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vgvWFfxbEN8/Ro5l9tXwAfI/AAAAAAAAAJo/WHzoqy6MpR4/s1600-h/SUC51322.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_vgvWFfxbEN8/Ro5l9tXwAfI/AAAAAAAAAJo/WHzoqy6MpR4/s320/SUC51322.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084113140173505010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我們的實驗室買了一塊開發板(Kontron DIMM-PC/520-I + JUMPtec)，老實說我從來沒聽過這塊板子，不過聽老闆說這塊開發板比arm還強，以後可以拿來用在機器人的核心系統。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://apac.kontron.com/images/products/d_520.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://apac.kontron.com/images/products/d_520.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;規格：&lt;br /&gt;    * AMD ELAN SC520 CPU with 133MHz&lt;br /&gt;    * 32 Mbyte DRAM and&lt;br /&gt;    * 32 MB IDE Flashdisk, IDE Interface&lt;br /&gt;    * Floppy, Real Time Clock,&lt;br /&gt;    * EEPROM for CMOS-Data backup 5V single voltage,&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;今天我要將Linux放入，所以要利用JRC+RS232跳線來將img檔寫入flash中，結果很順利就成功。但目前有個問題是拿不到console，今天真的累了~明天在想辦法好了^^"&lt;br /&gt;&lt;br /&gt;補充：&lt;br /&gt;&lt;a href="http://www.mite.cz/dimmpc/dimmpctable-en.html"&gt;http://www.mite.cz/dimmpc/dimmpctable-en.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mite.cz/softlinux-en/softlinux-en.html"&gt;http://www.mite.cz/softlinux-en/softlinux-en.html&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.amd.com/epd/linux/index.html"&gt;http://www.amd.com/epd/linux/index.html&lt;/a&gt;&lt;br /&gt;目前還沒拿到console，加油中~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-966060487381153712?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/966060487381153712/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=966060487381153712&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/966060487381153712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/966060487381153712'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/mitelinux-for-dimm-pc.html' title='miteLINUX for DIMM-PC'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vgvWFfxbEN8/Ro5l9tXwAfI/AAAAAAAAAJo/WHzoqy6MpR4/s72-c/SUC51322.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7353155472291691370.post-6050635650236757180</id><published>2007-07-02T19:20:00.000+08:00</published><updated>2007-11-08T23:36:13.553+08:00</updated><title type='text'>開始寫了~~~</title><content type='html'>快要進研究所了~~&lt;br /&gt;想加強一些基本觀念~~~&lt;br /&gt;也打算利用時間，學一些Kenrel東西~~&lt;br /&gt;好多東西要學喔~~~&lt;br /&gt;明天開始吧~~加油啦&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7353155472291691370-6050635650236757180?l=cslics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslics.blogspot.com/feeds/6050635650236757180/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7353155472291691370&amp;postID=6050635650236757180&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6050635650236757180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7353155472291691370/posts/default/6050635650236757180'/><link rel='alternate' type='text/html' href='http://cslics.blogspot.com/2007/07/blog-post.html' title='開始寫了~~~'/><author><name>csl</name><uri>http://www.blogger.com/profile/06630784623165312568</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_vgvWFfxbEN8/SxCGfMWwJaI/AAAAAAAALFs/u_v8ONpLryU/S220/SUC50064.JPG'/></author><thr:total>1</thr:total></entry></feed>
