【基礎】韌體程式學習 | How To
簡介:
自學,是這世代關鍵能力了。自學首要的關鍵在於自我評估【已具備、需補充】的知識或技能,再者就是安排適合自己的【學習程序】。本文,在此基礎上協助您自我評估。
簡易自我評估:
如果,您閱讀了【學習中心】的資料,能夠依據各單元程式範例完成程式編譯、燒錄等實作程序。表示已經具備【L1. 基礎知能】,您可以快速地在本站或網路上查找所需要的資訊,自主建構您自己的知識、技能體系。本文說明,可以直接跳過。
相反地,您閱讀了【學習中心】的資料,依然難以入手建立自己的韌體程式實驗環境,開啟自學的旅程。或許您需要一些協助。請先嘗試閱讀此文,若還是不行,再尋求進一步的實體協助。
認識韌體學習
韌體(Firmware,FW),是甚麼? 為何重要?
近年MAKER、機器人學習風潮不減,韌體是此學習風潮中的主角之一。韌體(按,大陸稱為固件),是一種經過編譯過程後,形成組合語言或是二進制之機械碼儲存於硬體裝置之中記憶單元(ROM、FLASH)之中,經由硬體中的處理器提取執行後,進而控制周遭硬體單元。韌體廣泛應用在各種形式的電子、家電、工業控制…裝置之中,由生活可見之冰箱、咖啡機…乃至複雜的機器人所運用的AI邊緣運算單元,都是韌體程式的應用範疇。幾乎可說,觸目所及皆有其蹤影。
通俗的說,韌體,是一種可以直接控制硬體的程式語言,最常見的形式為C語言。韌體觸及領域廣泛,可說是學無止境,端看你的用途。韌體開發與應用,涉及【語言編譯、電子電路、微處理機架構、濾波演算、通訊協定、機器學習、應用領域知識….等】,隨著你的應用範疇,所需要的領域知識也越多。其中更重要的您將逐步強化【除錯(troubleshooting)與資料查找】的能力,這是課堂學不到的能力。
學齡建議
幾歲,適合學習韌體(機器人、STEAM)呢? 這是個熱門提問。
如前所述,過去幾年的MAKER風潮帶動下,韌體(機器人)學習年齡層大幅下降。在我的教學經驗中,遇過許多小五生(10歲)已經能展現穩定的文字式程式語言的操作能力。這樣的孩子具有多少比例呢? 我沒有研究數據可茲探究。近20年的學齡者都屬於數位時代的孩子,數位學習能力與潛力遠超過上一代,這是個明確的現象。面對學齡較小的學習者,只要給予【合適的引導】、【強化專注度】,大多能建立良好的韌體基礎。過去學齡對應特定知識技能的關係,不見得適用。
簡單的說:
- 小五(10歲)以上都適合學習。但是學習深度與內容,需適度調整。避免揠苗助長囉。
- 小四以下,可改用積木式程式。
- 小學生數位認知與學習能力,普遍提升。
- 不分學齡,初學者先由【五感】、【建立成功經驗】入手。
由此入手
當然我們不需要樣樣精通,才能開始韌體程式的編寫。我們可以這樣開始:
Step 01. 您可以由【基礎環境 (傳送門)】的學習資料開始入手,先建立可執行的環境以及一個成功經驗。
Step 02. 有了第一步成功經驗,您可以依據開發板的型號,找到本站中基礎學習單元。例如,假若您手中的是【DUAL22-2s開發板】可以在此類別(傳送門)中找到所需要的基礎程式範例,如圖。建議閱讀順序,如列。其他型號開發板,依此類推。
需要推一把
如果透過前一節【由此入手】,您閱讀了【學習中心】的資料,依然難以入手建立自己的韌體程式實驗環境。表示您過去少有完整的韌體學習經驗,或許您需要一些實體協助。
您可以嘗試:
- 夥伴伴學:找夥伴一起學習,三個臭皮匠勝過一個諸葛亮。很實用的學習法。
- 校園課程:微處理機、專題製作…,都經常圍繞韌體學習。學校老師是建立自學能力的好助力。
- 我們研習:您也可以參加我們的工作坊,協助建立各階段的關鍵基礎能力。【校園研習、工作坊】