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

2013年1月21日 星期一

login & terminal

linux在/dev下面一堆terminal的devices,搞得有點頭昏眼花,因為過去老舊的電腦常常靠著COM port與主機相連,所以在multiple user的狀況下,就是如何與terminal/tty做溝通囉,直接看richard stevens的圖
流程大致如下

  • 在開機的時候init會根據/etc底下的設定,init會fork出新的process並且exec tty(看有設定與有多少個COM port)
  • 找到對應device,並且將0, 1, 2這些IO對應好,跟著顯示exec login這個程式,也就是提示user/password輸入,這些程式都具備有root身分
  • 當對應完成的時候,將exec login_shell,可能是bash shell或者其他,使用setuid()...等等,將process權限設定為使用者的權限,shell會與terminal連結好,使用者就可以開始進行操作了

現在大家大多使用網路,以前開發者的想法蠻不錯的,就是只要做出pesudo的tty,讓程式以為自己在跟tty溝通,那麼過去的程式都不用動就可以移植過來,所以圖形就變得如下
rlogind也可能是inetd主要作為pty (pesudo tty)中間的媒介

這下子終於大概了解到/dev底下一堆tty以及pty在做啥用的了

2012年4月9日 星期一

硬體教我的事

有一陣子沒有更新了,最近看到都在使用硬體,把以前已經忘記的電子電路在撿回來,發現其實很多網路賣的產品有問題,另外就是有時候硬體並不是如我想像中的方式運作


  • 如果電子零件正負極接反了可以運作嗎?我本來以為不行,或者會燒掉,答案是可能還是可以運作,如果知道確定的電阻,可以依照分壓定律等等地去量測一下電壓,有時候接反了,元件的電阻會變得很大,但是還是可以通電
  • 網路上一些號稱使用18650組合的電路,號稱可以上5V2A,請實際量測,我發現電壓是夠了,很可惜,電流不夠,只有1.36A,看來網路上寫的跟賣的東西未必可以盡信,難怪接到beagleboard會不斷重新開機,我猜應該是開機有時候瞬間用電吃很兇,然後導致電流不足所產生的問題
  • 硬體電子零件沒那麼容易壞?這是我以前認知上的問題,我一直以為電子零件已經技術成熟,不是精密如cpu應該不會那麼容易壞(其實我還沒遇過壞掉的cpu),事實上,我使用電子零件損壞率還蠻高的,以電容式麥克風來說,十個已經壞掉三個了
  • 接頭等同規格?這是許多人的誤解,以beagleboard來說,雖然有hdmi接頭,可是實際上只有DVI-D的輸出,另外有時候硬體設計的時候,也會因為面積的關係,有時候會精簡,又比方如rs232指拉出了5個pin腳,這時候你就得小心了,可能你的程式沒問題是硬體有問題


以上是一些硬體教我的事情,算是野人獻曝的分享吧

2012年3月22日 星期四

LCD之framebuffer(4)

終於在網路上看到為何framebuffer會比實際上來的大,以前有人會解釋說是為了作double-buffer,但是有時候size又不是單純的一倍大小,這樣很難自圓其說,後來發現有另外一個原因,那就是為了smooth moving,如果有打過一些以前DOS小遊戲的人(有不小心透露出自己年紀不小嗎XD),遊戲主角移動單位是一格一格的,但是移動的時候卻是平滑移動的動畫,不是跳格的方式,這時候多出來的framebuffer空間就可以作為平滑移動,只要改變指標的位置,就不用會產生跳格的感覺

另外經由Linux驅動程式一書的解釋,framebuffer屬於user space的driver,所以效能會比kernel space來的差,所以表示,如果說要使用圖形顯示,但是又想繞過xwin,或許framebuffer是個不錯的選擇,但是想要在比desktop還要差的硬體下壓榨出更多的效能,可能就得自己對driver開刀了,這恐怕是個大工程,當然很多人會想要使用DSP硬體支援,這也是時下主流平板的選擇

2012年2月14日 星期二

USB名詞解釋


1. usb不支援peer to peer的傳輸,因此必須是master/slave
2. 隨身碟插入電腦,host為電腦,隨身碟為device (通常pc都是host)
3. 在沒有電腦的情況下,兩個devices要傳輸,仍然必須基於master/slave的架構。因此就有了OTG這個技術,使得device可藉由 protocol ( HNPHost negotiation protocol)的溝通決定誰是host/device。例如,camera直接輸出到printer,則camera須為host,printer需 為device。因此camera必須支援OTG傳輸。兩台mp3 player的情況也類似,兩台支援OTG的mp3連在一起,一樣會有一個host一個device。
4. 通常pc上不會有OTG,而都是host,但公板上可能會有一個OTG,這是為了在download mode的需要。
參考:
http://kezeodsnx.pixnet.net/blog/post/27973723-usb-host-device-otg