-----
個人簡歷: https://sites.google.com/view/wenliangsun/
--------------------------
孫文良 (阿良的嵌入式系統技術學習區)
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】
分享嵌入式系統技術文章,開設嵌入式系統相關教學課程,可洽談: iws6645@gmail.com 簡歷: https://sites.google.com/view/wenliangsun/
-----
個人簡歷: https://sites.google.com/view/wenliangsun/
--------------------------
孫文良 (阿良的嵌入式系統技術學習區)
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】
下方影片為32bits ARM Cortex-M CPU based STM32 MCU韌體課程 之 中斷(Interrupt)機制: NVIC基本原理與應用 教材實驗影片
課程內容將介紹其基礎原理觀念 與 實驗實作過程: 在基礎觀念原理方面,將會教導NVIC(Nested Vectored Interrupt Controller)中斷機制原理基本觀念,並說明何謂Interrupt Vector Table (中斷向量表);何謂Nesting、Tail-Chaining、Late-Arriving等feature;何謂Interrupt priority grouping、Preemption priority (group priority)、Subpriority、EXTI與NVIC實驗較相關的內容等等,並帶領學員觀看ST官方技術文件之相關對應內容;
而在實作實驗的部分,將教導學員使用STM32CubeMX tool搭配IDE如KEILC(MDK ARM)或者STM32CubeIDE進行操作,以及介紹由講師所提供的範例程式中的重要API函數與流程。
將兩者之preemption priority設置相同,UART exception無法搶占EXTI exception flow,按發生順序執行。 |
兩者之preemption priority設置相同,EXTI exception無法搶占UART exception flow,按發生順序執行。 |
--------------------
孫文良 (阿良的嵌入式系統技術學習區)
個人簡介: https://sites.google.com/view/wenliangsun/
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先參考 課程招生網頁連結】
後續追蹤更新:該學員後續也又有再錄取另一間系統廠(也是知名大型系統廠的EC韌體工程師職務),這份offer月薪是45K,多一個offer選擇,恭喜!
--------------------
阿良的嵌入式系統技術學習區
部落格作者(課程講師)簡介: https://sites.google.com/view/wenliangsun/
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先參考 這篇介紹文章】
本園區之FB粉絲專頁如下:
本區於之前已開設之課程:
(一) 嵌入式系統基礎理論與實務課程(包含業界職缺介紹)
-> 以麻雀雖小五臟俱全之8051 MCU為實驗教材(以紮實基礎理論與實務觀念為課程核心,對於初學者而言,其實不會有8051太老舊的問題,希望初學者奠定紮實基礎以利初學者學習與至相關產業就業)。
(1) 嵌入式系統基本理論觀念(包含類別、業界職缺介紹)主要將以講師本身的產業任職 與 多年來輔導朋友們的經驗,希望帶領初學者認識一般學校比較不會教的知識(到底何謂嵌入式系統?有哪些分類?在產業常見的工程師職務類別有哪些?韌體可以找哪些工作?可以去挑戰哪些公司?有何限制?),甚至有需要的話都可以也可以在此課程內做相關產業職缺的求職輔導。
(2) 在MCU實務的方面將包含基礎架構知識、指令集(組合語言實驗,包含各式定址法、8051記憶體系統架構、中斷機制等),標準8051內部各式周邊原理與驅動實驗(以C程式語言或組合語言實驗,視學員之基礎與學習狀況而定)
同時也向大家介紹一下近期小弟我這邊已開始著手準備、於未來即將開設課程:
(二) STM32 (ARM Cortex-M CPU based MCU)韌體開發基礎課程
-> 預計將會包含STM32 MCU應用基礎觀念、ST工具軟體與KEILC IDE(MDK-ARM)開發環境建置、常見周邊驅動原理與應用(如GPIO、UART、TIMER、I2C、SPI等等,以及中斷機制)
-> 預計將會包含系統基礎觀念、開發環境建置、系統各階段軟韌體建置(bootloader、Linux kernel、filesystem、basic application program、裝置驅動程式(Linux device driver)基礎觀念 等項目)之教學
上述這些都是以現在國內多數的大學院校普遍教得比較隨便(或太淺,或缺乏業界實戰經驗觀念)、但是對任職韌體研發工程師相關職務相當重要的課程內容。
若有一定的學員需求和市場,上述課程將會於後續再拆分出更細緻的課程項目。
另外上述內容也可依學員自身的基礎、需求與學習狀況與講師共同討論客製化個人專屬課程內容方向。
相關文章: 【這個學習區開設的課程目標是什麼? 要找科技業軟體開發相關的工程師工作,不是靠名校碩士學歷或者刷Leetcode比較快嗎?】
講師個人學經歷簡歷: https://sites.google.com/view/wenliangsun/
- 講師本身具備 產業界開發經驗(兩間知名IC設計公司之 軟韌體公版 與 系統應用工程開發),兼具軟體、韌體與硬體開發相關技術背景,亦曾於中小企業擔任產品研發顧問,了解相關產業對於人才技術基礎方面的需求
- 講師長期接觸學術界,了解國內大學校院於嵌入式系統軟韌硬體技術教學方面的不足與缺漏
- 主要以 一對一家教模式 或 極小班制 的方式授課
- 可按照每位學員的不同狀況與需求(如就業內容需求)針對授課內容進行 客製化安排規劃
- 上課時間可自由動態調整(與講師雙方討論確認即可)
- 上多少課程付多少費用,上課費用每次結清,可自由決定上課時數,不必被強制綁死整個系列課程,不須要在事前就將系列課程的所有費用付清
- 不好高騖遠,從具體而微之較簡易之嵌入式硬體平台開始切入,著重重要基礎觀念與技術的養成,也並非只是手把手按照範實驗例照本宣科的那種表面上讓高規格的硬體平台功能能動就好的課程
- 可從嵌入式軟韌體相關產業職缺與狀況之相關觀念開始輔導,並非一般補習班之制式化課程
- 可協助產業界企業公司進行人員之嵌入式系統相關技術培訓輔導
孫文良 (阿良的嵌入式系統技術學習區)
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】
歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊,請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)
不論是Intel早期的MCS-51 PROGRAMMER'S GUIDE AND INSTRUCTION SET(如下圖),或者8051界的Bible原文書: The 8051 Microcontroller and Embedded Systems (2nd Edition)原文課本(作者為Mazidi, Muhammad Ali, Mazidi, Janice G., McKinlay, Rolin D.)內容中的P.326的Figure 11-4.及P.329的Figure 11-6.內文敘述都表示外部中斷旗標(flag)也就是IEx(x是0或1)是在偵測到外部輸入falling edge signal trigger 的時候才被set(設為1)。
(註: x為0或1)
![]() |
Intel的MCS-51 PROGRAMMER'S GUIDE AND INSTRUCTION SET之對應內容 |
也就是如下圖狀況所示(按其原意並自行繪製):
![]() |
Intel MCS-51手冊與8051原文書所述之中斷旗標觸發方式/機制 |
但是,從近代實際在課堂上常使用的8051 MCU款式AT89S51/AT89S52的Atmel AT89S51/AT89S52 datasheet裡面可看到,無論是選擇falling edge trigger或者low level trigger(藉由對ITx暫存器位元的寫入設定值來選擇)觸發,當這兩種條件之中的任一種條件達成時,都會使得外部中斷旗標(Flag)也就是IEx(x是0或1)被set(設為1),如下圖(圖片來源為Atmel AT89S51/AT89S52 datasheet)。
![]() |
AT89S51/AT89S52的Atmel AT89S51/AT89S52 datasheet之對應內容 |
(註: 當然了,這幾年在許多大學的MCU或名稱為微處理機系統及介面技術的相關課程上,其教材都被改為Arduino的淺層使用,但是卻沒深入MCU的細節原理了,故相對沒辦法太紮實)
由上述內容可看出差異,或許是後來的8051(AT89S51/AT89S52等款式)被改良了。因為如果按照早期那樣的方式/機制(官方手冊與原文書所示),在希望使用low level trigger方式的情況下就只能使用中斷而無法藉由去輪詢(polling)旗標狀態的方式去偵測外部輸入到INTx腳位的low level signal,在開發使用上相對就沒有那麼的自由。
--------------------------
孫文良 (阿良的嵌入式系統技術學習區)
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】
我是孫文良,因為希望能實現一些理想和分享一些理念
所以開設了 阿良的嵌入式系統技術學習區
如同我的簡歷所示,個人在學生時期就開始接觸一些實作專案並且也有許多參賽獲獎的經驗。而自研究所畢業後,有些在產業界工作的經驗,也曾在一些科技大學擔任業界講師
目前也持續和產業界公司合作,兼任產品研發顧問
相關的證明照片如網址(權限公開,不必登入也可看到):
https://www.facebook.com/media/set/?set=a.161265529036225&type=3
一直以來,由於個人的求學與產業經驗,看過許多事,有著許多感慨,一直希望能 減少產學落差 以及 振興技職教育體系(國內的大學都不做,而許多號稱技職體系的科技大學大多也不重視產業實務,那我就自己想辦法來做,專業技職/技術教育本來就是國家產業之所需。雖然我個人經常是在做狗吠火車的事情,但是這裡畢竟是自己的國家/家鄉,那就堅持繼續做這些有意義的事吧,這樣日子也會過得踏實且開心點)
故,若有技術基礎輔導需求的產業公司單位 或 個人,都歡迎來信洽談合作
Q: 為什麼要用8051這麼老舊的MCU/單晶片做為實驗平台?
A:
--------------------
孫文良 (阿良的嵌入式系統技術學習區)
個人簡介: https://sites.google.com/view/wenliangsun/
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,請先參考 課程招生網頁連結】