目前分類:嵌入式系統 (51)

瀏覽方式: 標題列表 簡短摘要

在台灣,許多人用了ARM based的MCU/SoC為主晶片的板子,就以為自己在學ARM,其實一輩子都完全沒真正接觸過ARM processor的內容,所以可見很多人其實根本不曉得自己口中的ARM到底是是指什麼/講什麼,也沒有很清楚自己做了一堆周邊應用但到底在實作什麼挖糕,其理論基礎對應的學科我想應該是計算機概論。

十幾二十年下來,這早已經變成嚴重的以訛傳訛。這類似的觀念在台灣真的很多。

另一個例子,有不少人以為學80x86原理沒意義,但其實Intel 在2016年所推出的Inte lQuark系列微控制器(MCU) D2000就是基於1993年推出的Pentium CPU。平台和技術年份根本不是重點,哪時會被拿來套在新平台或衍伸出新技術都不一定。用什麼款式的平台去學基礎其實不是該執著的點,只要適合學習即可。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

多年來對於嵌入式系統領域的開發與教學經驗讓我感受到,多數產業公司找工程師來開發產品的功能目標是應用,但是開發技術的訓練/基礎奠定的過程,絕對不適合是應用導向 (例如單純call API/現成函數而沒有深入了解其原理細節),不能只是用現成的模組和函數去湊出功能,起碼要了解最基本的基礎觀念與系統架構。以背後設計原理為主,不以主打看到花俏功能為目標,所以我的教學基本上不會強調及主打主流媒體喜歡提及的AI、IoT及應用功能,而是著重在軟韌體開發的細節(如C語言的語法細節原理、軟硬體系統架構),主要希望栽培開發所需要的基礎。

因為在真實去產業界做真實的產品開發階段(嵌入式系統軟韌體/軟硬體整合),不太可能都只純粹依靠那些高度現成的開發板及太過上層的API做應用(即便是使用API也常要懂其背後原理,也可能是要從更底層去做開發),因為實際做產品開發和純創意maker角度需求、所需的背景基礎程度大多是不同的。

在訓練課程中,一旦主打應用功能或者花俏的趨勢 (AI或IoT應用功能之類的),就容易掩蓋掉基礎,而讓初學者誤以為自己會了,但其實只是綁在某塊開發板及其現成的範例程式或函數(常見的例子就是使用標準Arduino API函數所集成的範例程式去兜出應用功能,而沒有去懂更進一步的原理)。而實際上要從頭開發(或較有深度的開發)時,就會發現自己其實沒有具備該有的能力和觀念(其實即便是應用這些API,要做好產品也是需要懂原理,否則將容易產生許多問題)

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

歡迎電機電子資工本科系學員,也很歡迎非電機電子資工本科系的學員加入學習嵌入式系統技術/尋求轉職成為研發工程師的行列。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

幾年前和一間設計開發MCU微控制器的上市櫃公司談合作,他們招募韌體研發工程師的面試考題內容涵蓋電路基礎和C語言。

考題內容包含: 橋式全波整流的交流電轉直流電的電路設計、OPA反向放大器、非反向放大器、BJT/FET極性與基本開關電路設計、計算某個PCM(Analog to Digital)應用所需的記憶體空間等。

雖然該職缺要求國立大學碩士畢業,但其實這些面試考題 比 高職電子科/資訊科/電機科所教的學科還要簡單不少,正規高職電類科系的理論深度其實更深很多。但按照主管說的情況是,來面試的碩士畢業應徵者大多也沒能力把這些考題給回答完整。

而後來和該司的副總經理討論,他自己是普通大學畢業,但他也覺得其實在MCU韌體、軟硬體整合設計系統工程方面的職務上,似乎有技職教育歷程的畢業生的表現較好 (說真的,以我自己曾經在IC設計公司負責面試應徵者的經驗也是這樣)。故經過討論後,他們也有想開始去調整職缺對於學歷的要求。

這事情讓我頗有感觸,台灣的產業其實應該可以多了解一下教育端的實際狀況。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

近期將開在 清華大學 財團法人自強基金會的 嵌入式Linux系統基礎建置課程

 ARM Cortex-A based平台之嵌入式Linux作業系統基礎建置實作 (結合板材實作)(自備NB) 熱烈招生中

2024/7/7(日)~8/4(日),每週日,9:00~16:00,共30小時

課程時間更改為: 2024/8/4(日)~9/1(日),每週日,9:00~16:00,共30小時

課程與報名網址:

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

TI AM335x SoC系統晶片之GPIO驅動操作流程】

作者林普賢 ( sam91001200@gmail.com )、 孫文良iws6645@gmail.com )

首先要去看開發板的電路圖。這裡以Beaglebone green wireless這塊開發板(dev. board)為例,在以下網址可以找到此開發板的電路圖。

