ARM微控制器領域專家何老師具16年韌體開發與電路設計經驗,強調韌體學習注重「感受教學」,課程中會帶著學生自己使用儀器抓訊號,並自己解讀訊號,一步一步引導學生看懂DataSheet,自己寫出每一行 code,而不是拿別人現成的 code 去改而已。何老師認為這才是真正學會控制晶片並驅動周邊的精髓! 針對韌體學習4大問題,整理分享如下 Q1.韌體和軟體學習上最大的差別? 最大的差別就是軟體著重應用而韌體著重硬體訊號控制,並且軟體都是先假設底層韌體/硬體一切正常。韌體設計最根本的技術是”訊號處理”而不是程式。訊號處理意謂著你要先能理解兩個IC間的溝通方法,是否有依照IC DataSheet中的訊號時序圖來傳遞。”時序”表示訊號交握是有Timing的關係,這通常是軟體背景者最難入手的地方,如果你已經拿著會動的Code去改,那只有學到軟體的功夫而不是韌體的真本事。我在課程中會教每一位學員LA邏輯分儀如何使用並搭配艾鍗在Windows上開發的訊號產生工具,讓學員可以用一目了然的方法去看見波形時序是怎麼一回事。 Q2. 韌體工程師的職能為何?能對訊號處理、IP元件的驅動、界面電路、IC間通訊、中斷系統、時序控制等主題有所掌握。要能看懂DataSheet與波形時序圖,接著能跟著撰寫相對應的code。
Q3. MCU韌體工程師的開發重點為何? 開發的重點主要是熟悉MCU本身及週邊元件的驅動方法、建立良好的軟硬體系統架構與了解產品的應用面。對於底層Timer、GPIO、UART、I2C、SPI、ADC等各種IP驅動到更為複雜的USB HID、USB-CDC、USB Audio及USB MSC是韌體工程師應該熟悉的部份。雖然各家廠商推出的MCU晶片,對這些IP控制方式可能不同(暫存器的操作不同),但因為原理原則都是相同的,因此對於一個訓練有素的韌體工程師,只要有能力讀懂MCU廠商Datasheet或IC Manual,其實並不難上手新的MCU。 Q4.使用ARM Cortex M0或ARM Cortex M4,在開發上有什麼差別?使用不同廠牌的晶片在開發上有什麼差異? 由於現在MCU幾乎都是以C語言來開發,不像早期都是寫組合語言,因此CPU Core是那一家的,其實對開發者而言完全沒有差別。此外,ARM針對Cortex-M 提供CMSIS 介面(Cortex-M Software Interface Standard),使得韌體工師使用ARM Cortex-M based的MCU根本不必知道ARM架構、ARM內部暫存器及指令集。正是因為CMSIS函式庫的存在,開發者對於使用ARM Cortex M的任何版本,是沒有差異性的。雖然最新的ARM Cortex 7的CPU效能較高,但就如同如果你是會開車的,不論是駕駛BMW或Toyota你都還是會開,不用去考兩張駕照。市面上有許多不同廠牌的晶片可供選擇,撇開其各自特性(適合的應用)不談,其實差別僅在各家晶片商的 API 不一樣。ARM + 晶片商的電路 = 各家的MCU。所以,ARM 是一樣的。1. ARM Cortex -M0 的核心程式 一樣 2. Keil C 的開發環境一樣。來參加MCU單晶片課程,我會明確指出,如何讓共通性的東西更相容。 如欲了解更多ARM單晶片韌體學習上的問題,歡迎至MCU專頁 https://www.ittraining.com.tw/ittraining/course/firmware/mcuplus
- 新聞稿有效日期,至2018/08/17為止
聯絡人 :Lydia 聯絡電話:(02)2316-7736 電子郵件:service@ittraining.com.tw
上一篇:國立中正大學加入世界竹組織
下一篇:IOTW與Consta Mobile和加州葡萄酒建立戰略性合作夥伴關係
|
■ 我在中國工作的日子(十四)阿里巴巴敢給股票 - 2023/07/02 ■ 我在中國工作的日子(十三)上億會員怎麼管理 - 2023/06/25 ■ 我在中國工作的日子(十二)最好的公司支付寶 - 2023/06/18 ■ 我在中國工作的日子(十一)兩個女人一個男人 - 2023/06/11 ■ 我在中國工作的日子(十)千團大戰影音帶貨 - 2023/06/04 ■ 我在中國工作的日子(九)電視購物轉型電商 - 2023/05/28 ■ 我在中國工作的日子(八)那些從台灣來的人 - 2023/05/21 ■ 我在中國工作的日子(七)嘉丰資本擦身而過 - 2023/05/14 ■ 我在中國工作的日子(六)跟阿福有關的人們 - 2023/05/07
|