總網頁瀏覽量

2021年3月23日 星期二

【STM32】【課程介紹】使用STM32CubeMX + KeilC(MDK-ARM) 的 STM32 (ARM based MCU)開發環境建置 開課啦

使用STM32CubeMX + KeilC(MDK-ARM) 的 STM32 (ARM based MCU)開發環境建置開課囉

主要包含以下內容:

- STM32CubeMX這款initialization code generator工具的基本使用操作

- KeilC(MDK-ARM) IDE 基本下載安裝(評估版)與使用操作

- 兩種韌體燒錄方式教學

   (1) 透過ST-Link(V2) debugger進行燒錄(以STM32 MCU之Serial Wire Debug介面進行燒錄搭配KeilC debug模式的基礎操作教學)

   (2) 搭配使用ST官方的flash loader軟體以及UART轉USB轉換線/模組,藉由STM32 MCU的USART1進行燒錄

- 基本簡易GPIO輸出驅動範例程式DEMO與教學(驗證開發環境)

- STM32 MCU基礎架構/觀念(包含帶學員瀏覽官方技術手冊)

[實際內容將可能視學員之實際狀況與進度進行調整]


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

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

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

2021年3月21日 星期日

回想起幾前年和前成大電機系羅錦興教授的一些討論

 最近回想到幾年前還在科技業上班的時候,曾經和已故的前成功大學電機工程系資深教授—羅錦興老師有過一些討論,

羅教授除了在信中提到他發展中醫的事情之外(相當敬佩,推廣中醫並進行相關研究是對社會有很大貢獻、而且是很不容易的事),

我們討論到一些關於技職科大的方面的議題,羅老師提出了一些看法和建議:

1. 台灣教改的錯誤讓台灣經濟開始吞下苦果。

2. 從技職來,當回到技職,研究技職如何和產業接軌,這最為重要。

3. 現在當大學教授看來不容易,尤其技職大學一一倒下,慘不忍睹,不知誰能救?國立大學無端擴編,讓私校難以生存,技職有苦難言,不管公立或私立。若想當大學老師,建議從技職著手,朝產業(類型)博士發展,負責讓技職和產業接軌。

我認為羅教授的這些建議相當中肯實在,至今銘記在心。

自從上面的信件討論之後,一直都有和羅老師保持聯絡。而後來也有回成大當面拜訪羅教授,在結束會談之後,他還很親切的騎機車(當天他沒開車來學校)從成大自強校區載我到台南後火車站搭車。

如今現在回想起來,讓我有不少的感觸,也相當感謝他當時的鼓勵和這些寶貴的建議。而這些建議也是我今天會離開科技業去推廣技職教育和技術課程的主要動力來源之一。

而關於科技大學的方面,很可惜也很遺憾,在台灣,不要說產業博士(真正意義上的產業博士,不一定是教育部在推的那種),其實連真正的技職學校都已幾乎不存在了,願意和產業接軌的掌權者也很少(當然我們的產業也是有一些問題),所以勢必得按照情況的變化而調整作法,但核心目標方向卻是始終如一的。

也很感恩,在這一路上,雖然見識到了許多體制內的誇張黑暗面及務虛,但也有一些像是羅教授這樣的好教授們的支持/鼓勵/合作/交流,讓我在達成理想的道路上有源源不絕的動力和溫暖。

2021年3月18日 星期四

【課程內容介紹】本學習區之嵌入式系統SoC/MCU晶片內部IO Port結構、Open-drain(開汲極)、Push-Pull output(推挽式輸出)等相關課程內容介紹

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

近期在對擔任韌體開發工程師的學員進行授課的過程中,以8051 MCU作為實驗目標教材,介紹到了8051 MCU四組I/O Port的內部硬體結構和運作原理,


尤其是Port0的部分,因為其兼顧作為8051存取外部記憶體所使用的Address/Data bus的IO Port,當談到如何將其作為一般用途的IO Port(GPIO)時,也會介紹到Open-drain(開汲極)與外加Pull-up resister的相關原理,也會藉由ST官方的STM32 MCU AN4899這份AP note資料手冊的GPIO內部結構圖來額外補充Push-Pull output(推挽式輸出)的概念。


ST官方 STM32 MCU AN4899 AP note

並且會說明在軟韌體層面(以組合語言/指令集說明),是如何與上述的IO Port硬體運作進行相互作用/搭配而共同完成開發者肉眼可視的這些IO功能。

此外,關於8051 MCU之Port0搭配Port2作為存取外部記憶體所使用的Address/Data bus的相關原理的部分,雖然現在的MCU很少直接這樣做了,但是仍為學習底層相關原理的一個重要概念,故仍然會在課程內對學員進行說明。


相關文章:

1.【課程介紹】本學習區已開設 & 未來即將開設之嵌入式系統軟韌體技術課程 & 課程特色!

2. 許多人對於8051 MCU常有的錯誤觀念討論與闢除 (2020/10/12更新) 


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

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

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

2021年3月8日 星期一

什麼是嵌入式系統?

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

許多人都聽說過嵌入式系統,包含許多學生、教師甚至是從業工程師,即便這是個在工程界常聽到的名詞,但卻常常有人對此名詞感到困惑。

但到底什麼是嵌入式系統呢?

我們可以看一下Wikipedia上面的定義說明(該內容重點也符合英國電機工程師協會的定義)

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electrical system.

從上述內容我們可以看出,簡單來說,嵌入式系統就是一種整合了電腦處理器、記憶體、I/O周邊裝置等單元、具備特定功能的電腦系統 (常被應用於電子系統或者機械系統之中)。

嵌入式系統的整合應用隨處可見,只要是具備電腦系統在其中的產品,都是嵌入式系統的範疇。例如冷氣機、洗衣機、平板、手機、數位電視、數位機上盒、智慧穿戴手環等等。

當然現在的手機或平板電腦的功能越來越廣泛,就嵌入式系統的定義來說顯得有些模糊了,但因為仍是裝置類型的產品,且主要以通訊功能為主,所以仍可歸類為嵌入式系統(和廣泛用途的PC個人電腦系統仍有不少差異)。

而我過去最常見到的錯誤認知是:

• 有些純軟體背景的人認為,嵌入式系統就是指Embedded Linux或者做Linux kernel相關內容

事實上,Embedded Linux是執行在某些嵌入式平台上面的的作業系統軟體,而不論是SoC或者MCU或者Embedded Microprocessor平台,即便其執行的軟體不屬於OS軟體(或RTOS),而可能只有跑non-OS的韌體程式(例如做一些做硬體控制或感測器訊號的擷取),這當然也是屬於嵌入式系統。

而雖然如果是有跑Embedded Linux的嵌入式系統,其中當然有Linux kernel,但其實這就較偏向於作業系統的範疇,因為Linux kernel也可能是PC上的Linux kernel,不能以此概括嵌入式系統,因為嵌入式系統是一個系統而不是單一個部分而已(同樣的,如果一個系統只有純電子電路,而沒有任何的電腦單元在其中,那也不屬於嵌入式系統)。

一樣都是嵌入式系統領域,卻常因人們各自不同背景而有不同的解讀或理解。所以在這裡特別作個說明,也建議閱讀下列相關文章。

相關文章:

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

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

3.  MPU/MCU/Embedded Microprocessor/Embedded Processor名詞定義探討與整理

4. 許多人對於8051 MCU常有的錯誤觀念討論與闢除 

5. 【課程介紹】本學習區已開設 & 未來即將開設之嵌入式系統軟韌體技術課程 & 課程特色!


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

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

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