Re: [問題] 為什麼韌體可以控制硬體?
※ 引述《sonicpayton (Mayday)》之銘言:
: 學過電機的人都知道
: 軟體跟硬體之間溝通的橋樑就是韌體
: 我們可以在complier的上任意的編寫特定輸出腳位
: 控制輸出腳位為0或1
: 一開始都視為理所當然
: 寫0就輸出0
: 寫1就輸出1
: 但是我有疑問
: 到底韌體是怎麼變成電的訊號輸入到邏輯閘
: 寫0時會產生低電位訊號
: 寫1時會產生高電位訊號
: 為什麼?
: 困惑我好久
: 煩請眾高手大大替我解答這愚蠢問題
: 感謝!
以下如果有錯誤的地方, 請各位高手不吝指教 ^.^
所謂的 1 跟 0 是一種實際的高低訊號表示法:
1 可以代表 5V or 3.3V
0 可以代表 -5V or -3.3V or 0V
至於是那一種就看電路設計了
現在假設 1 代表 5V, 0 代表 0V, 寫代表輸入的意思
您的用語可以改成右邊的意思:
寫 0 時會產生低電位訊號 -> 輸入 0V, 經由電路作用, 輸出為 0V
寫 1 時會產生高電位訊號 -> 輸入 5V, 經由電路作用, 輸出為 5V
1 跟 0 這樣的表示法, 我想只是一個方便討論的概念, 暫時簡化實際的情況
接著, 我把寫韌體這件事大概分成四個步驟:
1. 韌體可由c或組語寫成
2. 把韌體轉成機械碼
3. 燒錄到儲存裝置
4. 測試硬體功能
您的另一個問題應該可由步驟 2 跟 3 得到解答
把韌體轉成機械碼, 可藉由執行相關的sdk得到
燒錄會透過一個介面電路把機械碼輸入到儲存裝置
機械碼的內容為一大堆的 1 跟 0 的組合, 也就是代表實際的高低訊號
透過介面電路傳送這些高低訊號, 把它輸入到儲存裝置, 儲存裝置會記憶這些高低訊號,
最後硬體會讀取這些高低訊號, 去執行您想要的功能
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.201.82
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):