總網頁瀏覽量

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月22日 星期一

原來好多學術論文都是這樣來的啊? 難怪很少業界公司願意花錢買論文來看

最近聽到一位所謂國內名校普通大學工程系所的資深教授跟研究生說: 

"我們資訊(工程)領域的paper(論文),關於論文題目所使用到的硬體規格之類的內容(言下之意是實際實驗技術的部分),不必詳細寫出,我們主要都看paper內的邏輯大致上是不是對的,這樣就好"

什麼!??? 這種工程領域的實作題目的論文裡面的技術內容不用寫得太詳細? 那要這些paper幹麻??  科學實驗的可重複性原則咧?? 自己看不懂的就不用寫出來喔? XDD

......恍然大悟,難怪一堆表面上等級頗高的國際期刊論文會變成不是浮濫就是投機的垃圾論文,反正屬於比較專業的部分(細節)一堆教授自己根本看不懂,而且也不想學,

原來是這樣啊,好個專家學者,好樣的!

不用放code、不用放電路圖、不用放開發板和晶片的規格,只因為很多教授都看不懂?  只要放一些數學式子和流程圖,但不用管這些數學式子和流程是否真的有被實作開發出來?  那要如何證明這些演算法(數學式+流程)有被正確且完整開發? 如何驗證其論文提出的方法的實際可行性??  

學術不應該要是最嚴謹的嗎??結果一堆基礎關鍵反而都可以跳過?

而且其實按照我的經驗...很多教授平常也不一定深入仔細去看這些數學是否完全正確,變成只有看論文的"大概"和"外表"。

科學實驗的可重複性原則,在實際的學術界,恐怕早已被一大堆根本沒有足夠的專業基礎的長年高薪穩定的教授們給拋在腦後  (再次強調,大學裡面也是有一些觀念務實的好教授好老師,我就有認識一些好老師。但是,專業基礎嚴重不足、搞不清楚實際狀況、務虛的真的教授也是超多...而且位階都還不低)

如果只想看結果或者作夢,不想面對現實,那一點都不科學,如果連專業的基本基礎都沒有,其實也沒資格稱得上是在做研究(所謂研究應該是較進階且較深入的)。


此外,這件事情也勾起我的一些印象

大家都知道可重複的實驗結果是科學學術進步的基礎

但我自己之前看了一些國際期刊論文,常常都有種些奇怪的感覺

一堆跟自己專長相關領域的期刊論文都不寫技術細節是怎樣? 我明白這或許是期刊的文化

但問題是這樣的論文是怎麼可參考? 掰故事都能掰阿,誰知道實際上到底有沒有真的有做(按照其宣稱的那樣)?

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