總網頁瀏覽量

顯示具有 作業系統 標籤的文章。 顯示所有文章
顯示具有 作業系統 標籤的文章。 顯示所有文章

2026年2月5日 星期四

【週日全天班】ARM Cortex-A 系統晶片SoC之嵌入式Linux作業系統建置與系統實作(基礎) 團體面授


ARM Cortex-A 系統晶片SoC之嵌入式Linux作業系統建置與系統實作(基礎)】團體面授

  • 此課程須自備筆電(限Windows)
  • 隨課贈送(每人一套):SoC嵌入式系統開發板、相關材料及紙本講義
  • 本課程為確保教學品質(小班制),名額有限

2025年10月7日 星期二

【今年最後一班】2025年 11月 開在 清大自強基金會(台北)的 嵌入式Linux系統基礎建置課程

 🎉🎉🎉熱烈招生中🎉🎉🎉


✨\ 廣受好評 /✨

今年已經加開好幾次的課程了

請把握今年最後一班團體課程~

.

☝加開班[台北班] ARM Cortex-A based平台之嵌入式Linux作業系統基礎建置實作 (結合板材實作)(自備NB)

✅上課時間:

2025/11/22(六) ~ 12/20(六) ,每週六 9:00~16:00共30小時 


上課地點:

台北教育中心(台北市中正區博愛路80號3樓)


✅報名網址:

https://edu.tcfst.org.tw/web/tw/class/show.asp?courseidori=14C080&fbclid=IwY2xjawNRjvNleHRuA2FlbQIxMABicmlkETFYSXpZR09tdzZnTmhQQ2JUAR6okG9bzQklBi9BGN4i525OhCgJ30ISTGbuocDF_vWI12SkJUPwTIyvVkdoxA_aem_Ys5tjdiRiLWZSJS77Ehr7w


課程目標:

使學員在修習完本課程後,能夠具備在相關產業界公司進行產品開發過程所需的嵌入式Linux系統基礎建置的紮實觀念與實作能力。

 

課程特色:

(1) 課程內容包含嵌入式Linux系統建置的完整基礎,此外,講師除了教授學員實作步驟以外,亦會注重學員在實作過程與結果背後之核心基礎觀念之養成。

(2) 課程講師本身具備該課程領域之相關產業研發經驗(曾任職於知名IC design house產業),亦曾擔任產業公司之研發顧問、知名國立大學產學合作研發顧問,亦有多年輔導相關產業界工程師學員以及輔導非電資本科系學員之經驗。

 

修課條件:

具備Linux基礎指令操作相關基礎者尤佳,若無亦可。


✅課程大綱:

1. 大型作業系統軟韌體 V.S. 裸機韌體之差異介紹(基礎觀念)

2. 嵌入式Linux作業系統簡介

3. ARM Cortex-A based SoC大型系統晶片與開發板硬體平台介紹

4. 開發環境建置: Host PC端之PC Linux環境建置與基礎指令操作

5. 開發環境建置: GNU 交叉編譯工具鍊(Toolchain)建置

6. U-Boot Bootloader(開機啟動程式)編譯建置

7. Busybox Filesystem(檔案系統)編譯建置

8. Linux kernel (Linux作業系統核心)編譯建置

9. 簡易Linux Device Driver驅動程式1: 字元驅動程式

10. 簡易Linux Device Driver驅動程式2: GPIO驅動程式


✨\ 廣受好評 /✨

🌈請把握今年最後一班團體課程🌈


✅報名網址:

https://edu.tcfst.org.tw/web/tw/class/show.asp?courseidori=14C080&fbclid=IwY2xjawNRjvNleHRuA2FlbQIxMABicmlkETFYSXpZR09tdzZnTmhQQ2JUAR6okG9bzQklBi9BGN4i525OhCgJ30ISTGbuocDF_vWI12SkJUPwTIyvVkdoxA_aem_Ys5tjdiRiLWZSJS77Ehr7w


#嵌入式系統課程 #嵌入式Linux #作業系統 #科技業 #轉職 #跨領域 #團體課程 #韌體工程師 #韌體課程 #小班制


-----

歡迎各方洽談合作,務實/踏實追求共好。歡迎電機電子資工本科系學員,也很歡迎非電機電子資工本科系的學員加入學習嵌入式系統技術/尋求轉職成為研發工程師的行列。

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


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

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

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

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


2025年9月24日 星期三

沒有任何一篇學術論文,卻創造全球影響力:Linus Torvalds 與 Linux 開源傳奇

 



Linux作業系統核心(Linux kernel) 的發明者/長年主要核心維護者 : Linus Torvalds 的這一輩子 從來沒有 投稿過任何一篇 IEEE、ACM或其它任何 SCI 國際期刊論文 或 研討會論文、USENIX論文 (所以,他的學術論文發表數量是0,完全沒有,連1篇都沒有)。但是Linux作業系統真實的正面貢獻和影響了全世界數十年迄今,使用Linux作為其系統軟體的電子產品(Android/安卓系統 的 底層核心也是Linux kernel),在全世界已經累積數百億台,例如:手機、安卓智慧型手機、數位電視、數位機上盒、智慧音箱、車用使用者介面系統及各類的網路通訊設備等等,族繁不及備載。

Linus Torvalds在網路上公開發佈Linux kernel的初版原始程式碼時,是他就讀大學三年級的時候。而他從大學到碩士畢業,總共花了8年,因為時間和心力大多花在Linux kernel的開發上面。
而Linux作業系統也是開放原始碼(Open Source)的經典大型專案,其程式碼是開放、任何人都可參閱其細節內容,也可進行各種驗證實驗,完全是公開的。

如果你在 IEEE Xplore ( IEEE期刊論文及研討會論文的收納及搜尋平台/論文資料庫) 去搜尋 Linus Torvalds 的名字 (可設定搜尋欄位為Author也就是論文作者),也只會看過他曾經有一次受邀去IEEE的某場研討會去作主題演講(keynote), 那是在2018年,當時他暫時離開Linux核心開發社群。而他個人 並沒有任何實際的 IEEE 論文發表 ( 沒有任何的IEEE期刊論文或研討會發表)。但是IEEE反而曾經主動給他獎項,大概也是在沾Linus Torvalds的光。
(註: IEEE的全名是Institute of Electrical and Electronics Engineers,也就是 電機電子工程師學會,雖說是工程師學會,但實際上大多都是大學/學術界教授們在玩的投稿目標組織。)

如果你在Google scholar(Google學術搜尋)去搜尋 Linus Torvalds的名字,只會找到一些他的 技術文章/ 評論 / 專欄 / 觀點 或者 在研討會作keynote演講,這些都不是傳統的peer-reviewed(同行審查)的學術論文/SCI期刊論文,也就是以台灣的學術界/大學的標準玩法來說,這些幾乎都無法被認列為任何博士班畢業門檻或者教授升等門檻之類的論文發表績效(KPI)。所以他確實完全沒有任何學術界論文的投稿及發表,不過他的真實學術成就/專業成就早已經是不言而喻。

按照Linus Torvalds長期的發言內容或風格來看,他對學術界那些績效升等頭銜(個人利益)遊戲也沒興趣,也不會想要去拿什麼博士學位,這種專業技術成就及對全世界的影響力也無庸置疑,再多的博士學歷、教授頭銜也無法比擬。

包含Linux在內的電子裝置/設備的數量,在全世界已經累積數百億台。
並且學術界的計畫或論文,也大量在使用人家Linus Torvalds等人所研發/維護的 Linux作業系統。

Linus Torvalds等開源技術社群高手的風格,這是台灣應該去效仿的典範。在資訊化的時代,任何領域的學術研究過程及成果應該要盡量開源(open source),才能真正稱得上學術研究成果 (因為過程細節都可供檢視及延伸做為下一階段研究的基礎)。
而不是整天迷信論文發表數量績效和學歷,原因是基於大學/學術界論文績效制度玩法/文化的荒唐: 大多數的學術界論文根本不會有研究過程的細節,大多只會有說法、方法(故意列出漂亮的數學式,但有沒有實現、有沒有實現正確,除了作者以外沒人可以知道,但論文都顯示其實驗成果數據有多漂亮),以許多電資類的系統開發類的論文為例,例如嵌入式系統或IoT應用題目的論文即是如此。

況且如果沒花大錢去購買閱讀權 (光要閱讀每一篇IEEE研討會論文,就要付一千多元新台幣,大多是公立大學用納稅錢去買一堆期刊的閱讀權,價格非常高昂。又或者是Open Access開放式類型的期刊論文,其付費方式只是改為在論文被接受刊登錄取時付費,然後就可以被公開閱讀,這當然通常又是計畫經費納稅錢買單,通常每一篇論文 要付 新台幣 5萬多元 到 6萬元 上下。這些等同是相當封閉的圈子之下的玩法,反而極度缺乏科學的開放精神),所以有太多的垃圾論文及假論文 (為了拿到發表績效、學歷、教職、升等等利益而作,並非都純粹為了研究),以及其所延伸的碩博士學歷去創造更多的假成果,這些都基於納稅資源,實際上是非常嚴重的內耗。
綜上內容,客觀來看,並不是有學界的論文發表績效,論文績效一大堆都有自己的名字掛在上面,就代表是在做研究。許多人只是想要拿到體制內的個人利益 (透過體制內的績效數量遊戲去得到)。

