總網頁瀏覽量

2020年10月10日 星期六

【阿良的嵌入式系統技術學習區】嵌入式系統基礎原理與實務課程介紹連結

課程內容涵蓋:

本課程重點核心宗旨是讓學員掌握「嵌入式韌體開發相關共通的基礎觀念」 ,而不是教了A平台才會A平台、教了B平台才會B平台。此外,也會在課程之中和學員介紹產業界在這方面的相關工程師職缺與工作內容概況。

實驗/實作教學平台以MCU(單晶片微電腦/微控制器)為主。

課程主要涵蓋範圍如下 : 
  • 韌體程式常用程式語言
    • 組合語言指令集與MCU架構簡介
      • 以架構簡潔清晰的Intel MCS51指令集為教材範例
    • C語言基礎複習
    • 高階與低階語言(C語言 與 組合語言Assembly)差異介紹與實驗驗證

  • MCU韌體程式常見開發環境操作教學
    • KEILC (Keil uVision) 評估版 整合開發環境(IDE)安裝與操作教學
    • 其它IDE簡介(如 IAR)

  • 處理器系統核心機制原理與實驗
    • 記憶體之堆疊(Stack)資料結構
    • 呼叫副程式(於高階語言則為函數)於堆疊使用之關聯原理
    • 中斷(Interrupt)機制之原理與實驗:
      • 中斷觸發源
      • 中斷向量
      • 中斷優先權
      • 中斷服務程式
      • 堆疊於中斷機制之關聯原理

  • 周邊裝置驅動原理與實作
    • GPIO(通用輸入/輸出介面)
      • GPIO架構與驅動原理
        • IO Port結構原理、Open-drain(開汲極)、Push-Pull output(推挽式輸出)、Pull-up、Pull-down等相關硬體電路原理
      • 外部簡易電路整合應用設計原理
      • 輸出驅動實驗
      • 輸入驅動實驗
    • Timer/Counter(計時器/計數器
      • 計時器
      • 計數器
      • 輪詢與中斷應用實驗
    • UART ( 通用非同步串列傳輸通訊介面
      • UART之協定原理
      • 輪詢與中斷應用實驗 (與其它具備UART介面之設備進行通訊實驗
      • RS232與RS485纜線介紹
        • 電氣位準轉換原理
        • 相關IC介紹
    • ADC(類比轉數位轉換器
      • 輪詢與中斷機制  搭配 亮度感測器 進行實驗

  • 基礎電子電路與元件應用
      • 類比電子電路 與 數位電子電路 基礎原理觀念
      • 基本電壓、電流量測
      • 二極體
      • 電晶體
        • 如: BJT開關應用、MOSFET (如level shift電路應用)
      • OPA(運算放大器)基本應用
      • 穩壓IC應用介紹
        • 光耦合IC
          • Relay繼電器驅動

        • 進階選修課程內容
          • I²C串列通訊介面
          • SPI串列通訊介面
          • GPIO進階應用之 矩陣多按鈕鍵盤 掃描輸入演算法
          • GPIO進階應用之 多合一七段顯示器 掃描輸出演算法
          • 其它各種周邊裝置、I/O介面或協定(PWM、1-wire、DAC、DMA...)
          • LCD顯示驅動
          • 各式無線通訊模組應用(藍牙、ZigBee、LoRa、Wifi等等)
          • 各式感測器應用(如: 溫度、溼度、三軸加速度感測器、陀螺儀、電流感測、pH酸鹼值、ORP氧化還原...等等)
          • 步進馬達驅動
          • 直流馬達驅動
          • 應用專題
            • 物聯網IoT (如 智慧家庭、智慧農業、自動化系統...)
            • 穿戴式裝置(慣性感測、生醫訊號處理應用...)
        • Q&A
        Q: 實驗平台為何?
        A: 以架構適合初學者透徹掌握學習的8位元的MCU (8051、Atmega328等MCU為實驗教材,但如果學員因工作有其它款式的MCU平台系統需求,也可考慮與講師討論客製化課程)


        Q:課程會提供講義嗎?
        A:本課程會提供部分的電子檔講義。但主要以能讓學員帶得走的紮實專業基礎能力教學為主,希望讓學員擁有從網路上能找到的任何資料或datasheet都可以成為講義的能力,而不希望學員必須綁定某份講義才會做這類的系統應用設計,所以技術的部份不會提供講義,主要以傳授實際專業基礎與經驗為主,當然學員可自己作筆記記錄,將該記錄作為最適合自己與屬於自己的講義。


        Q: 每個單元的授課時數有固定嗎?
        A: 沒有固定時數。因為每位學員的相關背景、學習速度可能都有所不同,所以是依照學員學習狀況而定,希望學員能紮實的掌握到該學到的基礎,目前不希望像是一般補習班的制式化方式。相對的,不會綁定時數,學員希望上多少課就上多少課(時數由學員自己決定,如果覺得不滿意,可於該次上完課之後就停止課程)。

        --------------------

        孫文良 (阿良的嵌入式系統技術學習區)

        個人簡介: https://sites.google.com/view/wenliangsun/

        【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,請先參考 課程招生網頁連結

        2020年9月16日 星期三

        8051 MCU 錯誤觀念闢除 第二彈文章!

        歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)

        為了闢除許多人對於嵌入式系統基礎學習的一些錯誤觀念,之前有發表過一篇文章:


        但發現還是有不少朋友無法完整理解上列文章內容,在這裡做一些常見的錯誤觀念迷思的Q&A給大家參考:

        Q1: 32bits ARM based的MCU不是比較好嗎?何必學這麼老舊的8051 MCU?

        A1: 雖然上面內容中已經有說明,但這裡再詳細解釋。

        很多人都誤以為用規格比較強的學習教材(嵌入式硬體平台),就代表自己神功附體,以為這樣子就可以讓學習效率大增。事實上,許多人常迷信於表面,以為自己用所謂ARM based的平台就代表自己比較厲害? 但其實在MCU應用開發的這塊,有多少人有去了解ARM CPU架構和指令集?多數人包含開課的講師通常也只不過將這個平台當成一塊MCU去跑code去設定周邊的registers而已不是嗎?有真正摸到ARM CPU架構嗎? 終究不就只是在玩一塊比較複雜的MCU? 真的有因為用ARM based的MCU所以就有去實際接觸到ARM CPU嗎? 終究不也是只是一樣在應用MCU內的各式周邊(如UART、I2C、SPI等等)? 其實CPU這塊當然是要有人理解的,例如搞出這個MCU軟體編譯工具與開發環境的工程師們,但這塊大多數已經被開源社群與IC design house做掉了,但這塊大多數已經被IC design house做掉了,對於MCU應用開發者來說,這塊已經是現成的工具。舉個例子,多數人玩MCU的C語言程式起跑點是main function,但是事實上在code flow跑到main function之前早就已經必須先去做其他事(startup),例如針對堆疊進行初始化等等(否則哪有C語言裡面這樣可以呼叫到函數跳來跳去的流程可用呢?),這塊是必要的,但是多數MCU應用者是拿現成的。好,把話題拉回來,用32bits MCU給初學者學,初學者真的會去細細探究這些已經是現成但較深入的部分嗎? 不會的,反而會因為32bits MCU的周邊大多較新穎又比8051的周邊複雜許多,反而會去忽略一些重要的周邊操作員裡細節基礎,而且也會因此而不敢挑戰這裡所說的所謂現成的部分(如透過Assembly組合語言去熟悉指令集),畢竟ARM(即便是ARM Cortex-Mx系列)指令集對於多數的所謂MCU應用初學者來說太複雜了(當然做MCU系統應用開發也未必就一定要很懂CPU這部分,但是用簡單具體而微的平台來熟悉一次這些細節,其基礎不是會更紮實嗎? 而且也會包含一些重要的細節如中斷、堆疊等底層原理,這就是我說的為何MCU初學者應該要先以8051這類較簡單MCU來入門的原因。並不是拿8051來應用,而是透過較簡易的MCU來徹底的了解一次MCU底層的這些細節,在經歷過這樣的過程後,未來要再接觸較複雜的MCU基本上也不是太大的問題)。反過來,如果一開始就學32bits MCU,不但可能沒有真正學到什麼ARM CPU架構,而且反而可能會因為這類MCU周邊的複雜度而混淆初學者應該要學到的一些重點,反而未必會讓基礎紮實。例如某些32bits MCU的Timer模式眾多且其對應設定過程相對繁複,因為這是針對許多現代各式產品應用而生,但這對於多數初學者而言可能太複雜了,其實初學者只要從8051那類較簡易的Timer去理解什麼是Timer和實際上如何使用的原理就夠了,而往後如果需要了解更複雜的Timer相信也不會是太大的問題,寧可不要讓初學者因為太複雜的周邊導致觀念混淆或者提前放棄。

        其實接觸國內名校的這些年來,我發現即便光是8位元的MCU,其實我沒看過有多少名校學生真正在第一次課程內就學得好的,至今依舊如此(MCU基礎範圍內其實還有基本介面電子電路等硬體觀念,並非只有MCU本身)。如果一開始就用複雜的MCU當教材,只是表面上好像用很新很強的平台在學習,但實際上並沒有讓初學者學得比較紮實,

        就像樹莓派學其實是個非常非常龐大的系統,許多初學者或學生表面上都會用,但是這類平台下面的內容硬要說起來就多得跟大海一樣廣又深,表面上的功能會動並不代表學生已經掌握了這些內容,只是拿了很多現成的東西去做相當後續的應用而已...我的第一份工作的公司就是做這類平台的,從這種大SoC IC到上面的整個系統軟韌體,這個複雜度比MCU還高太多太多(所以這種公司的研發工程師人數也很多),而許多初學者或學生甚至規劃課程的老師們並沒有去了解以及看到這個面向。而自己曾經帶過的同學們也蠻多在國內知名的MCU IC設計公司服務,所以整體來說,從產業經驗來回頭看,我還是覺得8051蠻適合教學的。

        --------

        Q2: 8051時脈這麼慢,學這有用嗎?

        A2: 其實這又是類似Q1的問題(千篇一律),我認為對於專業技術的學習效率應該不是硬體規格問題,學習一門技術所應該著重的是基礎,而不是在比較實驗教材的規格強弱(就像是使用個人電腦的人就代表懂個人電腦這麼複雜的系統設計嗎),何況MCU在多數的應用上通常本來就不是在比速度的呀(這是用途差異的問題),例如做許多I/O控制應用大多不需要太過於高速,畢竟需要等待例如馬達這些設備的反應,這些機電設備的反應動作速度是遠比不上MCU內的CPU的。如果在應用上需要複雜的演算,從系統設計的角度上來說,也未必適合在MCU端來做全部的演算,應由本身具備較強運算功能的平台專門做演算。(補充一下,近年來ST等大廠有一些很不像傳統MCU的較高速的MCU產品推出,通常用在某些具備多媒體應用功能的消費性電子產品裝置,但這類的MCU平台規格已經和網路多媒體類的SoC或Embedded Microprocessor這類通常具有MMU的CPU的平台的應用很相近了)。

        --------

        Q3: 近代新的MCU大多是32 bits,很多還是based on ARM Cortex-Mx CPU的MCU(如STM32/笙泉/盛群/新唐/松翰等廠商接有出產這類的MCU IC產品),若用8051會不會因為期開發環境太老舊而導致學習者在往後無法適應32 bits MCU呢?

        A3: 這不太是問題,因為現代MCU應用開發,不論8051 MCU或者32bits MCU,其開發環境基本上都是使用現成的圖形介面IDE(整合開發環境,如KEILC、IAR、STM32Cube等等),其環境大同小異(應該說幾乎一樣)。真正與MCU開發環境差異大的是Embedded Linux或者更精確地說是Linux kernel space相關系統軟體的開發,幾乎全部都是透過terminal敲指令式的開發環境,這種環境下很可能根本沒有IDE這類現成的圖形化介面可用,且就開發文化/生態系而言大多還是指令式較多。

        --------

        Q4: 繼Q1,初學者或學生們會因為用ARM based的MCU或SoC板子而突然神功附體、學習效益突飛猛進嗎?

        A4: 不會。因為初學者和學生的普遍學習狀況並不會因為硬體平台規格增強,所以就學得比較好和比較多。實際上,對於大多數的初學者來說,硬體平台複雜反而容易忽略很多重要的觀念,正因為複雜,為了能看到東西會動(功能會動),反而會使用表面或現成的內容草草帶過,其觀念容易零碎化。與其如此,那還不如用麻雀雖小五臟俱全、具體而微、易於學習掌握的平台,還比較能夠掌握到底層的細節基礎,雖然是具體而微的平台,但在學習體會過這些基礎內容之後,未來再去接觸複雜的平台也比較能接受,也比較有觀念,比較不會太過零碎。

        --------

        Q5: 那照上面這樣說,初學者學習MCU是否一定只能學8051不可?

        A5: 當然不一定只能用8051不可! 我也不是要當什麼8051的死忠擁護愛戴者,這些東西(平台)都是死的,沒什麼好迷信或死忠的。關鍵是要能從這些東西(平台)學到紮實且能延伸融會貫通的技術經驗和專業知識,才是核心重點。
        如果今天有一款平台像是8051這樣,擁有麻雀雖小五臟俱全且具體而微的特性,複雜度不至於太高(對初學者來說其實如果談細節的話還是不容易)的MCU,而且又有很多技術資料可參考(容易取得),那當然絕對不一定只能用8051。
        會推薦8051的原因只不過是因為這是一顆快要40年的長青樹等級的MCU,除了擁有較容易入門的特性外(事實上如果是用assembly並且針對MCU硬體架構細節原理去琢磨也已經有一些複雜度了),其技術資料、書籍和各路技術高手與網友們的經驗非常多,初學者相當容易取得這些資料來做為學習教材,所以才會這麼推薦用8051 MCU來作為教學平台。
        另外再次重申/強調,教學應該著重於基礎技術觀念的紮實度,而不該只是看重讓東西(功能)會動就好,既然應該著重的是基礎的紮實程度(如堆疊、中斷、常見周邊的運作基本原理特性等),所以用8051這種在此些方面複雜度不算太高的平台是再適合不過了。

        【若需要阿良的嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

        2020年9月9日 星期三

        市場上最流行的嵌入式平台(Raspberry Pi/Arduino/STM32)都是外國貨? 台灣的去哪了?


        台灣有聯發科、聯詠、瑞昱等這些有擅長做網路多媒體類的SoC晶片的公司;也有新唐、盛群、笙泉、松翰等擅長做 MCU晶片的公司

        結果台灣自己的學校,特別是許多大學校院,不管是系所開課、研究單位或者起碼九成以上的學校實驗室用到網路多媒體類的嵌入式平台大多都選用Raspberry Pi(板子是英國廠商的,而上面的SoC晶片是博通的);用到MCU類的嵌入式平台時大多選擇用STM32(ST的MCU) 或Arduino(最普遍的款式的板子上面的MCU是Atmel的,Atmel已經在幾年前被Microchip併購),全都是用國外的晶片,且這不是在學界才有的現象,這幾年來也開始有了不少系統廠公司直接或間接地去使用這些平台之中的相關元素來做成自家的產品或者產品其中的一部分(特別是指Raspberry Pi和Arduino板子,而STM32則是本來就是業界愛用的晶片)
        上述這狀況代表什麼呢?代表這些國外的平台比較先進或好用,而且因為已經太多人在使用和討論,正向循環之下,其技術資料很多,會造成更多屬於正循環結果的現象。而台灣的廠商大多可能還是只能辛苦地緊跟其後,辛苦地做costdown,要求員工辛苦地增加工時以即時達成客戶的各種要求
        在台灣學術界每年產出一大堆論文之後還是如此,只有提到代工成果時才會明顯地想到其代工是由台灣廠商所負責的。這表示台灣的學術和產業發展很成功嗎??為何多數的自己人的第一選擇就不會是台灣自家研發的平台?
        事實上,與Arduino系列之中最普及的uno/nano/mini/micro等板子上面的MCU主晶片也就是Atmega328相關的Atmega8 MCU晶片(一樣是基於AVR CPU的Atmega系列MCU,有內建ADC和SPI、I2C等周邊IP)是早在Arduino平台開始流行的很久之前就已經存在很久了的MCU晶片(按照datasheet的資訊顯示這款MCU在2002年就已經在市場上賣了(*參考資料1),被拿來開發Arduino初期的版本(*參考資料2與*參考資料3),也有不少公司將Atmega系列MCU用來開發產品。晶片都有了,就缺乏好的開發生態系去提升其開發便利性和普及性,但這樣的開發平台的生態系就是無法先由台灣的學術界去整合開創出來,所以最後Arduino這類的東西還是外國人先搞出來,而這樣的平台也確實影響了世界,畢竟這確實大大降低了多數初學者對於MCU的入門應用門檻
        台灣從來不缺乏濫用創新這個詞的人,真正的實用創新絕對不是不懂專業技術且光喊口號就能做得到的 *參考資料1: ATmega8 datasheet, https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf *參考資料2: https://www.arduino.cc/en/Main/ArduinoBoardSerialSingleSided3 *參考資料3: https://www.arduino.cc/en/Main/ArduinoBoardSerial



        2020年8月29日 星期六

        LinkIt 7697之範例程式SimplePeripheral搭配BLE Scanner App的測試注意事項

         分享2017年指導朋友們以 作品 參賽之開發過程中所遇到的問題之筆記紀錄

        日期:2017/8/6

        開發環境: Arduino IDE(版本:1.8.1)

        開發板: LinkIt 7697

        Android APP: BLE Scanner

        在進行LinkIt 7697BLE功能測試時,將LinkIt 7697範例程式(SimplePeripheral)燒錄至LinkIt 7697開發板,並搭配APP(BLE Scanner)使用BLE傳送資料到LinkIt 7697進行GPIO  對應高低電位輸出(透過LED亮滅狀態)作測試。


        這次發現LinkIt 7697之範例程式SimplePeriphera 如果是搭配BLE Scanner App進行測試的話,初學者們可能會需要注意的小地方(如下圖紅色圈起來的部分)

        從範例程式中可以發現,case條件的選擇值被寫為數值1,而非字元'1'(單引號將數字包圍代表ASCII符號1, 而其符號值為0x31)



        完整範例程式碼之github網址:

        https://github.com/MediaTek-Labs/Arduino-Add-On-for-LinkIt-SDK/blob/master/middleware/third_party/arduino/hardware/arduino/mt7697/libraries/LBLE/examples/SimplePeripheral/SimplePeripheral.ino


        再舉個例子,例如'0'的ASCII碼在十進制為48,而其十六進制為0x30

        而我們所使用的APP(BLE Scanner)所送出的是0和1的字元(而不是),則這支LinkIt的範例程式應要以字元(而非數字)作為switch-case的條件項目,故須將數值1改為’1’0改為’0’才是符合BLE Scanner App功能的LinkIt範例程式


        【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章




        樹莓派Raspberry Pi常用之PiGPIO library之安裝

         

        分享一下樹莓派基礎應用、非自行撰寫Linux device driver的情況下的開發者,常會應用到的一個樹莓派gpio控制的python API library: PiGPIO library之安裝筆記

        【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

        樹莓派Raspberry Pi 3 B+環境建置基礎環境建置

         

        將過去和朋友討論相關內容時的樹梅派應用基礎環境建置過程筆記分享出來供大家參考


        【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

        2020年8月24日 星期一

        【阿良的嵌入式系統技術學習區】嵌入式系統軟韌體 技術課程 招生

        • 可開設之課程

                (1) 嵌入式系統基礎原理與實務課程介紹連結

          • 包含嵌入式系統軟韌硬體基礎學理,包含:組合語言介紹、C語言複習、基礎介面電子電路、MCU架構、各式周邊裝置、各式感測器、無線通訊模組、IoT專題製作等內容。若您希望打下嵌入式系統的紮實基礎,建議要有這個學習過程,奠定進入此領域的專業基礎。
          • 若希望客製化課程內容 (例如針對工程師工作遇到的問題做為課程/諮詢內容,也可與講師討論)
          • 軟韌體工程師 職涯 工作內容方向選擇之分析建議,
            • 常見問題例如: 韌體到底有哪幾類工作方向?  該從事Linux系統軟韌體? 或者non-OS裸機類的MCU韌體? 或者介於兩者之間的工作?  按照經歷背景適合哪種? 該如何選擇? 有哪些對應的企業職缺? 如何避免找錯職缺、導致浪費時間?

                (2) 嵌入式Linux (Embedded Linux) 基礎實務課程介紹連結 

          • on ARM Cortex-A based平台

                (3) STM32系列MCU韌體程式設計基礎實務課程介紹連結 

          • on ARM Cortex-M based平台

                (4) FreeRTOS應用基礎

                (5) C語言程式設計

                (6) 基礎電子電路

          • 包含類比電路、數位電路之基礎觀念
                (7) Linux作業系統操作基礎
          • 如基礎觀念、基礎指令、目錄與檔案權限、vim編輯器基礎操作、ssh檔案傳輸應用、Samba server建置 等

                (8) 應徵科技業 軟韌體工程師相關職缺 之諮詢輔導

          • 包含履歷製作過程、面試應對方面之經驗分享教學

                (9) 基礎C#程式設計

                (10) 基礎Java程式設計

                (11) 基礎Python程式設計

                (12) Raspberry Pi(樹莓派)、Arduino等平台之應用

                (13) 適合初學者或學生的圖形程式: 如App Inventor、Scratch、Blockly等

                (14) 推甄(甄試)電機/電子/資工系 相關系所之研究所碩士班之指導諮詢

          • 包含系所選擇、研究方向分析建議、備審資料製作、指導教授選擇、畢業後未來工作方向分析 建議等

        • 輔導學員錄取軟韌體工程師職務之成果:
          • 陳x茹(食品系學士、經輔導後取得電機系碩士)錄取 知名大學研究中心韌體工程師職務(專任研究助理)
          • 任x誠(機械系學士)錄取 老牌光纖與照明系統廠公司MCU韌體工程師職務
          • 方x翔(機械系碩士)錄取 兩間知名大型系統廠Embedded Controller韌體工程師職務
          • 方x傑(能源與材料系學士)錄取 中小型上市公司單晶片應用工程師職務(工作內容為韌體程式與電路設計)
          • 解決其他多位產業界工程師實質基礎及開發問題(包含系統廠 & IC設計大廠工程師)
          • 其餘案例省略...(族繁不及備載,暫時不詳細更新)

        • 講師本身的產業業界經驗
          • 曾於 知名IC設計公司 擔任軟韌體開發、軟硬體整合開發設計 的研發類工程師 (產業經驗)
          • 於產業公司擔任 產品研發顧問、領導產學技術開發案 (產學經驗)
          • 曾於大專校院擔任講師 (教學經驗)
          • 曾輔導多位產業界工程師,給予明確方向協助其解決工作或轉職問題  (產業教學經驗)
          • 受邀參與 勞動部工研院 所舉辦之 「110 -111年度職業訓練政策研析暨基盤優化計畫服務案」研提技術職類訓練課程綱要:「韌體設計工程師課程」專家諮詢會議
            • 開會通知發文字號:工研學字第1110010784號
          • 曾實質共同指導 國立成功大學資深教授與其碩士班學生完成實質產學合作案之技術研究與開發
          • 曾實質共同指導 國立成功大學資深教授與其碩士班學生之碩士論文內容
          • 曾實質共同指導 國立成功大學資深教授與其碩士班學生參加政府部會舉辦之實務作品相關競賽獲獎
          • 詳情於  https://sites.google.com/view/wenliangsun/  進一步了解講師的資歷和各類經驗

        • 講師的教學經驗
          • 曾經輔導多位產業界工程師學員、希望轉職或就業韌體工程師相關職務之學員
          • 曾經與南科園區的艾克夏醫療儀器公司合作,開設嵌入式系統相關課輔導該司之工程師
          • 曾在台科電科技股份有限公司擔任 產品研發顧問
          • 曾經輔導過 機械背景 與 食品背景的人士,成功轉職 嵌入式系統/韌體研發工程師
          • 自離開科技業之工程師專職後,曾回校指導多位國立成功大學碩士生之研究內容(包含指導一般研究案、參加競賽、產學合作案、碩士論文等方面)的經驗,深刻了解國內大學校院在嵌入式系統教育方面的不足。
          • 於2間科技大學擔任過業界講師
          • 於2間科技大學擔任兼任講師(負責嵌入式系統、物聯網軟硬體整合相關課程)

        • 課程特色
          • 講師本身兼具軟體、韌體程式與硬體電路整合開發背景
          • 主要以一對一家教 或 極小班模式(將視情況而定)授課 
            • 原則以網路通話+畫面分享的方式遠端授課,除非學員人數足夠並且有適當的地點與交通方式,則可討論是否採取面授
          •  可在課程方向範圍內,按照每位學員的不同狀況與需求(如就業內容需求)針對授課內容進行客製化安排規劃
          • 上課時間可自由動態調整(與講師討論確認即可)
          • 上多少課程付多少費用,上課費用每次結清,可自由決定上課時數,不必被強制綁死整個系列課程,不須要在事前就將系列課程的所有費用付清
          • 課程內容重視 基礎理論原理基礎 與 實務技術的訓練,並不是只讓學員按照範實驗例的那種表面上讓功能work的課程。
          • 可從嵌入式軟韌體相關產業職缺與狀況之相關觀念開始輔導,與坊間補習班偏向制式化的課程性質有所差異
          • 可協助企業針對企業公司內部工程技術研發開發人員進行嵌入式系統技術培訓輔導


        • 歡迎下列類型的朋友來信洽談:

        1. 已經身在業界、自身原本工作內容並非工程師但有興趣踏入電子、資訊產業的軟韌體開發工程師職缺,但不知道該怎麼做、感到茫然的朋友

        2.     已身在業界,但覺得自己對於工作內容之專業基礎仍然不太熟悉、希望加強基礎奠定的朋友。 

        3. 覺得在大學本科系學了四年或六年(加上碩士班的兩年)還是覺得沒學到什麼紮實的專業技術,自己不太知道要如何找到確切方向及目標的朋友

        4. 原本為非電資工程本科系背景,但有意願希望能轉職(轉行)至電機電子資訊相關產業就職(尤其是嵌入式系統、軟體、韌體開發工程師相關職缺)的朋友

        5. 學校專題或學位論文研究所需技術基礎輔導 (嵌入式系統、物聯網平台 方向相關,如STM32、Raspberry Pi、Arduino、8051、Atmega(AVR)系列等,或者其它嵌入式系統相關平台)

        6.   希望應徵科技業 韌體工程師之 求職者所需之應徵諮詢服務(包含學經歷整理、履歷製作過程、面試應對等經驗分享與指導)

        7.    希望推甄(甄試)電機/電子/資工系 相關系所之研究所碩士班之學生 (可提供指導諮詢服務,包含系所選擇、研究方向分析建議、備審資料製作、指導教授選擇、畢業後未來工作方向分析 建議等)


        • Q&A

        相關文章: 

        【這個學習區開設的課程目標是什麼? 要找科技業軟體開發相關的工程師工作,不是靠名校碩士學歷或者刷Leetcode比較快嗎?】 

        【課程原則】 賺錢很重要,但還有其它更重要的事! 關於我開設課程的原則


          附上幾篇過去的嵌入式系統相關觀念教學文:

          1. ARM Cortex-M3 CPU bit-banding功能機制講解,以STM32F103最小系統開發板之GPIO範例程式為例

          2. 【你所不知道的Arduino】Arduino UNO電源選擇電路之設計機制與動作原理分析 & 實際進行實驗量測結果之差異探討

          3.   現代計算機系統核心硬體常見平台的分類與簡介概述

          4.   Arduino到底是什麼? MCU又是什麼?

          5.   許多人對於8051 MCU的常見錯誤觀念闢除

          6.  適合學習Embedded Linux及RTOS的開發板


          【若需要上述技術輔導課程,可email來信洽談合作方式: iws6645@gmail.com】


          本學習區之Facebook粉絲頁如下: