[問題]有OS之ARM9的IO使用問題,以及UART使用

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

[問題]有OS之ARM9的IO使用問題,以及UART使用

文章deep » 週四 11月 01, 2007 6:29 pm

各位前輩好小弟是電機科的學生,因為先前碰過的晶片都是沒有OS的晶片,因此對於ARM9上有灌了個OS,讓小弟頭有點轉不過來,因此有些問題想要向大家請教!!

請問一下 ARM9的控制方式在有OS跟沒OS的狀態使用上是一樣的嗎
(我所指的是C的語法)

而在有OS的ARM上要用到IO一定要用驅動程式的C嗎?用一般的應用程式方式寫法,然後直接對IO對應之記憶體位址去做控制這樣不行嗎(因為小弟找了很多書,大部分好像都是用IOCTL去控制IO)?

而如果我想要利用ARM上的UART對外傳輸,我要自己做DRIVER嗎?
還是對TTY做應用程式就好啊;而PC上的LINUX跟VMWARE灌的LINUX還有ARM上的LINUX這些環境下所發展的的程式能互通嗎??

因為我想要先在VMWARE上做實驗,然後再移植到ARM的環境,但很怕會做白工....


謝謝各位的指教,小弟在LINUX上還是很嫩的新手,所以問了這些比較基本的問題,請各位幫小弟解惑,感激不盡!!
我是嵌入式的新手,請各位前輩多多指教!!
deep
可愛的小學生
可愛的小學生
 
文章: 5
註冊時間: 週六 9月 29, 2007 7:15 pm

文章hiwu.tw » 週二 11月 06, 2007 1:53 pm

請問一下 ARM9的控制方式在有OS跟沒OS的狀態使用上是一樣的嗎
-->Yes。是相同的。但是不能用standard librart

而在有OS的ARM上要用到IO一定要用驅動程式的C嗎?
-->No.但用C比較方便。
用一般的應用程式方式寫法,然後直接對IO對應之記憶體位址去做控制這樣不行嗎?
-->可以。但在OS啟動後,memory 已經被remap。IO的address要用被remap之後的virtual address。

而如果我想要利用ARM上的UART對外傳輸,我要自己做DRIVER嗎?
-->Yes

還是對TTY做應用程式就好啊
-->如果是Linux的話,可以直接用TTY。

而PC上的LINUX跟VMWARE灌的LINUX還有ARM上的LINUX這些環境下所發展的的程式能互通嗎??
-->可以。
hiwu.tw
可愛的小學生
可愛的小學生
 
文章: 3
註冊時間: 週二 11月 06, 2007 1:46 pm

文章deep » 週五 11月 09, 2007 12:12 am

非常感謝hiwu.tw大哥的回應,我還在想說,是不是我的問題哪裡有怪怪的,所以沒有人想要回覆我勒!!


1.請問LIBRART是指?函式庫的筆誤嗎?

2.小弟想要問的是,是否一定要用KERNEL MODE的寫法才能控制有OS的ARM,因為KERNEL MODE的C小弟不太熟,而且要注意的地方很多。

而最近小弟打算去學校找課來修,找來找去才知道,原來這大部分是資工在搞的~"~,而小弟只想用ARM做控制核心然後用QT經由UART去對其他晶片下命令,目前打算使用UART,但最終目標想要用DMA的方式,在硬體方面小弟都能負荷,但遇到了KERNEL,MODULE,QT啊等等的,我真的是一個頭兩個大了 :shock: !!
我是嵌入式的新手,請各位前輩多多指教!!
deep
可愛的小學生
可愛的小學生
 
文章: 5
註冊時間: 週六 9月 29, 2007 7:15 pm

文章訪客 » 週五 11月 09, 2007 1:12 am

deep 寫:1.請問LIBRART是指?函式庫的筆誤嗎?

library == 函式庫
弟猜library應該是筆誤( y 跟 t 在隔壁 )

deep 寫:2.小弟想要問的是,是否一定要用KERNEL MODE的寫法才能控制有OS的ARM,因為KERNEL MODE的C小弟不太熟,而且要注意的地方很多。

當然是依照kernel的規定去寫,才能正常運作囉。


deep 寫:而最近小弟打算去學校找課來修,找來找去才知道,原來這大部分是資工在搞的~"~,而小弟只想用ARM做控制核心然後用QT經由UART去對其他晶片下命令,目前打算使用UART,但最終目標想要用DMA的方式,在硬體方面小弟都能負荷,但遇到了KERNEL,MODULE,QT啊等等的,我真的是一個頭兩個大了 :shock: !!

電機也是有搞這方面的,不然做了東西怎麼測試?!
都想這麼做了,最好按步就班地學下去,也難保以後用不到。
多學就是為自己未來加分囉。

linux driver可以參考:
http://www.oreilly.com/catalog/linuxdri ... /index.csp
http://www.tldp.org/LDP/lkmpg/2.6/html/
https://lwn.net/Articles/driver-porting/

serial的programming可以參考:
http://tldp.org/HOWTO/Serial-Programmin ... index.html
http://linux.inhk.net/mirror/CLDP/Seria ... HOWTO.html
http://fanqiang.chinaunix.net/a4/b7/200 ... 712_b.html

google一下就很多了。
訪客
 

文章deep » 週二 11月 13, 2007 2:10 pm

謝謝樓上兩位的回覆,小弟有了方向了......謝謝兩位!!

不過最後一位"訪客"先生 給我的資料


http://linux.inhk.net/mirror/CLDP/Seria ... HOWTO.html

↑這一頁我找不到網頁ㄟ


http://fanqiang.chinaunix.net/a4/b7/200 ... 712_b.html

↑然後這頁我開出來那文字我都看不懂,好像有簡體中文又有日文的感覺

是我的瀏覽器怪怪嗎? 真奇怪....-.-||



不過還是謝了, 小弟自己拜一下GOOGLE大神吧.........
我是嵌入式的新手,請各位前輩多多指教!!
deep
可愛的小學生
可愛的小學生
 
文章: 5
註冊時間: 週六 9月 29, 2007 7:15 pm

文章訪客 » 週二 11月 13, 2007 3:42 pm

deep 寫:謝謝樓上兩位的回覆,小弟有了方向了......謝謝兩位!!

不過最後一位"訪客"先生 給我的資料


http://linux.inhk.net/mirror/CLDP/Seria ... HOWTO.html

↑這一頁我找不到網頁ㄟ


http://fanqiang.chinaunix.net/a4/b7/200 ... 712_b.html

↑然後這頁我開出來那文字我都看不懂,好像有簡體中文又有日文的感覺

是我的瀏覽器怪怪嗎? 真奇怪....-.-||



不過還是謝了, 小弟自己拜一下GOOGLE大神吧.........

再次搜尋,發現第一個網址變成:
http://www.linux.org.tw/CLDP/OLD/Serial ... HOWTO.html
@@

這二個網址麻煩使用Big5的編碼才能收看。^^
訪客
 


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客