總網頁瀏覽量

顯示具有 程式設計 標籤的文章。 顯示所有文章
顯示具有 程式設計 標籤的文章。 顯示所有文章

2022年8月30日 星期二

又有產業公司來洽談MCU嵌入式系統韌體課程合作事宜,歡迎!

 


-----

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


‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:
本學習區之Facebook粉絲頁如下:

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

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

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


2021年7月29日 星期四

【課程內容介紹】STM32 MCU韌體課程 之 中斷(Interrupt)機制: NVIC基本原理與應用 課程簡介

下方影片為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函數與流程。

將UART preemption priority設置較高,UART exception搶占EXTI exception flow



將兩者之preemption priority設置相同,UART exception無法搶占EXTI exception flow,按發生順序執行。




兩者之preemption priority設置相同,EXTI exception無法搶占UART exception flow,按發生順序執行。



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

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

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

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







2021年7月19日 星期一

賀! 機械科系畢業之學員,錄取知名資通訊企業之EC韌體工程師職務!!


🎉❗❗❗❗🎉

接受本園區課程輔導的 方姓學員(學歷為私立大學機械工程碩士),

錄取 知名資通訊系統廠 企業
Embedded Controller韌體工程師 職務

底薪月薪48K,恭喜
❗
❗


後續追蹤更新:該學員後續也又有再錄取另一間系統廠(也是知名大型系統廠的EC韌體工程師職務),這份offer月薪是45K,多一個offer選擇,恭喜! 

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


阿良的嵌入式系統技術學習區

部落格作者(課程講師)簡介: https://sites.google.com/view/wenliangsun/

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

本園區之FB粉絲專頁如下:

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

2020年11月14日 星期六

個人產業經歷相關證明 & 若有技術基礎輔導需求的產業公司與個人,都歡迎來信洽談合作

我是孫文良,因為希望能實現一些理想和分享一些理念

所以開設了 阿良的嵌入式系統技術學習區

如同我的簡歷所示,個人在學生時期就開始接觸一些實作專案並且也有許多參賽獲獎的經驗。而自研究所畢業後,有些在產業界工作的經驗,也曾在一些科技大學擔任業界講師

目前也持續和產業界公司合作,兼任產品研發顧問

相關的證明照片如網址(權限公開,不必登入也可看到): 

https://www.facebook.com/media/set/?set=a.161265529036225&type=3

一直以來,由於個人的求學與產業經驗,看過許多事,有著許多感慨,一直希望能 減少產學落差 以及 振興技職教育體系(國內的大學都不做,而許多號稱技職體系的科技大學大多也不重視產業實務,那我就自己想辦法來做,專業技職/技術教育本來就是國家產業之所需。雖然我個人經常是在做狗吠火車的事情,但是這裡畢竟是自己的國家/家鄉,那就堅持繼續做這些有意義的事吧,這樣日子也會過得踏實且開心點)

故,若有技術基礎輔導需求的產業公司單位 或 個人,都歡迎來信洽談合作

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,請先參考 課程招生網頁連結