<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ONKU - SIMPLE IS GOOD</title>
	<atom:link href="http://justku.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://justku.net/blog</link>
	<description>ONKU - SIMPLE IS GOOD</description>
	<lastBuildDate>Thu, 01 Jul 2010 12:03:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mac</title>
		<link>http://justku.net/blog/?p=177</link>
		<comments>http://justku.net/blog/?p=177#comments</comments>
		<pubDate>Wed, 10 Feb 2010 16:07:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=177</guid>
		<description><![CDATA[1.X61 上安裝 MacOS
2.http://blog.roodo.com/lyahau/archives/11473485.html
]]></description>
			<content:encoded><![CDATA[<p>1.<a href="http://blog.zonhan.tw/archives/2009/09/01/195/" target="_blank">X61 上安裝 MacOS</a></p>
<p>2.<a href="http://blog.roodo.com/lyahau/archives/11473485.html">http://blog.roodo.com/lyahau/archives/11473485.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=177</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux GCC編譯過程</title>
		<link>http://justku.net/blog/?p=174</link>
		<comments>http://justku.net/blog/?p=174#comments</comments>
		<pubDate>Tue, 02 Feb 2010 15:23:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=174</guid>
		<description><![CDATA[
 目前Linux下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統,能夠編譯用C、C++和Object C等語言編寫的程序.GCC不僅功能非常強大,結構也異常靈活.最值得稱道的一點就是它可以通過不同的前端模塊來支持各種語言,如Java、Fortran、Pascal、Modula-3和Ada等.
Linux系統下的gcc（GNU C Compiler）是GNU推出的功能強大、性能優越的多平台編譯器，是GNU的代表作品之一。 gcc是可以在多種硬體平台上編譯出可執行程序的超級編譯器，其執行效率與一般的編譯器相比平均效率要高20%~30%。
使用GCC編譯程序時,編譯過程可以被細分為四個階段:
◆預處理(Pre-Processing)
◆編譯(Compiling)
◆彙編(Assembling)
◆鏈接(Linking)
.c為後綴的文件，C語言源代碼文件；
.a為後綴的文件，是由目標文件構成的檔案庫文件；
.C，.cc或.cxx為後綴的文件，是C++源代碼文件；
.h為後綴的文件，是程序所包含的頭文件；
.i為後綴的文件，是已經預處理過的C源代碼文件；
.ii為後綴的文件，是已經預處理過的C++源代碼文件；
.m為後綴的文件，是Objective-C源代碼文件；
.o為後綴的文件，是編譯後的目標文件；
.s為後綴的文件，是彙編語言源代碼文件；
.S為後綴的文件，是經過預編譯的彙編語言源代碼文件。
命令gcc首先調用cpp進行預處理，在預處理過程中，對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。接著調用cc1進行編譯，這個階段根據輸入文件生成以.o為後綴的目標文件。彙編過程是針對彙編語言的步驟，調用as進行工作，一般來講，.S為後綴的彙編語言源代碼文件和彙編、.s為後綴的彙編語言文件經過預編譯和彙編之後都生成以.o為後綴的目標文件。當所有的目標文件都生成之後，gcc就調用ld來完成最後的關鍵性工作，這個階段就是連接。在連接階段，所有的目標文件被安排在可執行程序中的恰當的位置，同時，該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。
例程1:hello.c
#include
int main(void)
{
printf (『Hello world, Linux programming!\n』);
return 0;
}
然後執行下面的命令編譯和運行這段程序:
# gcc hello.c -o hello
# ./hello
Hello world, Linux programming!
首先,GCC需要調用預處理程序cpp,由它負責展開在源文件中定義的宏,並向其中插入“#include”語句所包含的內容；接著,GCC會調用ccl和as將處理後的源代碼編譯成目標代碼；最後,GCC會調用鏈接程序ld,把生成的目標代碼鏈接成一個可執行程序.
◆預處理(Pre-Processing)
使用-E參數可以讓GCC在預處理結束後停止編譯過程:
# gcc -E hello.c -o hello.cpp
◆編譯(Compiling)
下一步是將hello.i編譯為目標代碼,這可以通過使用-c參數來完成:
# gcc -x cpp-output hello.cpp -o hello.o
或者
# gcc -c hello.cpp -o hello.o
◆彙編(Assembling)
◆鏈接(Linking)
# gcc hello.o -o hello
彙編應該調用as，這裡應該是一起完成了
gcc主要參數：
-o定義輸出文件
-E完成預處理/預編譯停止
-c只編譯生成.o，不連接
-x指定編譯步驟
-g gdb調試用，在可執行程序中包含標準調試信息
-O,O1,O2,O3,O4,O5優化級別
-w關閉所有警告
-Wall允許所有有用的警告
-DFOO=BAR定義預處理宏FOO的值為BAR
-IDIRNAME將DIRNAME加入到包含文件的搜索目錄中去
-LDIRNAME將DIRNAME加入到庫文件文件的搜索目錄中去
-static靜態鏈接庫
-lFOO動態連接庫，名為libFOO.o/libFOO.so(2.4/2.6)
-mcpu=CPU TYPE針對不同CPU作不同的優化，比如-m386,-mpentiumpro
 
]]></description>
			<content:encoded><![CDATA[<div>
<p> 目前Linux下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統,能夠編譯用C、C++和Object C等語言編寫的程序.GCC不僅功能非常強大,結構也異常靈活.最值得稱道的一點就是它可以通過不同的前端模塊來支持各種語言,如Java、Fortran、Pascal、Modula-3和Ada等.</p>
<p>Linux系統下的gcc（GNU C Compiler）是GNU推出的功能強大、性能優越的多平台編譯器，是GNU的代表作品之一。 gcc是可以在多種硬體平台上編譯出可執行程序的超級編譯器，其執行效率與一般的編譯器相比平均效率要高20%~30%。</p>
<p>使用GCC編譯程序時,編譯過程可以被細分為四個階段:<br />
◆預處理(Pre-Processing)<br />
◆編譯(Compiling)<br />
◆彙編(Assembling)<br />
◆鏈接(Linking)</p>
<p>.c為後綴的文件，C語言源代碼文件；<br />
.a為後綴的文件，是由目標文件構成的檔案庫文件；<br />
.C，.cc或.cxx為後綴的文件，是C++源代碼文件；<br />
.h為後綴的文件，是程序所包含的頭文件；<br />
.i為後綴的文件，是已經預處理過的C源代碼文件；<br />
.ii為後綴的文件，是已經預處理過的C++源代碼文件；<br />
.m為後綴的文件，是Objective-C源代碼文件；<br />
.o為後綴的文件，是編譯後的目標文件；<br />
.s為後綴的文件，是彙編語言源代碼文件；<br />
.S為後綴的文件，是經過預編譯的彙編語言源代碼文件。</p>
<p>命令gcc首先調用cpp進行預處理，在預處理過程中，對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。接著調用cc1進行編譯，這個階段根據輸入文件生成以.o為後綴的目標文件。彙編過程是針對彙編語言的步驟，調用as進行工作，一般來講，.S為後綴的彙編語言源代碼文件和彙編、.s為後綴的彙編語言文件經過預編譯和彙編之後都生成以.o為後綴的目標文件。當所有的目標文件都生成之後，gcc就調用ld來完成最後的關鍵性工作，這個階段就是連接。在連接階段，所有的目標文件被安排在可執行程序中的恰當的位置，同時，該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。</p>
<p>例程1:hello.c<br />
#include<br />
int main(void)<br />
{<br />
printf (『Hello world, Linux programming!\n』);<br />
return 0;<br />
}</p>
<p>然後執行下面的命令編譯和運行這段程序:</p>
<p># gcc hello.c -o hello<br />
# ./hello<br />
Hello world, Linux programming!</p>
<p>首先,GCC需要調用預處理程序cpp,由它負責展開在源文件中定義的宏,並向其中插入“#include”語句所包含的內容；接著,GCC會調用ccl和as將處理後的源代碼編譯成目標代碼；最後,GCC會調用鏈接程序ld,把生成的目標代碼鏈接成一個可執行程序.</p>
<p>◆預處理(Pre-Processing)<br />
使用-E參數可以讓GCC在預處理結束後停止編譯過程:<br />
# gcc -E hello.c -o hello.cpp</p>
<p>◆編譯(Compiling)<br />
下一步是將hello.i編譯為目標代碼,這可以通過使用-c參數來完成:<br />
# gcc -x cpp-output hello.cpp -o hello.o<br />
或者<br />
# gcc -c hello.cpp -o hello.o</p>
<p>◆彙編(Assembling)<br />
◆鏈接(Linking)<br />
# gcc hello.o -o hello<br />
彙編應該調用as，這裡應該是一起完成了</p>
<p>gcc主要參數：</p>
<p>-o定義輸出文件<br />
-E完成預處理/預編譯停止<br />
-c只編譯生成.o，不連接<br />
-x指定編譯步驟<br />
-g gdb調試用，在可執行程序中包含標準調試信息<br />
-O,O1,O2,O3,O4,O5優化級別<br />
-w關閉所有警告<br />
-Wall允許所有有用的警告<br />
-DFOO=BAR定義預處理宏FOO的值為BAR<br />
-IDIRNAME將DIRNAME加入到包含文件的搜索目錄中去<br />
-LDIRNAME將DIRNAME加入到庫文件文件的搜索目錄中去<br />
-static靜態鏈接庫<br />
-lFOO動態連接庫，名為libFOO.o/libFOO.so(2.4/2.6)<br />
-mcpu=CPU TYPE針對不同CPU作不同的優化，比如-m386,-mpentiumpro</p>
<p> </p></div>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=174</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux ELF</title>
		<link>http://justku.net/blog/?p=172</link>
		<comments>http://justku.net/blog/?p=172#comments</comments>
		<pubDate>Tue, 02 Feb 2010 15:21:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=172</guid>
		<description><![CDATA[ELF Programming 教學文件
http://www.jollen.org/blog/2007/03/elf_program_loading_4_flow_chart.html
http://www.study-area.org/cyril/opentools/opentools/x869.html
 
ld :Link Editor 連結各obj寫進一個可執行檔(executable)。
ldd :秀出一個執行檔用了那些動態函式庫。
ld.so  ynamic Linker, 動態連結的話，是由ld.so完成執行時期symbol的
        :參照與連結。
ld-linux.so :ELF檔的動態連結，跟ld.so一樣。只是ld.so是給a.out format的。
                :新的glicb2的ld-linux.so.2已經跟ld.so.2結合成單一程式了。
ldconfig :根據/etc/ld.so.conf內的目錄，做出動態連結所需的cache檔。
]]></description>
			<content:encoded><![CDATA[<p>ELF Programming 教學文件</p>
<p><a href="http://www.jollen.org/blog/2007/03/elf_program_loading_4_flow_chart.html">http://www.jollen.org/blog/2007/03/elf_program_loading_4_flow_chart.html</a></p>
<p><a href="http://www.study-area.org/cyril/opentools/opentools/x869.html">http://www.study-area.org/cyril/opentools/opentools/x869.html</a></p>
<p> </p>
<p>ld :Link Editor 連結各obj寫進一個可執行檔(executable)。<br />
ldd :秀出一個執行檔用了那些動態函式庫。<br />
ld.so <img src='http://justku.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ynamic Linker, 動態連結的話，是由ld.so完成執行時期symbol的<br />
        :參照與連結。<br />
ld-linux.so :ELF檔的動態連結，跟ld.so一樣。只是ld.so是給a.out format的。<br />
                :新的glicb2的ld-linux.so.2已經跟ld.so.2結合成單一程式了。<br />
ldconfig :根據/etc/ld.so.conf內的目錄，做出動態連結所需的cache檔。</p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=172</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>受保護的文章：圖庫外聯測試</title>
		<link>http://justku.net/blog/?p=168</link>
		<comments>http://justku.net/blog/?p=168#comments</comments>
		<pubDate>Sun, 17 Jan 2010 13:39:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=168</guid>
		<description><![CDATA[受保護的文章不會產生摘要。]]></description>
			<content:encoded><![CDATA[<form action="http://justku.net/blog/wp-pass.php" method="post">
<p>本文受密碼保護，須填寫您的密碼才能閱讀。</p>
<p><label for="pwbox-168">登入密碼：<br />
<input name="post_password" id="pwbox-168" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="送出" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=168</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu share folder</title>
		<link>http://justku.net/blog/?p=160</link>
		<comments>http://justku.net/blog/?p=160#comments</comments>
		<pubDate>Wed, 16 Dec 2009 15:19:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=160</guid>
		<description><![CDATA[用舊電腦架了一台 Linux Ubuntu 9.10 當 Server
在 裝了第二顆硬碟後，每次開機都需要自己 Mount
而且都需要輸入密碼
解決方法：http://blog.xuite.net/chingwei/blog/28830641
sudo vi /usr/share/polkit-1/actions/org.freedesktop.devicekit.disks.policy
然後搜尋：
org.freedesktop.devicekit.disks.filesystem-mount-system-internal
(就在第二個 Section )

將 &#60;allow_active&#62;auth_admin_keep&#60;/allow_active&#62; (參考上圖)
改成 &#60;allow_active&#62;yes&#60;/allow_active&#62; (參考下圖)
接下來修改 /etc/fstab 讓開機時可以自動做 mount 的動作
當然有更好的方法就是安裝 pysdm (storage device manager)
接下來設定資料夾分享，應該會遇到 testparm 的問題
 
請安裝
 apt-get install samba-common-bin
繼續設定分享，出現net usershare&#8217; returned error 255: net usershare: cannot open usershare directory /va
可參考 http://ubuntuforums.org/showthread.php?t=825965
此時可直接安裝
sudo apt-get install system-config-samba
之後在 GNOME menu listing: System&#62;Administration&#62;Samba 設定分享目錄
完畢
]]></description>
			<content:encoded><![CDATA[<p>用舊電腦架了一台 Linux Ubuntu 9.10 當 Server</p>
<p>在 裝了第二顆硬碟後，每次開機都需要自己 Mount</p>
<p>而且都需要輸入密碼</p>
<p>解決方法：<a href="http://blog.xuite.net/chingwei/blog/28830641">http://blog.xuite.net/chingwei/blog/28830641</a></p>
<p><span style="COLOR: #991319"><strong>sudo vi /usr/share/polkit-1/actions/org.freedesktop.devicekit.disks.policy</strong></span></p>
<p>然後搜尋：</p>
<p><span style="COLOR: #991319"><strong>org.freedesktop.devicekit.disks.filesystem-mount-system-internal</strong></span><br />
(就在第二個 Section )</p>
<p><a href="http://3.blog.xuite.net/3/8/3/1/11851958/blog_1028365/txt/28830641/6.png" target="_blank"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" src="http://3.blog.xuite.net/3/8/3/1/11851958/blog_1028365/txt/28830641/6.png" border="0" alt="點我放大" width="500" /></a></p>
<p>將 <strong>&lt;allow_active&gt;<span style="COLOR: #861408">auth_admin_keep</span>&lt;/allow_active&gt; </strong>(參考上圖)</p>
<p>改成 <strong>&lt;allow_active&gt;<span style="COLOR: #861408">yes</span>&lt;/allow_active&gt;</strong> (參考下圖)</p>
<p>接下來修改 /etc/fstab 讓開機時可以自動做 mount 的動作</p>
<p>當然有更好的方法就是安裝 pysdm (storage device manager)</p>
<p>接下來設定資料夾分享，應該會遇到 testparm 的問題</p>
<p><img class="alignnone" title="testpram" src="http://forum.ubuntu.org.cn/download/file.php?id=80254&amp;sid=af6d7d94d949f3c203d467221f4aa3f7" alt="" width="330" height="352" /> </p>
<p>請安裝</p>
<p> apt-get install samba-common-bin</p>
<p>繼續設定分享，出現<strong>net usershare&#8217; returned error 255: net usershare: cannot open usershare directory /va</strong></p>
<p>可參考 <a href="http://ubuntuforums.org/showthread.php?t=825965">http://ubuntuforums.org/showthread.php?t=825965</a></p>
<p>此時可直接安裝</p>
<p>sudo apt-get install system-config-samba</p>
<p>之後在 GNOME menu listing: System&gt;Administration&gt;Samba 設定分享目錄</p>
<p>完畢</p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=160</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to download android source</title>
		<link>http://justku.net/blog/?p=154</link>
		<comments>http://justku.net/blog/?p=154#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:53:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[電腦資訊]]></category>
		<category><![CDATA[and]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=154</guid>
		<description><![CDATA[1.android source code
reference
http://www.moko365.com/blog/%E5%A6%82%E4%BD%95%E4%B8%8B%E8%BC%89android%E5%8E%9F%E5%A7%8B%E7%A2%BC
2.download kernel branch
取得 Goldfish 的Kernel Source code, 目前是版本是 2.6.29
git clone git://android.git.kernel.org/kernel/common.git
~/gitrepos/mydroid/kernel/common$ git branch -a
* android-2.6.27
remotes/origin/HEAD -&#62; origin/android-2.6.27
remotes/origin/android-2.6.25
remotes/origin/android-2.6.27
remotes/origin/android-2.6.29
remotes/origin/android-goldfish-2.6.27
remotes/origin/android-goldfish-2.6.29
kunyi@kunyi:~/gitrepos/mydroid/kernel/common$ git checkout origin/android-goldfish-2.6.29
Checking out files: 100% (17574/17574), done.
3.download android sdk
copy android-sdk-linux_86/tools to /home/ku/mydroid/out/host/linux-x86
4. Modify kernel Makefile
ARCH=arm
CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
5.Build kernel
make goldfish_defconfig
make
6.Finish
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS      arch/arm/boot/compressed/head.o
GZIP    arch/arm/boot/compressed/piggy.gz
AS      arch/arm/boot/compressed/piggy.o
CC      arch/arm/boot/compressed/misc.o
LD      arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
]]></description>
			<content:encoded><![CDATA[<p>1.android source code</p>
<p>reference</p>
<p>http://www.moko365.com/blog/%E5%A6%82%E4%BD%95%E4%B8%8B%E8%BC%89android%E5%8E%9F%E5%A7%8B%E7%A2%BC</p>
<p>2.download kernel branch</p>
<p><span id="ctl00_MainContentPlaceholder_ctl01_ctl00_lblEntry">取得 Goldfish 的Kernel Source code, 目前是版本是 2.6.29</span></p>
<p>git clone git://android.git.kernel.org/kernel/common.git</p>
<p>~/gitrepos/mydroid/kernel/common$ git branch -a<br />
* android-2.6.27<br />
remotes/origin/HEAD -&gt; origin/android-2.6.27<br />
remotes/origin/android-2.6.25<br />
remotes/origin/android-2.6.27<br />
remotes/origin/android-2.6.29<br />
remotes/origin/android-goldfish-2.6.27<br />
remotes/origin/android-goldfish-2.6.29<br />
kunyi@kunyi:~/gitrepos/mydroid/kernel/common$ git checkout origin/android-goldfish-2.6.29<br />
Checking out files: 100% (17574/17574), done.</p>
<p>3.download android sdk</p>
<p>copy android-sdk-linux_86/tools to /home/ku/mydroid/out/host/linux-x86</p>
<p>4. Modify kernel Makefile</p>
<p>ARCH=arm<br />
CROSS_COMPILE<span style="color: #ff0000;"><span style="color: #000000;">=</span>../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-</span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">5.Build kernel</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">make goldfish_defconfig</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">make</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">6.Finish</span></span></p>
<p>OBJCOPY arch/arm/boot/Image<br />
Kernel: arch/arm/boot/Image is ready<br />
AS      arch/arm/boot/compressed/head.o<br />
GZIP    arch/arm/boot/compressed/piggy.gz<br />
AS      arch/arm/boot/compressed/piggy.o<br />
CC      arch/arm/boot/compressed/misc.o<br />
LD      arch/arm/boot/compressed/vmlinux<br />
OBJCOPY arch/arm/boot/zImage<br />
Kernel: arch/arm/boot/zImage is ready</p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=154</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Driver Document</title>
		<link>http://justku.net/blog/?p=148</link>
		<comments>http://justku.net/blog/?p=148#comments</comments>
		<pubDate>Tue, 08 Dec 2009 07:13:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[電腦資訊]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=148</guid>
		<description><![CDATA[Kinux Usb Driver
http://free-electrons.com/doc/linux-usb.pdf
http://jserv.sayya.org/kernel/linux_device_driver_openlab.pdf
]]></description>
			<content:encoded><![CDATA[<p>Kinux Usb Driver</p>
<p><a href="http://free-electrons.com/doc/linux-usb.pdf">http://free-electrons.com/doc/linux-usb.pdf</a></p>
<p><cite><a href="http://jserv.sayya.org/kernel/linux_device_driver_openlab.pdf">http://jserv.sayya.org/kernel/<strong>linux</strong>_device_<strong>driver</strong>_openlab.pdf</a></cite></p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=148</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>android emulator</title>
		<link>http://justku.net/blog/?p=145</link>
		<comments>http://justku.net/blog/?p=145#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:14:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=145</guid>
		<description><![CDATA[monitor radio
adb logcat -b radio
 
]]></description>
			<content:encoded><![CDATA[<p>monitor radio</p>
<p>adb logcat -b radio</p>
<p> </p>
<div class="wp-caption alignnone" style="width: 760px"><img title="小牛寶寶" src="http://image215.poco.cn/mypoco/myphoto/20091201/22/2301570220091201223647066_640.jpg" alt="小牛寶寶" width="750" height="502" /><p class="wp-caption-text">小牛寶寶</p></div>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=145</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu use mobile at command</title>
		<link>http://justku.net/blog/?p=143</link>
		<comments>http://justku.net/blog/?p=143#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:13:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=143</guid>
		<description><![CDATA[cu -l /dev/ttyACM0
]]></description>
			<content:encoded><![CDATA[<p>cu -l /dev/ttyACM0</p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=143</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android 系統源代碼結構簡介</title>
		<link>http://justku.net/blog/?p=140</link>
		<comments>http://justku.net/blog/?p=140#comments</comments>
		<pubDate>Wed, 25 Nov 2009 11:08:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[電腦資訊]]></category>

		<guid isPermaLink="false">http://justku.net/blog/?p=140</guid>
		<description><![CDATA[Google提供的Android包含了原始Android的目標機代碼，主機編譯工具、仿真環境，代碼包經過解壓縮後，第一級別的目錄和文件如下所示：
.
&#124;&#8211; Makefile（全局的Makefile）
&#124;&#8211; bionic（Bionic含義為仿生，這裡面是一些基礎的庫的源代碼）
&#124;&#8211; bootloader（引導加載器）
&#124;&#8211; build （build目錄中的內容不是目標所用的代碼，而是編譯和配置所需要的腳本和工具）
&#124;&#8211; dalvik（JAVA虛擬機）
&#124;&#8211; development （程序開發所需要的模板和工具）
&#124;&#8211; external（目標機器使用的一些庫）
&#124;&#8211; frameworks（應用程序的框架層）
&#124;&#8211; hardware（與硬件相關的庫）
&#124;&#8211; kernel（Linux2.6的源代碼）
&#124;&#8211; packages（Android的各種應用程序）
&#124;&#8211; prebuilt（Android在各種平台下編譯的預置腳本）
&#124;&#8211; recovery（與目標的恢復功能相關）
`&#8211; system（Android的底層的一些庫）
bionic目錄展開一個級別的目錄如下所示：
bionic/
&#124;&#8211; Android.mk
&#124;&#8211; libc
&#124;&#8211; libdl
&#124;&#8211; libm
&#124;&#8211; libstdc++
&#124;&#8211; libthread_db
`&#8211; linker
bootloader目錄展開的兩個級別目錄：
bootloader/
`&#8211; legacy
&#124;&#8211; Android.mk
&#124;&#8211; README
&#124;&#8211; arch_armv6
&#124;&#8211; arch_msm7k
&#124;&#8211; fastboot_protocol.txt
&#124;&#8211; include
&#124;&#8211; libboot
&#124;&#8211; libc
&#124;&#8211; nandwrite
`&#8211; usbloader
build目錄展開的一個級別的目錄如下所示：
build/
&#124;&#8211; buildspec.mk.default
&#124;&#8211; cleanspec.mk
&#124;&#8211; core （各種以mk為結尾的文件，它門是編譯所需要的Makefile）
&#124;&#8211; envsetup.sh
&#124;&#8211; libs
&#124;&#8211; target （包含board和product兩個目錄，為目標所需要文件）
`&#8211; tools（編譯過程中主機所需要的工具，一些需要經過編譯生成）
其中，core中的Makefile是整個Android編譯所需要的真正的Makefile，它被頂層目錄的Makefile引用。
envsetup.sh是一個在使用仿真器運行的時候，用於設置環境的腳本。
dalvik目錄用於提供Android JAVA應用程序運行的基礎————JAVA虛擬機。
development目錄展開的一個級別的目錄如下所示：
development
&#124;&#8211; apps （Android應用程序的模板）
&#124;&#8211; build（編譯腳本模板）
&#124;&#8211; cmds
&#124;&#8211; data
&#124;&#8211; docs
&#124;&#8211; emulator （仿真相關）
&#124;&#8211; host （包含windows平台的一些工具）
&#124;&#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Google提供的Android包含了原始Android的目標機代碼，主機編譯工具、仿真環境，代碼包經過解壓縮後，第一級別的目錄和文件如下所示：<br />
.<br />
|&#8211; Makefile（全局的Makefile）<br />
|&#8211; bionic（Bionic含義為仿生，這裡面是一些基礎的庫的源代碼）<br />
|&#8211; bootloader（引導加載器）<br />
|&#8211; build （build目錄中的內容不是目標所用的代碼，而是編譯和配置所需要的腳本和工具）<br />
|&#8211; dalvik（JAVA虛擬機）<br />
|&#8211; development （程序開發所需要的模板和工具）<br />
|&#8211; external（目標機器使用的一些庫）<br />
|&#8211; frameworks（應用程序的框架層）<br />
|&#8211; hardware（與硬件相關的庫）<br />
|&#8211; kernel（Linux2.6的源代碼）<br />
|&#8211; packages（Android的各種應用程序）<br />
|&#8211; prebuilt（Android在各種平台下編譯的預置腳本）<br />
|&#8211; recovery（與目標的恢復功能相關）<br />
`&#8211; system（Android的底層的一些庫）</p>
<p>bionic目錄展開一個級別的目錄如下所示：<br />
bionic/<br />
|&#8211; Android.mk<br />
|&#8211; libc<br />
|&#8211; libdl<br />
|&#8211; libm<br />
|&#8211; libstdc++<br />
|&#8211; libthread_db<br />
`&#8211; linker</p>
<p>bootloader目錄展開的兩個級別目錄：<br />
bootloader/<br />
`&#8211; legacy<br />
|&#8211; Android.mk<br />
|&#8211; README<br />
|&#8211; arch_armv6<br />
|&#8211; arch_msm7k<br />
|&#8211; fastboot_protocol.txt<br />
|&#8211; include<br />
|&#8211; libboot<br />
|&#8211; libc<br />
|&#8211; nandwrite<br />
`&#8211; usbloader</p>
<p>build目錄展開的一個級別的目錄如下所示：<br />
build/<br />
|&#8211; buildspec.mk.default<br />
|&#8211; cleanspec.mk<br />
|&#8211; core （各種以mk為結尾的文件，它門是編譯所需要的Makefile）<br />
|&#8211; envsetup.sh<br />
|&#8211; libs<br />
|&#8211; target （包含board和product兩個目錄，為目標所需要文件）<br />
`&#8211; tools（編譯過程中主機所需要的工具，一些需要經過編譯生成）</p>
<p>其中，core中的Makefile是整個Android編譯所需要的真正的Makefile，它被頂層目錄的Makefile引用。<br />
envsetup.sh是一個在使用仿真器運行的時候，用於設置環境的腳本。<br />
dalvik目錄用於提供Android JAVA應用程序運行的基礎————JAVA虛擬機。<br />
development目錄展開的一個級別的目錄如下所示：<br />
development<br />
|&#8211; apps （Android應用程序的模板）<br />
|&#8211; build（編譯腳本模板）<br />
|&#8211; cmds<br />
|&#8211; data<br />
|&#8211; docs<br />
|&#8211; emulator （仿真相關）<br />
|&#8211; host （包含windows平台的一些工具）<br />
|&#8211; ide<br />
|&#8211; pdk<br />
|&#8211; samples（一些示例程序）<br />
|&#8211; simulator（大多是目標機器的一些工具）<br />
`&#8211; tools</p>
<p>在emulator目錄中qemud是使用QEMU仿真時目標機器運行的後台程序，skins是仿真時手機的界面。<br />
samples中包含了很多Android簡單工程，這些工程為開發者學習開發Android程序提供了很大便利，可以作為模板使用。<br />
external目錄展開的一個級別的目錄如下所示：<br />
external/<br />
|&#8211; aes<br />
|&#8211; apache-http<br />
|&#8211; bluez<br />
|&#8211; clearsilver<br />
|&#8211; dbus<br />
|&#8211; dhcpcd<br />
|&#8211; dropbear<br />
|&#8211; elfcopy<br />
|&#8211; elfutils<br />
|&#8211; emma<br />
|&#8211; esd<br />
|&#8211; expat<br />
|&#8211; fdlibm<br />
|&#8211; freetype<br />
|&#8211; gdata<br />
|&#8211; giflib<br />
|&#8211; googleclient<br />
|&#8211; icu4c<br />
|&#8211; iptables<br />
|&#8211; jdiff<br />
|&#8211; jhead<br />
|&#8211; jpeg<br />
|&#8211; libffi<br />
|&#8211; libpcap<br />
|&#8211; libpng<br />
|&#8211; libxml2<br />
|&#8211; netcat<br />
|&#8211; netperf<br />
|&#8211; neven<br />
|&#8211; opencore<br />
|&#8211; openssl<br />
|&#8211; oprofile<br />
|&#8211; ping<br />
|&#8211; ppp<br />
|&#8211; protobuf<br />
|&#8211; qemu<br />
|&#8211; safe-iop<br />
|&#8211; skia<br />
|&#8211; sonivox<br />
|&#8211; sqlite<br />
|&#8211; srec<br />
|&#8211; strace<br />
|&#8211; tagsoup<br />
|&#8211; tcpdump<br />
|&#8211; tinyxml<br />
|&#8211; tremor<br />
|&#8211; webkit<br />
|&#8211; wpa_supplicant<br />
|&#8211; yaffs2<br />
`&#8211; zlib</p>
<p>在external中，每個目錄表示Android目標系統中的一個模塊，可能有一個或者若干個庫構成。其中：<br />
opencore為PV（PacketVideo），它是Android多媒體框架的核心。<br />
webkit是Android網絡瀏覽器的核心。<br />
sqlite是Android數據庫系統的核心。<br />
openssl是Secure Socket Layer，一個網絡協議層，用於為數據通訊提供安全支持。<br />
frameworks目錄展開的一個級別的目錄如下所示：<br />
frameworks/<br />
|&#8211; base<br />
|&#8211; opt<br />
`&#8211; policies</p>
<p>frameworks是Android應用程序的框架。<br />
hardware是一些與硬件相關的庫<br />
kernel是Linux2.6的源代碼<br />
packages目錄展開的兩個級別的目錄如下所示：<br />
packages/<br />
|&#8211; apps<br />
| |&#8211; AlarmClock<br />
| |&#8211; Browser<br />
| |&#8211; Calculator<br />
| |&#8211; Calendar<br />
| |&#8211; Camera<br />
| |&#8211; Contacts<br />
| |&#8211; Email<br />
| |&#8211; GoogleSearch<br />
| |&#8211; HTMLViewer<br />
| |&#8211; IM<br />
| |&#8211; Launcher<br />
| |&#8211; Mms<br />
| |&#8211; Music<br />
| |&#8211; PackageInstaller<br />
| |&#8211; Phone<br />
| |&#8211; Settings<br />
| |&#8211; SoundRecorder<br />
| |&#8211; Stk<br />
| |&#8211; Sync<br />
| |&#8211; Updater<br />
| `&#8211; VoiceDialer<br />
`&#8211; providers<br />
|&#8211; CalendarProvider<br />
|&#8211; ContactsProvider<br />
|&#8211; DownloadProvider<br />
|&#8211; DrmProvider<br />
|&#8211; GoogleContactsProvider<br />
|&#8211; GoogleSubscribedFeedsProvider<br />
|&#8211; ImProvider<br />
|&#8211; MediaProvider<br />
`&#8211; TelephonyProvider</p>
<p>packages中包含兩個目錄，其中apps中是Android中的各種應用程序，providers是一些內容提供者（在Android中的一個數據源）。<br />
packages中兩個目錄的內容大都是使用JAVA編寫的程序，各個文件夾的層次結構是類似的。<br />
prebuilt目錄展開的一個級別的目錄如下所示：<br />
prebuilt/<br />
|&#8211; Android.mk<br />
|&#8211; android-arm<br />
|&#8211; common<br />
|&#8211; darwin-x86<br />
|&#8211; linux-x86<br />
`&#8211; windows</p>
<p>system目錄展開的兩個級別的目錄如下所示：<br />
system/<br />
|&#8211; bluetooth<br />
| |&#8211; bluedroid<br />
| `&#8211; brfpatch<br />
|&#8211; core<br />
| |&#8211; Android.mk<br />
| |&#8211; README<br />
| |&#8211; adb<br />
| |&#8211; cpio<br />
| |&#8211; debuggerd<br />
| |&#8211; fastboot<br />
| |&#8211; include（各個庫接口的頭文件）<br />
| |&#8211; init<br />
| |&#8211; libctest<br />
| |&#8211; libcutils<br />
| |&#8211; liblog<br />
| |&#8211; libmincrypt<br />
| |&#8211; libnetutils<br />
| |&#8211; libpixelflinger<br />
| |&#8211; libzipfile<br />
| |&#8211; logcat<br />
| |&#8211; logwrapper<br />
| |&#8211; mkbootimg<br />
| |&#8211; mountd<br />
| |&#8211; netcfg<br />
| |&#8211; rootdir<br />
| |&#8211; sh<br />
| `&#8211; toolbox<br />
|&#8211; extras<br />
| |&#8211; Android.mk<br />
| |&#8211; latencytop<br />
| |&#8211; libpagemap<br />
| |&#8211; librank<br />
| |&#8211; procmem<br />
| |&#8211; procrank<br />
| |&#8211; showmap<br />
| |&#8211; showslab<br />
| |&#8211; sound<br />
| |&#8211; su<br />
| |&#8211; tests<br />
| `&#8211; timeinfo<br />
`&#8211; wlan<br />
`&#8211; ti</p>
<p> </p>
<p><a href="http://kezeodsnx.pixnet.net/blog/post/26365851">http://kezeodsnx.pixnet.net/blog/post/26365851</a></p>
]]></content:encoded>
			<wfw:commentRss>http://justku.net/blog/?feed=rss2&amp;p=140</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
