總網頁瀏覽量

2021年1月29日 星期五

【課程介紹】本學習區已開設之嵌入式系統軟韌體技術課程 簡介

本區於之前已開設之課程:

(一) 嵌入式系統基礎理論與實務課程(包含業界職缺介紹)

-> 以麻雀雖小五臟俱全之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等等,以及中斷機制)





(三) Embedded Linux on 嵌入式微處理器系統開發板(預計會是beaglebone black或類似的開發板)
-> 預計將會包含系統基礎觀念、開發環境建置、系統各階段軟韌體建置(bootloader、Linux kernel、filesystem、basic application program、裝置驅動程式(Linux device driver)基礎觀念 等項目)之教學


上述這些都是以現在國內多數的大學院校普遍教得比較隨便(或太淺,或缺乏業界實戰經驗觀念)、但是對任職韌體研發工程師相關職務相當重要的課程內容。

若有一定的學員需求和市場,上述課程將會於後續再拆分出更細緻的課程項目。

另外上述內容也可依學員自身的基礎、需求與學習狀況與講師共同討論客製化個人專屬課程內容方向。


  • Q&A

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


  • 課程特色

講師個人學經歷簡歷: https://sites.google.com/view/wenliangsun/

- 講師本身具備 產業界開發經驗(兩間知名IC設計公司之 軟韌體公版 與 系統應用工程開發),兼具軟體、韌體與硬體開發相關技術背景,亦曾於中小企業擔任產品研發顧問,了解相關產業對於人才技術基礎方面的需求

- 講師長期接觸學術界,了解國內大學校院於嵌入式系統軟韌硬體技術教學方面的不足與缺漏

- 主要以 一對一家教模式極小班制 的方式授課 

- 可按照每位學員的不同狀況與需求(如就業內容需求)針對授課內容進行 客製化安排規劃

- 上課時間可自由動態調整(與講師雙方討論確認即可)

上多少課程付多少費用,上課費用每次結清,可自由決定上課時數,不必被強制綁死整個系列課程,不須要在事前就將系列課程的所有費用付清

不好高騖遠,從具體而微之較簡易之嵌入式硬體平台開始切入,著重重要基礎觀念與技術的養成,也並非只是手把手按照範實驗例照本宣科的那種表面上讓高規格的硬體平台功能能動就好的課程

可從嵌入式軟韌體相關產業職缺與狀況之相關觀念開始輔導,並非一般補習班之制式化課程

可協助產業界企業公司進行人員之嵌入式系統相關技術培訓輔導


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

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

2021年1月19日 星期二

【8051 MCU】關於外部中斷旗標(IEx)被觸發的條件探討──Intel MCS-51官方手冊、Bible原文書與AT89S51/AT89S52實際狀況之差異

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

不論是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,亦可先點擊參考這篇介紹文章