<?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-14486614</id><updated>2011-12-02T10:03:45.672+08:00</updated><category term='房屋'/><title type='text'>Macross的筆記</title><subtitle type='html'>一些工作上的筆記及心得</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14486614.post-3101941503647882127</id><published>2007-02-02T16:36:00.000+08:00</published><updated>2007-02-02T16:49:37.585+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='房屋'/><title type='text'>熱水器調查</title><content type='html'>1. 上豪：GS-9901 強排 $4700&lt;br /&gt;&lt;a href="http://tw.f4.page.bid.yahoo.com/tw/auction/d22805363"&gt;http://tw.f4.page.bid.yahoo.com/tw/auction/d22805363&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. 上豪：GS-9801 $3300&lt;br /&gt;&lt;a href="http://tw.f5.page.bid.yahoo.com/tw/auction/e17761593"&gt;http://tw.f5.page.bid.yahoo.com/tw/auction/e17761593&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. 和成：GH-567 $4200&lt;br /&gt;&lt;a href="http://tw.f4.page.bid.yahoo.com/tw/auction/d23764559"&gt;http://tw.f4.page.bid.yahoo.com/tw/auction/d23764559&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. 和成：GH-5500 智慧恆溫 $5600&lt;br /&gt;&lt;a href="http://tw.page.bid.yahoo.com/tw/auction/1134761402"&gt;http://tw.page.bid.yahoo.com/tw/auction/1134761402&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5. 和成：GH-595 強排 $6300&lt;br /&gt;&lt;a href="http://tw.f2.page.bid.yahoo.com/tw/auction/b30649858"&gt;http://tw.f2.page.bid.yahoo.com/tw/auction/b30649858&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/14486614-3101941503647882127?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/3101941503647882127/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=3101941503647882127' title='256 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/3101941503647882127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/3101941503647882127'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2007/02/blog-post.html' title='熱水器調查'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>256</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116711618202871482</id><published>2006-12-26T14:49:00.000+08:00</published><updated>2006-12-26T14:56:22.040+08:00</updated><title type='text'>"Device busy for revalidation" 發生於使用scsi driver的 讀卡機</title><content type='html'>在uClinux中，使用scsi driver掛載的磁碟機(讀卡機 隨身碟)，在插拔卡片時發生  "Device busy for revalidation"的訊息。其解決方法如下：&lt;br /&gt;&lt;br /&gt;修改&lt;span style="font-family:Arial,Helvetica;"&gt; drivers/scsi/sd.c中，fop_revalidate_scsidisk(kdev_t dev)會呼叫 revalidate_scsidisk(dev, 0);&lt;br /&gt;，將其修改為 &lt;/span&gt;&lt;span style="font-family:Arial,Helvetica;"&gt;revalidate_scsidisk(dev, 1); ，就可以解決了。&lt;br /&gt;&lt;br /&gt;參考出處：&lt;a href="http://www.cs.helsinki.fi/linux/linux-kernel/2001-42/0167.html" target="_blank"&gt;這裡&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Arial,Helvetica;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116711618202871482?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116711618202871482/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116711618202871482' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116711618202871482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116711618202871482'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/12/device-busy-for-revalidation-scsi.html' title='&quot;Device busy for revalidation&quot; 發生於使用scsi driver的 讀卡機'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116701810271483769</id><published>2006-12-25T11:33:00.000+08:00</published><updated>2006-12-25T11:41:42.723+08:00</updated><title type='text'>省電燈泡</title><content type='html'>根據12/13的新聞指出，省電燈泡以螺旋式的最為省電，u型的最不省電。&lt;br /&gt;參考連結：&lt;a href="http://news.yam.com/bcc/life/200612/20061213663760.html"&gt;這裡&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;在拍賣中搜尋 "省電燈泡" "螺旋"，大部份賣的是23W的規格，廠牌大都為飛利浦 歐司朗 日立，其他的牌子就沒有聽過，不過大廠的大都是大陸製，小廠的則是標榜台灣製。價錢從70-100單顆都有人賣。&lt;br /&gt;&lt;br /&gt;網路上的意見：&lt;a href="http://http://www.mobile01.com/topicdetail.php?f=168&amp;t=173549"&gt;&lt;br /&gt;http://www.mobile01.com/topicdetail.php?f=168&amp;amp;t=173549&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/14486614-116701810271483769?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116701810271483769/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116701810271483769' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116701810271483769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116701810271483769'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/12/blog-post.html' title='省電燈泡'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116237303767901759</id><published>2006-11-01T15:20:00.000+08:00</published><updated>2006-11-01T17:32:35.446+08:00</updated><title type='text'>mplayer 編譯</title><content type='html'>下載：&lt;br /&gt;MPlayer-1.0rc1.tar.bz2&lt;br /&gt;essential-20061022.tar.bz2&lt;br /&gt;&lt;br /&gt;先將essential-20061022.tar.bz2解到 /usr/lib/win32 及 /usr/local/lib/win32&lt;br /&gt;&lt;br /&gt;#./configure --prefix=/usr/local/mplayer/ --enable-gui --enable-freetype --with-codecsdir=/usr/lib/win32 --with-win32libdir=/usr/local/lib/win32 --language=zh_TW&lt;br /&gt;&lt;br /&gt;#make&lt;br /&gt;&lt;br /&gt;#make install&lt;br /&gt;&lt;br /&gt;使用自己的中文字型&lt;br /&gt; ln -s /usr/sh are/fonts/fireflysung.ttf ~/.mplayer/subfont.ttf&lt;br /&gt;&lt;br /&gt;divx字幕檔中文支援&lt;br /&gt;喜好設定-&gt;字幕及osd：&lt;br /&gt;編碼選擇big5，勾選統一碼字幕(unicode)&lt;br /&gt;喜好設定-&gt;字型：&lt;br /&gt;編碼選擇統一碼&lt;br /&gt;&lt;br /&gt;Skin找不到無法起動的問題：&lt;br /&gt;從這邊：http://www.mplayerhq.hu/design7/dload.html 下載一個skin&lt;br /&gt;解壓縮存到.mplayer/skins/default&lt;br /&gt;這樣就可以了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116237303767901759?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116237303767901759/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116237303767901759' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116237303767901759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116237303767901759'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/11/mplayer.html' title='mplayer 編譯'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116234270528256737</id><published>2006-11-01T08:55:00.000+08:00</published><updated>2006-11-01T08:58:25.290+08:00</updated><title type='text'>OpenOffice 2.0中文加強版無法使用gcin輸入法</title><content type='html'>在 /usr/bin/openoffice.org-2.0 這個script中加入以下這行&lt;br /&gt;&lt;br /&gt;export GTK_IM_MODULE=gcin&lt;br /&gt;&lt;br /&gt;這樣就能夠解決無法使用gcin輸入法的問題了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116234270528256737?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116234270528256737/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116234270528256737' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116234270528256737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116234270528256737'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/11/openoffice-20gcin.html' title='OpenOffice 2.0中文加強版無法使用gcin輸入法'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116183710013677609</id><published>2006-10-26T12:30:00.000+08:00</published><updated>2006-10-26T12:32:32.150+08:00</updated><title type='text'>木地板的討論</title><content type='html'>&lt;a href="http://www.mobile01.com/topicdetail.php?f=37&amp;t=226952&amp;amp;last=1824194" target=_blank&gt;木地板的一些知識&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116183710013677609?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116183710013677609/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116183710013677609' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116183710013677609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116183710013677609'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/blog-post_26.html' title='木地板的討論'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116114016171386795</id><published>2006-10-18T10:53:00.000+08:00</published><updated>2006-10-18T11:05:40.166+08:00</updated><title type='text'>Linux新增字型</title><content type='html'>將字型檔複製到/usr/share/fonts下&lt;br /&gt;在console中下指令：fc-cache -f -v&lt;br /&gt;這樣字型選項應該就會出現在應用程式中了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116114016171386795?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116114016171386795/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116114016171386795' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116114016171386795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116114016171386795'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/linux.html' title='Linux新增字型'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116104708203194997</id><published>2006-10-17T08:59:00.000+08:00</published><updated>2006-10-17T09:10:28.083+08:00</updated><title type='text'>E0與E1板材(系統傢俱)</title><content type='html'>1.  關於是什麼E1、E0級標準？全國工商聯櫥櫃專業委員會會長姚良松先生介紹說：現在傢具和櫥櫃都廣泛使用人造板材。為了使板材更加結實和耐用，人造板中需添加防潮劑和黏合劑，這些是游離甲醛的主要來源。E1、E0級標準是歐洲國家根據人造板中游離甲醛含量來劃分的，也是目前中國傢具人造板材使用的標準。其中E1級規定游離甲醛含量點9mg/100g，E0級甲醛含量點3mg/100g(另外一種計算標準：E1級點1.5mg/L，E0點0.5mg/L)。這表明，達到環保標準的板材並不是沒有甲醛，而是甲醛的釋放量達到標準。&lt;br /&gt;&lt;br /&gt;業內專家認為，歐派等一些國內品牌櫥櫃現在廣泛使用的E1標準板材已經達到了櫥櫃環保安全使用的要求，可以稱為環保櫥櫃。而E0級板材&gt;儘管環保標準更高，但由於不含綠色防潮劑和黏合劑，其韌性和防潮性能相對就低，容易受潮斷裂，一般可用於傢具的基材，卻不適合用在廚房潮濕的環境中。而且，由於E0級板材成本要比E1級高出兩三成，因此，真正用E0級板材製造櫥櫃的廠家很少。一些廠家宣稱自己使用的是E0級環保板材，實際上往往是在炒作概念。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://72.14.235.104/search?q=cache:F6jXWstVfwYJ:big5.ce.cn/cysc/jc/gdxw/200604/13/t20060413_6683748.shtml+e0+%E7%92%B0%E4%BF%9D+%E6%9D%BF%E6%9D%90&amp;hl=zh-TW&amp;amp;amp;amp;amp;gl=tw&amp;ct=clnk&amp;amp;cd=1&amp;client=firefox"&gt;原文&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;&lt;strong style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1.依甲醛釋出量(FORMALDEHYDE EMISSION)分：&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;a.&lt;strong&gt;E2&lt;/strong&gt;級   甲醛釋出量介於0.1~0.2P.P.M.，即10-20MGR/100G。&lt;br /&gt;b.&lt;strong&gt;E1&lt;/strong&gt;級   甲醛釋出量小於0.1P.P.M，10MGR/100G。&lt;br /&gt;c.&lt;strong&gt;E0&lt;/strong&gt;級   甲醛釋出量LIM→0。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;strong&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2.依防潮等級分：&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;a. &lt;strong style="color: rgb(0, 0, 0);"&gt;V313&lt;/strong&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 一般稱防水板&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;strong style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(MOISTURE RESIST PARTICLE BOARD)：&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    24小時浸水厚度膨脹率&lt;/span&gt;&lt;strong style="color: rgb(0, 0, 0);"&gt;6&lt;/strong&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;%。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;b. &lt;strong&gt;V100&lt;/strong&gt; 一般稱防潮板：24小時浸水厚度膨脹率&lt;strong&gt;6&lt;/strong&gt;%~&lt;strong&gt;12&lt;/strong&gt;%。&lt;br /&gt;&lt;br /&gt;c. &lt;strong&gt;V20 一般稱為普通板：&lt;/strong&gt;24小時浸水厚度膨脹率&lt;strong&gt;12&lt;/strong&gt;%以上。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;strong&gt;PS.&lt;/strong&gt;正本清源：所謂 &lt;strong&gt;V313&lt;/strong&gt; 事實上是一種濕循環測試法。其測試方法如下：&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;A.在20度C以上之水中放3天&lt;br /&gt;B.在零下72度C環境中冷凍1天&lt;br /&gt;C.在70度C以上環境中乾燥3天&lt;br /&gt;以上之過程重複3次。&lt;br /&gt;在以上這些程序完畢後，這片板子在相對溼度65%及20度C環境中氣候化，&lt;br /&gt;然後在檢驗這片板子的張力、強度及膨脹率。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116104708203194997?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116104708203194997/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116104708203194997' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116104708203194997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116104708203194997'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/e0e1.html' title='E0與E1板材(系統傢俱)'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116070340200871258</id><published>2006-10-13T09:25:00.000+08:00</published><updated>2006-10-13T11:20:20.060+08:00</updated><title type='text'>電話總機</title><content type='html'>1. &lt;a href="http://tw.knowledge.yahoo.com/question/?qid=1106072304452" target="_blank"&gt;家裡想裝電話總機分機，要多少的預算呢?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.        外面標準的電話線都是四蕊,,而且四蕊的顏色大部分也都固定,分別為:黃紅藍黑,&lt;br /&gt;如是家用的電話,大部份使用中間兩蕊,也就是紅藍兩蕊,另外兩蕊是備用,您可以將線的一端的四蕊用4P4C或6P4C的電話接頭打上,去接在電話機上,另一端採用剝線的方式,將紅藍兩蕊接在電話盒上面如有使用電話總機的電話系統的電話,就一定要用四蕊的線,且四蕊電話線都有極性,是不能接錯的,接錯的話輕者電話總機的[保險絲燒掉],重者整台電話總機會燒掉。&lt;br /&gt;&lt;br /&gt;3. &lt;a href="http://tw.knowledge.yahoo.com/question/?qid=1406090509263"&gt;總機系統可以接無線電話嗎?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. &lt;a href="http://tw.f2.page.bid.yahoo.com/tw/auction/b29326128"&gt;電話語音總機交換機TC416A+4支MT-909商用顯示型話機**PABX工廠直營一年保固&lt;/a&gt;&lt;br /&gt;  &lt;a href="http://www.tomat.com.tw/PABX/TC416A-MANUAL-T.htm"&gt;使用說明 &lt;/a&gt;   (下面有問題解答) $5700&lt;br /&gt;&lt;br /&gt;5. &lt;a href="http://tw.f4.page.bid.yahoo.com/tw/auction/d21683771"&gt;東訊SD-(DX)電話總機套裝【含 4部螢幕話機】！加贈(長途、行動、國際)電話節費系統&lt;/a&gt;&lt;br /&gt;$8800&lt;br /&gt;&lt;br /&gt;6. &lt;a href="http://tw.f2.page.bid.yahoo.com/tw/auction/b29620744"&gt;東訊SD-300 電話總機套裝 （主機*1部+SD-7531S 型話機*11部+停電專用電池）&lt;/a&gt;&lt;br /&gt;$10000 (話機不用這麼多台)&lt;br /&gt;&lt;br /&gt;7. &lt;a href="http://tw.page.bid.yahoo.com/tw/auction/1143788022"&gt;@降價商品促銷@Panasonic國際數位電話總機+數位電話4台2心配線十分簡單可自己裝8000&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8. &lt;a href="http://tw.f4.page.bid.yahoo.com/tw/auction/d10866556"&gt;國際數位電話總機可作無線總機+數位螢幕顯示電話5台優惠促銷價14000&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;9. 一般總機與pabx總機的不同：&lt;br /&gt;PABX就是交換機，使用一般標準電話機當分機，當然也包括一般無線話機。&lt;br /&gt;按鍵式總機是話機與總機配套銷售，不能使用一般標準話機當分機，由於是專用話機所以面板控制按鍵、顯示燈號比較豐富，功能較多操作也很便利，這種類型的總 機使用在中小型辦公室很適合，東訊DX系列就是這種系統，可是缺點是不能使用一般標準話機，而且更換不同廠牌總機時所有話機都必須一起更換。&lt;br /&gt;&lt;br /&gt;總機看起來都不大(30cm*20cm*4.8cm) ，不過都要接電源。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mobile01.com/topicdetail.php?f=168&amp;t=154942"&gt;http://www.mobile01.com/topicdetail.php?f=168&amp;amp;t=154942&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116070340200871258?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116070340200871258/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116070340200871258' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116070340200871258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116070340200871258'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/blog-post_13.html' title='電話總機'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-116064558103183643</id><published>2006-10-12T17:23:00.000+08:00</published><updated>2006-10-13T09:18:57.830+08:00</updated><title type='text'>升降曬衣架</title><content type='html'>簡易型：&lt;a href="http://tw.page.bid.yahoo.com/tw/auction/1145148061"&gt;http://tw.page.bid.yahoo.com/tw/auction/1145148061&lt;/a&gt; ($980)&lt;br /&gt;&lt;br /&gt;中級：&lt;a href="http://tw.f3.page.bid.yahoo.com/tw/auction/c23893084"&gt;http://tw.f3.page.bid.yahoo.com/tw/auction/c23893084&lt;/a&gt; (三桿) $3800&lt;br /&gt;&lt;br /&gt;電動：&lt;a href="http://tw.f4.page.bid.yahoo.com/tw/auction/d20868727"&gt;http://tw.f4.page.bid.yahoo.com/tw/auction/d20868727&lt;/a&gt; (有點醜，有紫外線殺菌燈，號稱法國馬達) $15800&lt;br /&gt;&lt;br /&gt;遙控：&lt;a href="http://tw.f2.page.bid.yahoo.com/tw/auction/b29131208"&gt;http://tw.f2.page.bid.yahoo.com/tw/auction/b29131208&lt;/a&gt; (一組似乎只有兩隻曬衣桿，很便宜) $6500&lt;br /&gt;&lt;br /&gt;pchome: &lt;a href="http://shopping.pchome.com.tw/clotheshorse/detail.php?pid=CSU00003"&gt;http://shopping.pchome.com.tw/clotheshorse/detail.php?pid=CSU00003&lt;/a&gt; (不夾繩設計)$1999&lt;br /&gt;&lt;br /&gt;手搖式：&lt;a href="http://home.anet.net.tw/ha106086/main04.htm"&gt;http://home.anet.net.tw/ha106086/main04.htm&lt;/a&gt; $3000-3600&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-116064558103183643?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/116064558103183643/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=116064558103183643' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116064558103183643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/116064558103183643'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/blog-post.html' title='升降曬衣架'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-115983859352670092</id><published>2006-10-03T09:21:00.000+08:00</published><updated>2006-10-03T09:23:13.540+08:00</updated><title type='text'>使用SCSI Generic Driver與usb讀卡機進行讀寫</title><content type='html'>利用SCSI Generic Driver 與usb讀卡機溝通&lt;br /&gt;&lt;br /&gt;1. 在linuxconfig中勾選 SCSI support--&gt; SCSI generic support&lt;br /&gt;&lt;br /&gt;2. 在程式中需要include &lt;scsi/sg.h&gt;&lt;br /&gt;&lt;br /&gt;3. sg_io_hdr struct介紹&lt;br /&gt;&lt;br /&gt;typedef struct sg_io_hdr&lt;br /&gt;{&lt;br /&gt;    int interface_id;           /* [i] 'S' for SCSI generic (required) */&lt;br /&gt;    int dxfer_direction;        /* [i] &lt;span style="color: rgb(255, 0, 0);"&gt;資料傳輸方向&lt;/span&gt; (SG_DXFER_FROM_DEV, SG_DXFER_TO_DEV,   SG_DXFER_NONE)  */&lt;br /&gt;    unsigned char cmd_len;      /* [i] &lt;span style="color: rgb(255, 0, 0);"&gt;SCSI 指令長度&lt;/span&gt; ( &lt;= 16 bytes) */&lt;br /&gt;    unsigned char mx_sb_len;    /* [i] max length to write to sbp */&lt;br /&gt;    unsigned short iovec_count; /* [i] 0 implies no scatter gather */&lt;br /&gt;    unsigned int dxfer_len;     /* [i] &lt;span style="color: rgb(255, 0, 0);"&gt;讀取寫入資料長度&lt;/span&gt;  */&lt;br /&gt;    void * dxferp;              /* [i], [*io] points to data transfer memory&lt;br /&gt;                          or scatter gather list */&lt;br /&gt;    unsigned char * cmdp;       /* [i], [*i] points to command to perform */&lt;br /&gt;    unsigned char * sbp;        /* [i], [*o] points to sense_buffer memory */&lt;br /&gt;    unsigned int timeout;       /* [i] MAX_UINT-&gt;no timeout (unit: millisec) */&lt;br /&gt;    unsigned int flags;         /* [i] 0 -&gt; default, see SG_FLAG... */&lt;br /&gt;    int pack_id;                /* [i-&gt;o] unused internally (normally) */&lt;br /&gt;    void * usr_ptr;             /* [i-&gt;o] unused internally */&lt;br /&gt;    unsigned char status;       /* [o] scsi status */&lt;br /&gt;    unsigned char masked_status;/* [o] shifted, masked scsi status */&lt;br /&gt;    unsigned char msg_status;   /* [o] messaging level data (optional) */&lt;br /&gt;    unsigned char sb_len_wr;    /* [o] byte count actually written to sbp */&lt;br /&gt;    unsigned short host_status; /* [o] errors from host adapter */&lt;br /&gt;    unsigned short driver_status;/* [o] errors from software driver */&lt;br /&gt;    int resid;                  /* [o] dxfer_len - actual_transferred */&lt;br /&gt;    unsigned int duration;      /* [o] time taken by cmd (unit: millisec) */&lt;br /&gt;    unsigned int info;          /* [o] auxiliary information */&lt;br /&gt;} sg_io_hdr_t;  /* 64 bytes long (on i386) */&lt;br /&gt;&lt;br /&gt;PS. &lt;span style="color: rgb(0, 0, 153);"&gt;http://tldp.org/HOWTO/SCSI-Generic-HOWTO/index.html&lt;/span&gt; 有詳細介紹&lt;br /&gt;&lt;br /&gt;4. 需要注意裝置被掛載的位置。我的usb讀卡機裝置利用generic driver的話，是被掛載於/dev/scsi/host0/bus0/target0/lun0/generic。&lt;br /&gt;    一般則是會在 /dev/sg0 or /dev/sg1。&lt;br /&gt;&lt;br /&gt;5. 範例程式 ：實做了 inquiry (0x12) and read10 (0x28) command.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;unistd.h&gt;&lt;br /&gt;#include &lt;fcntl.h&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;#include &lt;errno.h&gt;&lt;br /&gt;#include &lt;sys/ioctl.h&gt;&lt;br /&gt;#include &lt;scsi/sg.h&gt; /* take care: fetches glibc's /usr/include/scsi/sg.h */&lt;br /&gt;&lt;br /&gt;/* This is a simple program executing a SCSI INQUIRY command using the&lt;br /&gt;   sg_io_hdr interface of the SCSI generic (sg) driver.&lt;br /&gt;&lt;br /&gt;*  Copyright (C) 2001 D. Gilbert&lt;br /&gt;*  This program is free software.   Version 1.01 (20020226)&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;#define INQ_REPLY_LEN 96&lt;br /&gt;#define INQ_CMD_CODE 0x12&lt;br /&gt;#define INQ_CMD_LEN 6&lt;br /&gt;&lt;br /&gt;#define RD_CMD_LEN 10&lt;br /&gt;#define RD_CMD_CODE 0x28&lt;br /&gt;#define RD_LEN 512&lt;br /&gt;&lt;br /&gt;int main(int argc, char * argv[])&lt;br /&gt;{&lt;br /&gt;    int sg_fd, k;&lt;br /&gt;    int readcmd = 0;&lt;br /&gt;    int rlen = 512;&lt;br /&gt;    unsigned char inqCmdBlk[INQ_CMD_LEN] =&lt;br /&gt;                    {INQ_CMD_CODE, 0, 0, 0, INQ_REPLY_LEN, 0};&lt;br /&gt;    unsigned char rdCmdBlk[RD_CMD_LEN];&lt;br /&gt;                   &lt;br /&gt;                   &lt;br /&gt;/* This is a "standard" SCSI INQUIRY command. It is standard because the&lt;br /&gt; * CMDDT and EVPD bits (in the second byte) are zero. All SCSI targets&lt;br /&gt; * should respond promptly to a standard INQUIRY */&lt;br /&gt;    unsigned char inqBuff[INQ_REPLY_LEN];&lt;br /&gt;    unsigned char sense_buffer[32];&lt;br /&gt;                   &lt;br /&gt;    unsigned char rdBuff[RD_LEN];&lt;br /&gt;                   &lt;br /&gt;    sg_io_hdr_t io_hdr;&lt;br /&gt;&lt;br /&gt;    if (2 &gt; argc) {&lt;br /&gt;        printf("Usage: 'sg_simple0 &lt;sg_device&gt;'\n");&lt;br /&gt;        return 1;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    if (argc == 3) {&lt;br /&gt;        if (strcmp(argv[2],"r")==0) readcmd = 1;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    if ((sg_fd = open(argv[1], O_RDONLY)) &lt; 0) {&lt;br /&gt;        /* Note that most SCSI commands require the O_RDWR flag to be set */&lt;br /&gt;        perror("error opening given file name");&lt;br /&gt;        return 1;&lt;br /&gt;    }&lt;br /&gt;    /* It is prudent to check we have a sg device by trying an ioctl */&lt;br /&gt;    if ((ioctl(sg_fd, SG_GET_VERSION_NUM, &amp;k) &lt; 0) || (k &lt; 30000)) {&lt;br /&gt;        printf("%s is not an sg device, or old sg driver\n", argv[1]);&lt;br /&gt;        return 1;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    if (readcmd) {&lt;br /&gt;        memset(rdCmdBlk,0,sizeof(rdCmdBlk));&lt;br /&gt;        rdCmdBlk[0] = RD_CMD_CODE;&lt;br /&gt;        rdCmdBlk[8] = 1;&lt;br /&gt;&lt;br /&gt;        memset(&amp;io_hdr, 0, sizeof(sg_io_hdr_t));&lt;br /&gt;        io_hdr.interface_id = 'S';&lt;br /&gt;        io_hdr.cmd_len = sizeof(rdCmdBlk);&lt;br /&gt;        /* io_hdr.iovec_count = 0; */  /* memset takes care of this */&lt;br /&gt;        io_hdr.mx_sb_len = sizeof(sense_buffer);&lt;br /&gt;        io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;&lt;br /&gt;        io_hdr.dxfer_len = RD_LEN;&lt;br /&gt;        io_hdr.dxferp = rdBuff;&lt;br /&gt;        io_hdr.cmdp = rdCmdBlk;&lt;br /&gt;        io_hdr.sbp = sense_buffer;&lt;br /&gt;        io_hdr.timeout = 20000;     /* 20000 millisecs == 20 seconds */&lt;br /&gt;        /* io_hdr.flags = 0; */     /* take defaults: indirect IO, etc */&lt;br /&gt;        /* io_hdr.pack_id = 0; */&lt;br /&gt;        /* io_hdr.usr_ptr = NULL; */&lt;br /&gt;    } else {&lt;br /&gt;        /* Prepare INQUIRY command */&lt;br /&gt;        memset(&amp;io_hdr, 0, sizeof(sg_io_hdr_t));&lt;br /&gt;        io_hdr.interface_id = 'S';&lt;br /&gt;        io_hdr.cmd_len = sizeof(inqCmdBlk);&lt;br /&gt;        /* io_hdr.iovec_count = 0; */  /* memset takes care of this */&lt;br /&gt;        io_hdr.mx_sb_len = sizeof(sense_buffer);&lt;br /&gt;        io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;&lt;br /&gt;        io_hdr.dxfer_len = INQ_REPLY_LEN;&lt;br /&gt;        io_hdr.dxferp = inqBuff;&lt;br /&gt;        io_hdr.cmdp = inqCmdBlk;&lt;br /&gt;        io_hdr.sbp = sense_buffer;&lt;br /&gt;        io_hdr.timeout = 20000;     /* 20000 millisecs == 20 seconds */&lt;br /&gt;        /* io_hdr.flags = 0; */     /* take defaults: indirect IO, etc */&lt;br /&gt;        /* io_hdr.pack_id = 0; */&lt;br /&gt;        /* io_hdr.usr_ptr = NULL; */&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    if (ioctl(sg_fd, SG_IO, &amp;io_hdr) &lt; 0) {&lt;br /&gt;        perror("sg_simple0: Inquiry SG_IO ioctl error");&lt;br /&gt;        return 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /* now for the error processing */&lt;br /&gt;    if ((io_hdr.info &amp; SG_INFO_OK_MASK) != SG_INFO_OK) {&lt;br /&gt;        if (io_hdr.sb_len_wr &gt; 0) {&lt;br /&gt;            printf("INQUIRY sense data: ");&lt;br /&gt;            for (k = 0; k &lt; io_hdr.sb_len_wr; ++k) {&lt;br /&gt;                if ((k &gt; 0) &amp;&amp;amp; (0 == (k % 10)))&lt;br /&gt;                    printf("\n  ");&lt;br /&gt;                printf("0x%02x ", sense_buffer[k]);&lt;br /&gt;            }&lt;br /&gt;            printf("\n");&lt;br /&gt;        }&lt;br /&gt;        if (io_hdr.masked_status)&lt;br /&gt;            printf("INQUIRY SCSI status=0x%x\n", io_hdr.status);&lt;br /&gt;        if (io_hdr.host_status)&lt;br /&gt;            printf("INQUIRY host_status=0x%x\n", io_hdr.host_status);&lt;br /&gt;        if (io_hdr.driver_status)&lt;br /&gt;            printf("INQUIRY driver_status=0x%x\n", io_hdr.driver_status);&lt;br /&gt;    }&lt;br /&gt;    else {  /* assume INQUIRY response is present */&lt;br /&gt;        if (readcmd) {&lt;br /&gt;            char *p = (char *)rdBuff;&lt;br /&gt;            printf("read buffer content:\n");&lt;br /&gt;            printf("byte 511: %x, byte 512: %x\n",*(p+510),*(p+511));&lt;br /&gt;        }else {&lt;br /&gt;            char * p = (char *)inqBuff;&lt;br /&gt;            printf("Some of the INQUIRY command's response:\n");&lt;br /&gt;            printf("    %.8s  %.16s  %.4s\n", p + 8, p + 16, p + 32);&lt;br /&gt;            printf("INQUIRY duration=%u millisecs, resid=%d\n",&lt;br /&gt;                   io_hdr.duration, io_hdr.resid);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    close(sg_fd);&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-115983859352670092?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/115983859352670092/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=115983859352670092' title='5 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115983859352670092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115983859352670092'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/10/scsi-generic-driverusb.html' title='使用SCSI Generic Driver與usb讀卡機進行讀寫'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-115880910080440285</id><published>2006-09-21T11:25:00.000+08:00</published><updated>2006-10-04T09:42:09.773+08:00</updated><title type='text'>Libupnp 1.4.1 移植到 uClinux</title><content type='html'>#############################&lt;br /&gt;Libupnp 1.4.1 移植到 uClinux&lt;br /&gt;#############################&lt;br /&gt;&lt;br /&gt;1. 下載Libupnp 1.4.1(http://www.virtualworlds.de/upnp/)&lt;br /&gt;&lt;br /&gt;2. ./configure參數如下:&lt;br /&gt;  #./configure --enable-debug --host=arm-elf --prefix=/root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/libupnp-1.4.1&lt;br /&gt;&lt;br /&gt;  --host：cross compiler(arm-elf-gcc)&lt;br /&gt;  --prefix= :等一下make install會安裝的目錄&lt;br /&gt;  --enable-debug：將debug功能開啟&lt;br /&gt;&lt;br /&gt;3. #make&lt;br /&gt;&lt;br /&gt;4.安裝library:&lt;br /&gt; #make install&lt;br /&gt;&lt;br /&gt;############################&lt;br /&gt;如何在curacao中使用 Linupnp&lt;br /&gt;############################&lt;br /&gt;&lt;br /&gt;1. 確定 Libupnp 中 lib資料夾的位置(這是我的：/root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/libupnp-1.4.1/lib)&lt;br /&gt;&lt;br /&gt;2. link upnp library  :&lt;br /&gt;  在 RMF_src/curacao/Makefile.rmf 檔案中，加入以下敘述。&lt;br /&gt;&lt;br /&gt;#==vin== upnp library&lt;br /&gt;LDLIB = /root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/                 libupnp-1.4.1/lib/libupnp.a&lt;br /&gt;             /root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/               libupnp-1.4.1/lib/libthreadutil.a              /root/hmc/mySigma49/RMF86-2.3.49.0_DCC.arm_0725/              libupnp-1.4.1/lib/libixml.a&lt;br /&gt;&lt;br /&gt;LDFLAGS += $(LDLIB)&lt;br /&gt;&lt;br /&gt;3. 我所加入有關upnp的檔案：myupnp.cpp myupnpAction.cpp&lt;br /&gt;  在 RMF_src/curacao/Makefile.rmf 檔案中，加入以下敘述。&lt;br /&gt;&lt;br /&gt;  search "SRC := "&lt;br /&gt;  加入 myupnp.cpp    myupnpAction.cpp   &lt;br /&gt;4. 重新編譯 curacao相關檔&lt;br /&gt;&lt;br /&gt;#################################&lt;br /&gt;使用 Libupnp 所需 include 的檔案&lt;br /&gt;#################################&lt;br /&gt;&lt;br /&gt;1. 我所 include 的檔案如下：&lt;br /&gt;&lt;br /&gt;#include "../../libupnp-1.4.1/include/upnp/upnp.h"&lt;br /&gt;#include "../../libupnp-1.4.1/include/upnp/ithread.h"&lt;br /&gt;#include "../../libupnp-1.4.1/include/upnp/upnptools.h"&lt;br /&gt;#include "../../libupnp-1.4.1/include/upnp/ixml.h"&lt;br /&gt;&lt;br /&gt;2. 基本上所 include的檔案需為 libupnp-1.4.1/include 中的檔案，不可直接 include /src 下的  .h 檔。&lt;br /&gt;&lt;br /&gt;##########&lt;br /&gt;Debug 相關&lt;br /&gt;##########&lt;br /&gt;&lt;br /&gt;1. IUpnpInfoFile.txt IUpnpErrFile.txt&lt;br /&gt;  這兩個檔會紀錄 libupnp 中的程式執行狀況。(需在 ./configure時加上 --enable-debug)&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-115880910080440285?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/115880910080440285/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=115880910080440285' title='4 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115880910080440285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115880910080440285'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/09/libupnp-141-uclinux.html' title='Libupnp 1.4.1 移植到 uClinux'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14486614.post-115880895306225820</id><published>2006-09-21T11:22:00.000+08:00</published><updated>2006-09-21T14:30:29.866+08:00</updated><title type='text'>在 uClinux 中實作 i2c</title><content type='html'>#####################&lt;br /&gt;在 uClinux 中實作 i2c&lt;br /&gt;#####################&lt;br /&gt;&lt;br /&gt;1. 先尋找可用的 i2c 範例程式：&lt;br /&gt;  這是我找的：SAA1064_rpxclf.c&lt;br /&gt;&lt;br /&gt;2. 所需注意的 function：&lt;br /&gt;  unsigned char readi2c(unsigned address, unsigned char *buffer,&lt;br /&gt;                     unsigned length)&lt;br /&gt;           &lt;br /&gt;  unsigned char writei2c(unsigned address, unsigned char *buffer,&lt;br /&gt;                      unsigned length)&lt;br /&gt;            &lt;br /&gt;  這是用來讀寫 i2c bus的資料 function&lt;br /&gt;&lt;br /&gt;3. 設定 SDA SCL 所使用的 gpio pin&lt;br /&gt;  我所設定的：&lt;br /&gt;&lt;br /&gt;  #define SDA   1&lt;br /&gt;  #define SCL   0&lt;br /&gt;&lt;br /&gt;4. 設定 SCLLow SCLHigh SDALow SDAHigh readSDA readSCL&lt;br /&gt;  參考 asm/arch/hardware.h&lt;br /&gt;&lt;br /&gt;5. gpio 設定方式:&lt;br /&gt;  以下是設定 gpio 11 為 output，並且 pull low。&lt;br /&gt; &lt;br /&gt;   /* Use GPIO 11 pin reset device */&lt;br /&gt;   __raw_writel(GPIO_DIR_OUTPUT(11), REG_BASE_SYSTEM + SYS_gpio_dir);&lt;br /&gt;   __raw_writel(GPIO_DATA_CLEAR(11), REG_BASE_SYSTEM + SYS_gpio_data);&lt;br /&gt;&lt;br /&gt;6. 必須引用的  .h 檔&lt;br /&gt;  #include &amp;lt;asm/arch/hardware.h&amp;gt;&lt;br /&gt;&lt;br /&gt;7. 編譯的選項&lt;br /&gt;arm-elf-gcc -D__KERNEL__     -I/root/hmc/mySigma49/armutils_2.3.49.0_DCC/build_arm/linux-2.4.22-mambo/      include     -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common     -fno-common -pipe -fno-builtin -D__linux__ -DNO_MM -mapcs-32 -march=armv4     -mtune=arm7tdmi -mshort-load-bytes -msoft-float   -nostdinc -iwithprefix include     -DKBUILD_BASENAME=ide_lib  -DEXPORT_SYMTAB     -c EM862x_i2c.c&lt;br /&gt;  &lt;br /&gt;&lt;span style="font-family:arial;"&gt; "-I/root/hmc/mySigma49/armutils_2.3.49.0_DCC/build_arm/linux-2.4.22-mambo/include" &lt;/span&gt;&lt;br /&gt;  這個一定要有。因為有參考到 asm/arch/hardware.h。&lt;br /&gt;&lt;br /&gt;8. 我的檔案：EM862x_i2c.c&lt;br /&gt;&lt;br /&gt;###########################&lt;br /&gt;將上述檔案寫成 driver 型態&lt;br /&gt;###########################&lt;br /&gt;&lt;br /&gt;1. 先想好想要使用的 device major number:&lt;br /&gt;  可以利用 #cat /proc/devices 來查詢現有 major number&lt;br /&gt;  我所使用的號碼：77&lt;br /&gt;&lt;br /&gt;2. 實作的 function：&lt;br /&gt;&lt;br /&gt;struct file_operations    lcdtxt_fops = {&lt;br /&gt;   read:         EMi2c_read,&lt;br /&gt;   write:        EMi2c_write,    /* write */&lt;br /&gt;   ioctl:        EMi2c_ioctl,    /* ioctl */&lt;br /&gt;   open:        EMi2c_open,    /* open */&lt;br /&gt;   release:    EMi2c_release,    /* release */&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;3. 在 linux menuconfig 中，增加一個新選項給此一driver使用&lt;br /&gt;  我增加在：character devices 中 ，名稱為 EM86XX I2C LED support，並且勾選為 module 型態。&lt;br /&gt;&lt;br /&gt;4. 把寫好的 driver (i2c_module.c) 複製到 drivers/char/&lt;br /&gt;&lt;br /&gt;5. #make rootfs &amp;lt;-- 此一步驟為編譯 module 型態的 driver&lt;br /&gt;&lt;br /&gt;6. 修改 S30network，增加下列設定&lt;br /&gt;  mknod /dev/i2c_module c 77&lt;br /&gt;&lt;br /&gt;  此設定是在 /dev/之中，增加一個 character 裝置給 i2c_module 這支 driver 使用，在應用程式中也是&lt;br /&gt;  直接 open 此一裝置來使用。&lt;br /&gt;&lt;br /&gt;7. 更新完 kernel之後，開機完成執行：&lt;br /&gt;  #modprobe i2c_module&lt;br /&gt;&lt;br /&gt;  來掛載driver。若掛載成功，可以在 /proc/devices 下發現 i2c_module的名稱。&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14486614-115880895306225820?l=macrossvin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macrossvin.blogspot.com/feeds/115880895306225820/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14486614&amp;postID=115880895306225820' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115880895306225820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14486614/posts/default/115880895306225820'/><link rel='alternate' type='text/html' href='http://macrossvin.blogspot.com/2006/09/uclinux-i2c.html' title='在 uClinux 中實作 i2c'/><author><name>macross</name><uri>http://www.blogger.com/profile/06140914749622659518</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