反之,並不是沒有意願去搞學術界的論文就是沒有在做研究,開源技術圈其實太多沒有在玩學界論文發表績效遊戲的案例。
補充: Linus Torvalds不只是 從來沒有在 IEEE發表過任何論文,他也完全 沒有 在ACM或其它任何SCI學術界期刊、學術界研討會、USENIX組織刊物 發表過任何論文,完全沒有,連1篇也沒有,Never。

他的碩士論文: 《Linux: A Portable Operating System》有被那些學術界論文組織收錄,但 完全不是 他去投稿學術界期刊或學術界研討會的那種論文,並不是能被認列為博士班畢業門檻或教授升等的那種論文KPI績效。而他的碩士論文內容主要就是介紹他發明/開發的Linux OS kernel及其在可移植性(Portability)方面的設計/實作細節。

-----

歡迎各方洽談合作,務實/踏實追求共好。歡迎電機電子資工本科系學員,也很歡迎非電機電子資工本科系的學員加入學習嵌入式系統技術/尋求轉職成為研發工程師的行列。

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


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

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

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

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

2023年6月7日 星期三

著名的「鳥哥的Linux私房菜」網站/書籍 的 作者,是 崑山科技大學 的老師!

在資訊科技圈之中 相當著名的 「鳥哥的Linux私房菜」網站/書籍 的 作者 鳥哥 就是 蔡德明 教授,他已在 崑山科技大學 資訊傳播系 任教十幾年。

也許很多朋友不太清楚上述這個狀況,故在此分享。
 
長年來,許多台清交成等名校大學的相關領域師生,以及眾多產業界工程師,也因為 鳥哥的Linux教學網站和書籍 而受益良多。

而剛好從這學期開始,我自己也有幸至 崑山科技大學 兼任講師,實在是深感榮幸。

崑山科技大學 Kun Shan University
.


-----

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

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


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

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

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

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


2021年9月3日 星期五

【Embedded Linux(嵌入式Linux)系列課程】Root Filesystem之編譯建置與執行 課程簡介

Root Filesystem之編譯建置與執行 課程簡介

Root Filesystem為根目錄檔案系統。簡而言之,檔案系統為電腦資料的儲存和組織(架構)方式,與作業系統之間有著密切的關係

延續上一節Kernel之編譯建置與執行之課程內容後,這節課程將會帶領學員:

  • 課程實驗內容將透過 純文字指令方式(command line) 進行,符合科技產業界對於此類系統的開發方式

  • Host PC端之Ubuntu Linux開發環境中,取得Busybox這款知名的開源檔案系統建置工具的source code,並透過GNU Toolchain編譯工具對其進行編譯,以建置出給Beaglebone Blcak嵌入式系統開發板所運行使用的Root Filesystem(根目錄檔案系統)

  • 以Busybox建置製作Root Filesystem的過程,包含嵌入式系統目標平台上所需的基本目錄及裝置節點(device nodes)

  • 準備Busybox執行所需之動態連結函數庫(該課程主要實驗方式);也會額外補充介紹靜態連結的編譯方式。

  • 建立檔案系統所需之基礎檔案(如/etc/inittab、/etc/init.d/rcS、/etc/fstab......等等)

  • 如何讓執行於Beaglebone Blcak板子的Linux Kernel從SD卡掛載(mount)學員於課程內所建立的Root Filesystem 

實驗Demo影片:


從上電進行開機流程之後進入根目錄畫面,展示在Beaglebone Black板子上執行ls、cat /proc/interrupts及cat /proc/cpuinfo指令。



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

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

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

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

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




2021年8月23日 星期一

【好書介紹】電腦技術並不是只有軟體! 介紹一本介紹Intel 80x86為核心的IBM電腦系統軟硬體的好書

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

因為搞不清楚狀況的人很多(執著表面的年份、新舊),先介紹一款Intel 在2016年所推出的基於x86(1993年推出的Pentium) ISA Compatible CPU 的Inte lQuark系列 微控制器(MCU): D2000

該MCU內的CPU的類型是1993年推出的Pentium(本來是要被命名為80586) ISA Compatible的CPU,在這款2016年推出的MCU的Intel官方Datasheet內的介紹可見下圖紅框圈起處

- 其內部CPU info :

