關於ARM & uCLinux |
答題得分者是:derrenbol1
|
sn903209
初階會員 發表:53 回覆:86 積分:32 註冊:2005-03-27 發送簡訊給我 |
小弟我最近把ARM開發板和uCLinux 灌進去了
也把device driver(.o 檔) 放進uCLinux
可是那我都是照著書上的步驟做
也成功的把他的demo做出來可以執行動作了
我想請教大大的是:如果我要讓我的開發板做我想要做的事
那我接下來該怎麼做? 是要用gcc complier 自己寫的c程式燒入 rom 裡嗎?
那假如是這樣的話,可是我看他裡面就只有很簡單的把device driver(.o檔)
放進開發板,並且解開.o檔 ,然後就很神奇的可以動作了 大大可以幫小弟解惑嗎?
感謝大大
|
derrenbol1
中階會員 發表:5 回覆:113 積分:93 註冊:2004-12-09 發送簡訊給我 |
To sn903209 : 好久沒來看了, 突然發現有這個標題. 看起來這邊的人好像對這個東西沒有
很大的興趣.
根據你所提到的, 我假設你是想往驅動程式設計該方面去做; Embedded Linux驅動程式的開發你可以選擇將你的驅動程式與核心一起編譯, 然後將整個
Image檔傳到開發板上; 另一個是在作業系統進入服務後, 你在你的電腦編譯出
目的檔(*.o), 然後利用某介面管道(UART, Network, USB, Storage...)將其傳
到作業系統的檔案系統內, 再利用Insmod去將它載入, 但這種方式必須限制在核心有開啟"模組(Module)"支援功能, 及Insmod, rmmod等模組服務應用工具程
式支援才能使用.
|
sn903209
初階會員 發表:53 回覆:86 積分:32 註冊:2005-03-27 發送簡訊給我 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
derrenbol1
中階會員 發表:5 回覆:113 積分:93 註冊:2004-12-09 發送簡訊給我 |
To sn903209 : 1. 根據你的描述, 那你不用將你的驅動程式與核心一起編譯, 你只要有辦法獨
立將其編譯, 再利用UART傳到板子上, 再利用insmod將該目的檔載到核心內
部即可.
2. 編譯器不光只是編譯而已, 通常大部份的設計師就是用就對了; 編譯器有執
行平台跟目的平台的區別, 執行平台指的是該編譯器所被執行的環境, 而目
的平台指的是編譯器所編譯出來的東西是用在那個平台上, 世界上不光只有
80x86而已; 你的問題其實很含糊, uClinux是一套MMUless所使用的Linux-
Kernel , 而gcc compiler是Linux的原生編譯器(Native Compiler), 所以
兩個不相關, 但我想你要問的是uClinux所使用的編譯器與原生gcc有何差別
吧. 答案就是差在編譯器的目的平台, gcc的目的平台是80x86, 而uClinux
的則是ARM.
|
sn903209
初階會員 發表:53 回覆:86 積分:32 註冊:2005-03-27 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
derrenbol1
中階會員 發表:5 回覆:113 積分:93 註冊:2004-12-09 發送簡訊給我 |
To sn903209: 1. 請在命令列提示符號下鍵入
$xxx> gcc -c main.c
這樣的描述gcc僅會對main.c作"編譯"動作. 程式開發基本的模型是先由設
計者按該語言格式寫成文字檔, 將其提交編譯器作編譯動作以產生目的檔
(*.o), 再將目的檔案提交鏈結器(Linker)去產生該平台的執行檔, 詳細的
細節請見一般坊間作業系統或是系統程式皆會有提到(直譯式編譯器不在此
限). 而大部份的編譯器為求使用上方便, 設計者只要寫完文字檔, 按下編
譯就會有最後的執行檔案出現, 其實編譯器動作很多, 只是它隱藏掉而已.
注意的是以上僅是針對編譯"應用程式"這種東西而論, 編譯核心或是作業
系統會有不同的觀點.
關於你的問題, main.c只是個文字檔而已, 而目的檔是編譯器所產生的"資
訊檔", 內容包括編譯後的機械碼, 資料, 除錯資訊等等, 但未給定執行空
間位址, 此動作會在鏈結時才會被付予. 2. 按步就班的網頁 ? 我因為工作的關係接觸這東西算滿早前了, 所以資訊很
少, 大部份都是多看多實驗作出來的, 那時候像你那種"開發板"還只有一
公司在做而已, 而且功能都做死了, 很難用. 還好我是在某大S廠牌的代理
商工作, 所以要板子不是問題. 就整個成品來看, 可以學的東西很多, 相
對的也就很花時間, 包括ARM Chip本身, 作業系統核心層, 應用領域等等,
很多咧, 若就單單只想了解ARM Chip如何使用的話, 那在作業系統底下測
是最迫不得已也是最蠢的作法, 而且市售的"開發板"並不適合作這種動作
, 所以你先考慮一下方向比較好.
|
sn903209
初階會員 發表:53 回覆:86 積分:32 註冊:2005-03-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |