iT邦幫忙

0

請問開發版的用途&適合硬體類的程式語言?

問題如上,
最近想接觸電腦的硬體類,但不知道從哪裡開始,於是我就在網路上看見了「開發板」這個東西,上網爬過文,但還是不太清楚他的作用。
另外,想請問各位大大什麼程式語言適合電腦硬體類的學習及研究?
我聽到的都是C或C++等編譯型語言/底層語言~

2 個回答

0
EN
iT邦研究生 3 級 ‧ 2021-09-25 21:59:31

想接觸硬體與開發板的話...一定要試試看小弟的微自幹的作業系統輕旅行系列文!
本系列文會介紹:

  • 基礎的計算機學科知識 (RISC-V)
  • 開發工具集
  • 作業系統原理與部分實作
  • 基礎的並行程式開發

雖然不會碰到開發板,但我們可以在虛擬機器上開發作業系統喔 XDDDD
(在問答區業配真滴羞恥)

OK! 謝謝你~我來看看~~

2
微甜的酸
iT邦新手 2 級 ‧ 2021-09-26 01:46:38

介紹

開發板為Maker界的術語,泛指MCU及SOC等單晶片。

微控制器(MCU),俗稱「單晶片」,是一種把MPU、記憶體及輸出入功能整合在一起的晶片。

CPU、MPU、MCU?

讓人摸不著頭緒的專有名稱,這得介紹常見的積體電路(IC)分類:

中央處理器(CPU)

可視為與MPU相同意義的產品,一般指的是個人電腦(PC)中的處理器。習慣上,在通用式電腦中的處理器稱為CPU,而在嵌入式系統的則稱為MPU

微控制器(MCU)

包含了完整的微處理機系統架構。常見的有Intel的8051,Atmel的AVR及ARM系列產品等等。

圖形處理器(GPU)

專門進行繪圖運算的處理器,擅長平行處理,故在AI領域也有一席之地。

FPGA與CPLD

  1. 兩者均是一種半客製化及可程式化的數位積體電路。
  2. 主要是以硬體描述語言(例如:VHDL或Verilog)作為描述電路的方法。

稍微補充一下硬體描述語言:與一般的程式語言不一樣的是,他是用程式語法來描述各種邏輯,是目前數位電路的設計主流。這裡的「描述」有點像「規劃」的意思,而「邏輯」就是「數位邏輯閘」,例如:或閘(OR Gate)、及閘(AND Gate)、互斥或閘(XOR Gate)等等。詳情可以參考Altera公司的軟體-Quartus II。

MCU、SOC?

雖然課本是說微控制器(MCU)是單晶片(恩,上面的內容多半是課本的),但實際上微控制器通常只有不到100kB的RAM,而一般認知的「單晶片系統」這個術語常被用來指功能更加強大的處理器,這些處理器甚至可以執行Windows和Linux等作業系統。

簡單來說,單晶片系統(SOC)會把CPU及GPU和各式輸入輸出及記憶體封裝在一起。為MCU的強化版。

應用

  • 人工智慧:不懂課本把它放在這幹嘛,總之就是要扯上關係。
  • 資訊家電:有微處理機裝置的家電設備。
  • 3C:就是電子學的4C扣掉元件材料,剩下通訊、控制、計算機。啊在這裡的3C是電腦、通訊、消費性電子。
  • 物聯網(IoT):簡單來說就是萬物皆可上網。(實際上網路的定義很廣,有熟知的互聯網Internet,也有Ethernet。用藍芽或WiFi構成的可稱為Ethernet,所以他也是網路的一環。)

應用這裡我覺得只有智慧電路跟IoT是有實際價值的,其他都在唬洨。而智慧電路用硬體描述語言也寫得出來,但要讓東西上網用邏輯閘拼出來...?

程式語言

底層除了上面說的硬體描述語言,再來就是組合語言或C了吧,就拿來寫寫ARM等等。而開發版主流的Arduino是用C++來實現的。

!工商時間!

沒收到任何一毛錢QQ,但既然有人都可以業配了,我沒收錢來點工商服務情理之中(但你應該意料之外www)

購買選擇

  • Arduino
    這裡不是指程式語言,他同時也是塊真實存在的開發版,由於Open Source的緣故,只要不是買原廠的,價格可以拉到很低。也因為他開源,所以周遭的感測器是最豐富的,同時也是相容性最差的,每個廠商自己做自己的,相同功能換顆模組就把自己搞成像智障一樣。

缺點:沒有內建藍芽,有內建WiFi為稀有版本。對於注重IoT的Maker領域是一大痛點。

  • ESP8266/ESP32
    有WiFi、有藍芽,選我就對了。請直上ESP32謝謝。

  • 樹莓派(Raspberry Pi)
    小電腦,我認為是太高層,不像Arduino或ESP32這類開發版比較底層,很難做簡單的外部I/O控制,但上面能裝Linux來跑伺服器,缺點就是太貴。

  • 其他開發板
    要碼太簡單(那種給國小生玩的),要碼就是支援性及社群不夠完善,都沒上面幾個好:p。

看更多先前的回應...收起先前的回應...
miku3920 iT邦新手 4 級 ‧ 2021-09-26 02:23:12 檢舉

直接拿 ESP32 單晶片模組來玩啦,買開發板多沒樂趣

那假如我要接觸和學習電腦硬體,建議要怎麼開始呢?(我是初學者)

而且我看網路上說:「ESP32需要專業知識很高,這種方式老實說不適合我們這種業餘或DIY的玩家。」,是真的嗎?

第二點我反倒不這麼認為,從8051到Arduino,再從Arduino到ESP32,隨著款式越來越新,它也越來越高階。就像程式語言一樣,越高階越貼近人類的語言,也比較容易學習。如果ESP32需要的專業知識很高,那像8051就是一輩子都不可能學會。(結論:Arduino比ESP32難)

如果想學就去修它的課。

這方面的網路資源不多,自學相當困難。電腦是用邏輯0、1所組成。邏輯閘是由電晶體所構成,電晶體的運作原理在電子學當中,而要學好電子學,電路學是基本的門檻。一個人不可能什麼都會,人類是建立在前人的基礎上來進步,就像你用手機查資料時,會知道手機的工作原理嗎?

如果只是想動手玩玩看,把微處理機看懂就可以控制周遭設備了。

EN iT邦研究生 3 級 ‧ 2021-09-26 11:46:11 檢舉

樹梅派也可以考慮買二手的!我自己就買了一台二手 3 代 + 壓克力殼也才 900 元而已 XD

那有內建Wifi和藍牙可以做什麼呢?
如果不考慮要實現Wifi和藍牙,
會推薦哪一個開發板呢?

還有,有相關的工作嗎(開發版相關)?

miku3920 iT邦新手 4 級 ‧ 2021-09-26 23:35:51 檢舉

教學的話,推薦可以先看這個 https://www.youtube.com/playlist?list=PLdckmk1Jf8MYOED98iY13wdGi52h-O69X ,然後照著把功能做出來,之後要學別的模組就會比較容易上手

沒有要IoT的話推薦Arduino(雖然沒有比較便宜),相關工作的話可以找教學相關。這方面本來就是同溫層的小圈圈,就像會去夾娃娃的人總是夾娃娃機台的台主。

我要發表回答

立即登入回答