https://wiki.seeedstudio.com/BeagleBone_Green_Wireless/

(註: 而我們實驗時所使用的Beaglebone green wireless與Beaglebone Black這兩塊板子上面的系統晶片SoC同為TI的AM3358,所以在此二塊開發版上,其驅動GPIO的方式是同理的。)

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

如圖

Intel 8051 MCU的user manual有被MI

 

------

歡迎各方洽談合作,務實/踏實追求共好。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(1) 人氣()

近期開班嵌入式系統韌體授課,來上課的工程師學員有包含來自 聯發科技、華碩電腦、日立 等知名企業的工程師學員。

學員的學歷有 雲科大電機工程碩士、台大光電工程碩士、成大電機工程碩士、成大醫學工程碩士、淡江機電工程學士、中正大學外文學士、交大工學碩士等。

近期來上課的學員之 學經歷背景,包含: 聯發科技、華碩電腦
 
近期來上課的學員之 學經歷背景,包含: 聯發科技、華碩電腦
文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(1) 人氣()

課程名稱: [台北全新規劃] ARM Cortex-A based平台之嵌入式Linux作業系統基礎建置實作 (結合板材實作)(自備NB)

課程資訊: 

https://edu.tcfst.org.tw/web/tw/class/show.asp?tcfst=yes&courseidori=12C049&fbclid=IwAR3JVkpyck1OLPxWBqcUK0dJOd3bTdO0WekH4xh1K7zn-vo5CEFMxylU8ig

上課時間:

2023/12/2~12/30(六)每週六,9:00~16:00共30小時 

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(1) 人氣()

今年受到 清大 自強工業基金會 台北教育中心 邀請合作開課,目前開設課程如下 (於十月中旬的周六&周日開始):

(1) 課程代碼:12C049
[台北全新規劃] ARM Cortex-A based平台之嵌入式Linux作業系統基礎建置實作 (結合板材實作)(自備NB) 熱烈招生中
https://edu.tcfst.org.tw/web/tw/class/show.asp?tcfst=yes&courseidori=12C049

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

許多產業公司的MCU韌體工程開發相關職缺條件中,仍會強調8051基礎 ,在我過去的許多篇文章中也已有多次說明,在此再次舉例

以PC BIOS知名美商 鳳凰科技(PHOENIX TECHNOLOGIES INC)的 EC / MCU Firmware Engineer職缺內容為例,請參見下圖 (來源為該公司於104人力銀行網頁所刊登之 EC / MCU Firmware Engineer職缺內容 )

 

------

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

多年前還在讀碩士班時,覺得這本電子電路的書籍(如下圖,來源連結)很不錯(並非刻意幫該書籍打廣告)。雖然後來是以嵌入式系統軟硬體整合開發為主(包含沒有作業系統以及有作業系統的系統軟韌體開發以及周邊電路整合設計),但從高職開始接觸這些始終覺得很有親切感。

來源連結



不過印象深刻的是,當時在成功大學工程科學系資訊組(資訊工程與應用組)的研究所讀碩士班時,該組的所有師生,除了自己之外,幾乎完全沒有其他任何人對於類比電子電路有基礎及興趣....(甚至對數位電路有興趣的也不多),只有一位大學部專題生跟著我做一些相關方面。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

