全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1099
推到 Plurk!
推到 Facebook!

關於ARM & uCLinux

答題得分者是:derrenbol1
sn903209
初階會員


發表:53
回覆:86
積分:32
註冊:2005-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-19 17:05:28 IP:218.161.xxx.xxx 未訂閱
小弟我最近把ARM開發板和uCLinux 灌進去了 也把device driver(.o 檔) 放進uCLinux 可是那我都是照著書上的步驟做 也成功的把他的demo做出來可以執行動作了 我想請教大大的是:如果我要讓我的開發板做我想要做的事 那我接下來該怎麼做? 是要用gcc complier 自己寫的c程式燒入 rom 裡嗎? 那假如是這樣的話,可是我看他裡面就只有很簡單的把device driver(.o檔) 放進開發板,並且解開.o檔 ,然後就很神奇的可以動作了 大大可以幫小弟解惑嗎? 感謝大大
derrenbol1
中階會員


發表:5
回覆:113
積分:93
註冊:2004-12-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-24 05:04:58 IP:210.243.xxx.xxx 未訂閱
To sn903209 : 好久沒來看了, 突然發現有這個標題. 看起來這邊的人好像對這個東西沒有 很大的興趣. 根據你所提到的, 我假設你是想往驅動程式設計該方面去做; Embedded Linux驅動程式的開發你可以選擇將你的驅動程式與核心一起編譯, 然後將整個 Image檔傳到開發板上; 另一個是在作業系統進入服務後, 你在你的電腦編譯出 目的檔(*.o), 然後利用某介面管道(UART, Network, USB, Storage...)將其傳 到作業系統的檔案系統內, 再利用Insmod去將它載入, 但這種方式必須限制在核心有開啟"模組(Module)"支援功能, 及Insmod, rmmod等模組服務應用工具程 式支援才能使用.
sn903209
初階會員


發表:53
回覆:86
積分:32
註冊:2005-03-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-24 08:30:28 IP:61.229.xxx.xxx 未訂閱
大大你好 我那塊板子的demo就是透過 nfs 將檔按送到arm上面去 再靠uart ismod (*.o)的驅動程式 書上是有提到一點點,如果要將其驅動過後的硬體怎麼使用 不過我現在搞不太清楚的 1. 我要將修改好的程式,在編輯核心的時後,就要將我想要的動作寫入一起make了嗎(然後再丟到ARM上面去做ismod的動作)? 2. uClinux 和 我用 gcc complier 這樣的差別在那裡? 用gcc 產生的rom不是一樣可以讓ARM 動作 謝謝大大
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-24 16:53:09 IP:218.175.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=75532 順便去看看相關連結 應該有益
derrenbol1
中階會員


發表:5
回覆:113
積分:93
註冊:2004-12-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-25 22:45:57 IP:221.169.xxx.xxx 未訂閱
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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-26 00:31:45 IP:61.229.xxx.xxx 未訂閱
謝謝derrenbol1 大大詳細的解答 那另外就是,我不知道該怎麼另外產生(*.o)的目的檔 還有 (*.o)目的檔 和 main.c 有什麼樣的差別嗎? 最後還一個請求,因為我對ARM 剛入門,可以的話能不能有可是讓我按步就班的網頁 或是 有大大可以實地教導 操做 因為實在看著書上做就只有學到DEMO 而已 就只知道怎麼燒錄這動作而已,還有就是確定我的開發板是可以WORK,如此而已 所以想看能不能可以好好的深入學習一般 謝謝大大指導
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-26 11:09:32 IP:210.64.xxx.xxx 未訂閱
我手頭是有一塊空的 ARM 也就是沒有作業系統。 完全要自己寫 driver 的那種。 如果你在台中。可以跟我聯絡後過來看看它怎麼運作的。 對你應會比較有幫助。
derrenbol1
中階會員


發表:5
回覆:113
積分:93
註冊:2004-12-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-07-26 14:20:47 IP:210.202.xxx.xxx 未訂閱
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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-07-26 15:40:55 IP:203.69.xxx.xxx 未訂閱
to 暗黑破壞神 大大: 大大你好,我人在台北 有機會到台中的話,我再和你聯絡 另外就是,大概大大會講多久的時間 to derrenbol1 大大: 我只是單單只想了解ARM Chip如何使用 , 還有 ARM 應用於我想要控制的地方 那因為我的板子是新華電腦(台灣剩下一家有ISO901的ICE公司)的 CREATOR (和老師借的,老師自己也還沒玩過) 那請問我該怎麼學習,會比較有幫助
系統時間:2024-09-09 18:20:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!