顯示具有 embeddedSystem 標籤的文章。 顯示所有文章
顯示具有 embeddedSystem 標籤的文章。 顯示所有文章

2011年1月23日 星期日

Embedded Linux

嵌入式Linux系統的技術主軸有二:
(1) Linux kernel 
(2) root filesystem。Root filesystem即是「小型的Linux系統」,root filesystem裡頭存放Linux的系統架構(filesystem hierarchy)、指令、工具、應用程式、shared libraries、驅動程式等。
Embedded Linux的root filesystem必須純手工打造(from zero / from scratch),因此熟悉Linux系統的操作、設定與管理是必要的基礎技能。

Embedded Linux的開發工具,主要以GCC和glibc為核心。
是GNU Compiler Collection的縮寫,也就是許多編譯器的收集,目前支援的程式語言有:C、C++、Objective-C、Fortran 、Java、Ada。GLIBC是GNU的C標準程式庫
GLIBC
提供system call的界面函數與標準的C函數。GLIBC也符合許多標準與規格,讓使用GLIBC的程式可以更容易移植到其它UNIX平臺。

Linux 是一個作業系統核心的實作,Linux kernel 加上其它必要的系統工具 (utilities) 與其它專案程式碼的 Linux 作業系統則稱為 Linux system,一般認為標準的稱呼為 GNU/Linux (system),這是因為 Linux system 使用的系統工具大多是 GNU 的程式碼。

2011年1月22日 星期六

across-compiler

Define
 -- 有一些編譯器的輸出將運行在和編譯器相同類型的計算機和作業系統之上,這種編譯器叫做本地編譯器。輸出可以運行於不同的平台之上的編譯器,叫做交叉編譯器
 -- 交叉编译环境就是用来编译其他平台的编译器,它工作在PC上面。当然它编译出来的并不能在PC上面运行,而只能够在嵌入式平台上面使用。
-- 
意思即是指一個在某個系統平台下可以產生另一個系統平台可執行文件編譯器

使用時機
 -- 交叉編譯器在對象系統平台難以或不容易編譯時非常有用。

使用原因
 -- 因為pc和arm核心速度不一樣 執行程式會有不同的效果 所以當我們想要移植上去時 就必須做across-compiler  
   -- 為什麼要在PC上面裝這個東西呢? 而不是安裝在嵌入式平台上面? 是因為嵌入式平台的資源有限,一个编譯器對於它來說實在是太大了,所以需要通過PC來編譯。
 -- 可以說就是因為嵌入式系統通常沒有軟體開發環境,因此,為這類系統開發軟體時,通常需要使用交叉編譯器。 


.Reference: 資料整理自網路上