32 MHz, 32 bit, single core, single thread, Pentium ISA compatible (如果看不懂這是x86的人,請自己google一下,做點功課,或見下圖的Intel官方手冊內容)

https://static6.arrow.com/aropdfconversion/3675d6354c6d8ac364213bdd827aacc81c93c43d/119736798394079quark-d2000-datasheet.pdf


- 其內部I/O :

SPI, I2C, GPIO, SPI, Comparators, ADC, PWM, DMA, UART

- Wikipedia的Intel Quark系列介紹: 

Intel Quark is a line of 32-bit x86 SoCs and microcontrollers by Intel, designed for small size and low power consumption, and targeted at new markets including wearable devices. The line was introduced at Intel Developer Forum in 2013.

...... However, in 2016 Arduino released the Arduino 101 board[3] that includes an Intel Quark SoC.

https://en.wikipedia.org/wiki/Intel_Quark

- Datasheet

https://static6.arrow.com/aropdfconversion/3675d6354c6d8ac364213bdd827aacc81c93c43d/119736798394079quark-d2000-datasheet.pdf

- Wikipedia的Pentium系列內容介紹: 

https://en.wikipedia.org/wiki/Pentium

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

執著技術和平台的表面年份數字、或者人云亦云沒有必要重點在於是否合適

很多事情,尤其是電腦技術領域,真的不見得是越舊的年代的東西就代表完全過時無用,事實上有許多技術概念真的都是通用的,而去了解80x86和其相關系統設計的觀念,也是一樣的。

真實的專業研究之所以有價值,原因也在於此,技術不限於年份數字的這種表象,只要是適用、可解決或改善問題的idea觀念,都極有可能再拿出來被使用。

例如8051已經是40年的老MCU IP,但從台灣一線的IC設計公司公告的職缺內容可看出,至今仍有著需要了解8051的能力的工程師職缺,可參見我的下方PO文 (點選 查看更多)


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

先聲明,這篇不是工商服務廣告,單純介紹過去讀過的電腦技術類的好書

這本80x86 IBM PC and Compatible Computers Assembly Language, Design, and Interfacing Volumes I & II , 2002年出版,作者是Muhammad Ali Mazidi和Janice Gillispie Mazidi,出版社為Prentice Hall(Pearson)。

https://www.amazon.com/80X86-IBM-Compatible-Computers-Interfacing/dp/013061775X

中譯版書名為: IBM PC and Compatible Computers Design, and Interfacing - IBM PC系統設計與介面技術(第四版),東華書局出版,譯者為 方志鵬。 

這本書涵蓋了很多電腦系統的軟韌硬體基礎觀念內容,在當年(十幾年前,大約19歲的時候)給了我不少啟發。

和 計算機組織/結構課本(科目)的一個不同之處在於,這本書或這類的科目會實際介紹8086/8088/80286/.../Pentium等微處理器IC及一些組合語言程式之外,也會介紹一些關於 介面電子電路 以及許多周邊IC與硬體(如8288 bus controller、8284 clock generator、記憶體介接電路、Programmable I/O的8255、LM34/35溫度Sensor、ADC0848、DAC808、8259中斷控制器、8253 Timer、LCD驅動、步進馬達驅動、 DMA 8237、UART 8250、UART轉RS232電壓位準轉換器、硬碟、鍵盤、印表機、數學運算coprocessor、視訊、以及其它許多IC,包含與微處理器IC之間的各種實際訊號狀態)的內容。

雖然這本書介紹的許多IC的型號比較舊,但是許多基礎原理觀念至今仍是共通的(畢竟電腦技術就是這幾十年來持續演化)。