最近對於一位AIoT相關產品開發的軟韌體工程師學員於其開發過程中所遇到的 Arm Cortex-A9 processor(with MMU) based SoC/MCU(廠牌為 瑞薩/Renesas之 bootloader、chip internal/external RAM的access以及對應的flow、linker script等方面的相關問題和狀況進行解析及說明。

 

 
-------
文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

有感而發,隨手寫個基礎小觀念分享。

長年來,看過不少背景較偏向純軟體的工程師、成大的學生、成大碩士論文裡面,常有人把嵌入式系統的板子的 「開發板」(development board) 給 誤寫成 「開發版」。

可參考下圖正確的字詞: 「開發板」。

 
文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

 

------

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

‼本園區開設之技術課程進一步詳情請參見下方blog網頁的課程介紹👇:
文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

下圖是 偉詮電子(老牌知名Fabless IC設計公司)網頁 ,列出他們於2022年6月推出的8051 (52)系列MCU產品 (http://www.weltrend.com.tw/zh-tw/product/index/13)
 
http://www.weltrend.com.tw/zh-tw/product/index/13

 
下一張圖則是 鉅亨網新聞: "MCU廠固產能 笙泉擬發公司債2億元" (記者魏志豪 台北2021/06/15) https://news.cnyes.com/news/id/4661532 的內容
https://news.cnyes.com/news/id/4661532
 

過去我已經說過N次了,8051系列的MCU,依然活耀於產品市場[1]-[3],

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

即便你只要隨便看一下 維基百科(Wikipedia)上面有關8051 MCU的介紹,就會馬上看到:

The Intel MCS-51 (commonly termed 8051, typically pronounced eight-oh-five-one) is a single chip microcontroller (MCU) series developed by Intel in 1980 for use in embedded systems [1]. 

或者隨便查一下嵌入式系統(embedded systems)的介紹,同時也會知道MCU(微控制器)與傳統所稱「微處理機」(ordinary/general microprocessors)的差異: 

Modern embedded systems are often based on microcontrollers (i.e. microprocessors with integrated memory and peripheral interfaces), but ordinary microprocessors (using external chips for memory and peripheral interface circuits) are also common, especially in more complex systems[2]. 

即便上述資料是如此的詳細且易於查詢,但還是會有許多人會誤以為有跑Linux之類的OS的系統才算是嵌入式系統(embedded systems)、誤以為許多跑Non-OS firmware的MCU based的系統就不是嵌入式系統;還有很多大專院校的電機電子資訊相關系所教授和許多業界主管/老闆們還是一天到晚「微處理機」、「微處理機」的去稱呼MCU。這些就是所謂的以訛傳訛,而這些以訛傳訛呢,可能幾十年來皆存在於許多學生、大學教授、業界工程師、業界高階主管之間。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

昨天替一位有十幾年業界經驗的工程師學員上課 (嵌入式系統基礎課程,該學員希望未來有機會轉職嵌入式系統韌體程式開發),

到了ADC (Analog to Digital Converter)基礎應用原理與實作應用的單元。

實驗平台使用ADC0804 (沒想到在過了十年後,又接觸到這顆IC),雖然這顆IC的型號款式似乎停產(?) 目前在各大通路都缺貨導致價格昂貴 (似乎有些地方的賣價漲到單顆IC數百元),

且這顆ADC0804是並列輸出(Parallel Output),現在的產品或許應該已經很少會用這顆IC。現在許多ADC都已整入於MCU/SoC之中,就算外接通常也會使用串列輸出(SPI、I2C)類型的ADC chip(例如Microchip的MCP30XX系列ADC)。

但是,這顆ADC(ADC0804)拿來作為嵌入式系統韌體初學者的教材仍然很好用,其中許多基礎包含MCU IC 與 周邊IC 之間的整合,還是有值得初學者學習之處,

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

負責電腦系統底層系統的軟韌體工程師,可以完全沒有任何硬體電路基礎背景嗎?

舉個例子,

如果軟韌體工程師沒有一點硬體背景,碰到MCU/SoC晶片外部沒有或漏掉被上料(接上pull up resistor), I/O又沒有enable internal pull-up resistor,那I/O狀態如果又是open-drain output,許多週邊裝置根本連動都不會動,因為根本無法輸出digital high level voltage,例如I2C。

而對於應用功能開發而言,軟韌體工程師又是首當其衝。

就算去查軟韌體程式碼查到天荒地老都沒用,因為根本不是軟韌體程式碼的問題。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

【從事嵌入式系統軟韌體開發,絕對不能只有看到表層的應用功能,而是要能掌握「電腦」系統】

Joseph Yiu這位作者的The Definitive Guide to ARM® CORTEX®-M3 and CORTEX®-M4 Processors (Third Edition), 2014部分內容有被放在ScienceDirect網頁上(知名學術期刊出版商Elsevier的書籍線上收錄網站),例如關於ARM Cortex-M0/M3/M4 CPU的Exception Return Mechanism的這部份(如該網頁內容): https://www.sciencedirect.com/topics/engineering/exception-return-mechanism?fbclid=IwAR3A4jgqY7IzOIe1vH4iE9qn1cSe0sNHsG_ab4EPyTU-X2R605APd8zYPYg

或者像是Interrupt Vector Table這個部份 (包含數位作者的著作部份內容):https://www.sciencedirect.com/topics/engineering/interrupt-vector-table

 

你會發現,相較於8051,其實ARM Cortex-M CPU的硬體豐富些、複雜些, 但想要達成的目的(基本原理)是一樣的,或者說是延伸發展而來的。相較於8051內的CPU,ARM是用更豐富的硬體(相對的也變複雜)來達成一些機制目的,算是一些優化的行為。

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

 👇延伸上次的GPIO基礎學習說明

❓許多初學者或工程師朋友們常會問我,想學好嵌入式系統基礎,到底該學ARM、8051還是PIC? 該學習幾位元的CPU平台?

🥸首先,我建議應該先了解這個問題是在「問什麼」,什麼是ARM?

ARM是CPU,而8051和PIC是MCU,朋友們可自行想想看,CPU和MCU是一樣的東西嗎?

又,假設初學者只有呼叫過(複製貼上、頂多改參數/引數) 人家所寫好的API (例如開源社群 或者 IC Design公司的軟韌體單位 所提供的API Library函數庫)來驅動MCU作事(完成功能)的話,

文章標籤

阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()

1 23
Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