另外還包含一些支援OS的微處理器的特性基礎,如80386的user/supervisor mode、virtual memory、page table、TLB等觀念,到了高速記憶體介面與存取章節也有各種記憶體的介紹(DRAM、SDRAM、cache memory的存取機制、write through、write back、cache coherence等觀念。後續談到80486時也會介紹到Pipeline;Pentium章節會提到superpipeline、supersclar、Harvard architecture、pipeline hazard、compiler的instruction scheduling、RISC/CISC的特性比較、out-of-order execution、branch prediction;MS-DOS的結構、記憶體管理;PCI、USB bus;BIOS;MS DOS和BIOS的ISR (INT _ _H對應的ISR),涵蓋內容相當廣泛。

許多讀資訊工程系的朋友可能會不太清楚,這門課的名稱通常叫作微處理機與介面設計、微算機原理、介面設計,但現在在學校關於這種科目通常都是拿MCU(微控制器)的開發板來讓學生實驗,而不是像早期真的用微處理機(微處理器,如8086、Z80等)搭配一堆IC的兜成介面的方式來教了。另外,嚴格來說,這門課的範圍比計算機組織的範疇還廣(包含一部分計算機組織的內容),但通常學校只會教到這本書的內容的一小部分。外國的書像是現在介紹的這本比蠻有名,而台灣比較常見的書是台灣科大電子系林銘波老師所出版的一系列微算機原理書籍。

這是一門在本質上很偏向實務和基礎理論觀念並重的課程,許多大學在這方面的教學都很輕忽。此外,這科也並不是研究所指定考科,所以常被忽略,研究所考科通常是計算機組織結構,但是性質和內容仍有不小的差異。

而關於介面硬體電路的方面,是近年來許多國內大學的電資工程系所普遍比較不重視的一環,畢竟現成的硬體用慣了,就容易忽視其存在與重要性。

但其實電腦系統技術絕對不是只有純軟體,若沒有紮實的硬體系統(包含類比式與數位式硬體),軟體哪來的用處呢?就算現在的SoC和MCU的集成度很高,很多週邊硬體都整進去了,但是基礎觀念和介面電路還是少不了啊!



註1: 這裡講的微處理器(微處理機)就真的是傳統所指的 "微處理器"(Microprocessor),例如8086/80286/80386/80486/Pentium IC裏頭就是CPU單元, 而不是微控制器(MCU, Microcontroller)!   並且也不是在指SoC或MCU被稱作的嵌入式微處理器(Embedded Microprocessor)的狀況。

順帶一提,這本書在談到鍵盤的章節,也會介紹到標準IBM PC內的鍵盤內都會有一顆微控制器(MCU),該微控制器內含一顆微處理機(微處理器)、RAM、ROM以及幾個I/O Port,這裡很清楚就可以釐清微處理機和微控制器的差異!

註2: 這本書後續還有續作: The x86 PC: Assembly Language, Design, and Interfacing, 5/e,2009年出版, 作者: Muhammad Ali Mazidi, Janice G. Mazidi, Danny Causey)

https://www.tenlong.com.tw/products/9780135026489




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

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

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

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

2021年8月13日 星期五

【Embedded Linux(嵌入式Linux)系列課程】Bootloader開機啟動程式之編譯建置與執行 課程簡介

Embedded Linux系列之Bootloader課程簡介

Bootloader 為 開機啟動程式,其主要任務簡而言之為在電腦系統上電(Power ON)之初的階段,對系統硬體(包含CPU自身、Clock系統、周邊裝置、DRAM、Storage device等)進行一系列的初始化,並負責啟動作業系統核心(OS Kernel)。

註: 若拿SoC based嵌入式系統和PC系統作比對,粗略而言,則嵌入式系統的bootloader,即涵蓋了PC系統的BIOS及bootloader的功能(意思就是負責上電之初的硬體初始化與帶起OS Kernel等工作,在嵌入式系統上都是由bootloader負責)。這只是作個粗略的比對/比擬,當然兩種系統在細節上還是有些差異。

本課程將會帶領學員:

  • 在Host PC端之安裝於虛擬機器的Ubuntu Linux distribution環境中,透過純文字指令式(command line)之方式進行開發(讓學員了解Embedded Linux系統於產業界的常見開發方式)
  • 使用GNU編譯工具練(GNU Toolchain)對UBoot source code進行編譯,建置出MLO或稱x-loader的SPL (Secondary program loader) 與 uboot.img (Third stage program loader),並且於核心系統晶片(SoC)為ARM Cortex-A8 CPU based AM3358的BeagleboneBlack RevC開發板上執行
  • 針對課程實驗內容所用到的Storage Device(SD Card)作妥適的分割與格式化處理
  • 介紹UBoot的部分常用指令並引導學員進行實作練習
  • 背景基礎觀念
    • Bootloader運行流程,從ROM Code(bootROM)到MLO (SPL, Secondary program loader)階段,再到 uboot.img (Third stage program loader)的執行流程基礎原理
    • 相關軟韌硬體平台觀念(non-OS/OS based系統差異、MPU/MCU/SoC、DRAM/SRAM、NOR/NAND/eMMC flash memory特性,何謂Memory map I/O與Port map I/O)

UBoot於BeagleboneBlack開發板之執行之畫面 (尚未置入Linux Kernel與filesystem)如下影片。

註: 實驗用開發板並不一定只限於BeagleboneBlack,若學員希望使用/學習其它款式的硬體平台,請事先與講師討論協議。


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


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

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

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

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