總網頁瀏覽量

2021年7月30日 星期五

於10年前,在大二暑假時期設計製作的以8051 MCU為核心的PCB電路,順便聊聊某些名校大學系所的推甄文化。

想當初就讀大學時期,除了堅持學業成績常保持在第一之外,幾乎每個寒暑假、甚至修課讀書以外的時間都自願在實驗室做專題專案度過(坦白說比起多數人的大學生活來說,真的不輕鬆,但很充實,將碩班生活提前到大學時期來過),

當時主要為了想要多參加教育部競賽,以便推甄名校大學的碩士班。沒想到後來到了所謂名校大學,看到不少名校大學大學部直升的學生幾乎是不用花太多時間做專題,更不用積極參加校外全國競賽,很輕易就可以直升本系碩士班(有些系所真的只看考生大學就讀的校名、系名,或者看是否有認識的教授推薦,就佔了大部分的錄取因素,但如此的作法確實也錄取了許多大學時期不太用心在專業方面的直升學生,說真的不少人的專業實力在大學時期是真的沒什麼累積,就連學科理論基礎也未必比較有概念),坦白說,時至今日,個人對某些不太客觀的推甄錄取標準現象仍感到有些感慨。

分享一下10年前,於大二升大三的暑假時期,在實驗室開發的一個小作品(印象中這個小作品後來沒有拿去正式參賽,後續我和同學們還做了另外四至五個作品專案去參加教育部舉辦的競賽,也在大三這一年內,拿到了4個教育部競賽獎項),這是一個8051 MCU為核心的PCB電路,包含MCU韌體程式的撰寫(使用KEILC開發環境)、電路設計、PCB電路Layout和製作。這是就讀大學時期的第一個PCB電路  (記得在更久以前,在就讀高職時期,就有做過小型電子琴電路,當時也是洗板子,但印象中當時Layout好像是用手繪的方式..所以當時電子琴電路的走線沒辦法這麼筆直)。

而當時還不流行Arduino這類的現成MCU板子,所以除了韌體程式和PC端GUI程式的撰寫之外,我們大學那間實驗室的電路板幾乎都是學生們自己做電路設計、Layout設計 和 洗版製作的。

主要透過Counter計數來自8051 MCU外部的紅外線遮斷模組的訊號,並透過GPIO顯示於LCD,同時也藉由UART輸出串列資料,再藉由ICL232  IC將8051 UART訊號電氣位準轉換為RS232 Cable訊號位準,將資料傳輸資料至PC端由GUI程式做後續應用處理。

當時設計製作的PCB電路,如下FB貼文中的照片所示。



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

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

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

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: 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月25日 星期日

學習8051 MCU會太老舊過時嗎? 告訴你更老舊的6502 CPU/MPU的實際狀況!

很多人都會迷信於 平台或技術的 新舊 這種表面來主觀判斷其好壞,而不知其實際客觀的狀況。

除了Intel在1981年出產的8051 MCU的同族加強版至今依然有許多產品在用,

事實上,就連MOS公司在1975年出的6502 Microprocessor系列,現在也還是有不少產品使用。

幾年前有和一間IC設計公司主管討論到這方面;而最近一位即將任職韌體工程師的學員的公司也會用到6502,主要以 組合語言(Assembly Language) 進行其韌體程式開發。

其實,無論平台新舊,有許多基礎原理都是直接相關甚至共通的。如果舊的(架構較簡易的)都還不會,以為直接碰新的平台就能學的紮實? 這是許多學校老師的天大誤會  (當然也有業界人因為看得不夠多,也有可能會有類似的觀念與迷思)。


嵌入式系統相關觀念教學文:

1.   許多人對於8051 MCU的常見錯誤觀念闢除

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

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


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


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

個人簡介: 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年7月15日 星期四

【學員成功轉職案例】脫離22K低薪,學得一技之長, 從非本科系成功轉職韌體工程師 經驗分享

大家好,這篇文章是一位長期接受本園區作者(講師)輔導的一位學員人士,在當時成功轉職韌體工程師的經驗與心得分享。


以下文章內容為學員分享的經驗與心得: 

各位想轉職的朋友大家好😀,一開始容我先自我介紹 

學員的學經歷:

  • 國立名校大學 研究單位 韌體研發工程師 (專任研究助理)
  • 私立科技大學 電機工程系 碩士
  • 國立科技大學 水產食品科學系 學士

大學畢業2年後,決定轉職的動機?

大學時期,其實大多數時間也沒有接受到畢業後到底該做什麼的引導或觀念啟發,大學畢業後,不清楚該做什麼工作比較有發展性,大學剛畢業後的2年,曾做過收銀員、百貨櫃姐、作業員....(服務業、製造業等居多)。

上面這些工作的共同點就是薪水都在22K左右,好一點的也不超過29K,且都是花大量時間換取金錢。每次工作回到家就是放鬆時刻,洗完澡看看影片、滑滑臉書(我是老人),摸一摸時間一下子就到12點了,隔天一早再次過著重複的人生,就算放假也只想發懶、睡覺休息,一點進步的空間都沒有。但是隨著年紀增長,有時候也會想:我能一直這樣工作到老嗎?答案當然是否定的。

想要脫離22K,就是要跟別人不一樣,要有不可取代性,要學一技之長。

就是因為有想過要改變,想脫離22K的人生才開始有了轉職的想法。當時身邊認識的朋友就是在科技業上班,以及一直以來都是就讀工程背景的專業人士,有猜到嗎?就是這個技術部落格的作者阿良老師啦(灑花)。


不是相關科系也可以做韌體研發?會不會贏不過理工相關科系呢?

對於想轉職的朋友,這個問題確實是相當重要。想當初我也問過阿良老師一模一樣的問題🤓。

當時大學畢業,剛出社會工作兩年的我,在阿良老師的建議下,決定轉職電資工程相關領域(電機電子資工),由於我是食品科系畢業,在阿良老師的輔導及討論評估下,認為我需要再去修習理工相關科系,原因是有利於找尋電資工程方面相關的工作,當然每個人狀況不同老師都會給予不同的建議(老師在學界及業界都有相關經驗)。

經過他的評估、輔導和討論之後,我決定再次地回到學校(沒錯,我想都沒想過我會讀碩士,我又不喜歡讀書🤣),當時我已經24歲。

從一開始報考碩士班考試,阿良老師就開始輔導我,針對碩士班考試相關基礎和科目開始準備,像是程式語言、計算機概論、數位邏輯電路、作業系統、資料結構等專業內容目標一一教學。

後來順利考上研究所碩士班之後,阿良老師依照他對於產業界和學術界的了解,輔導我該如何選擇學校的課程,過程中遇到任何專業領域問題,阿良老師都跟我一起參與並解決我的問題。在修習研究所的過程中,除了課堂上所需完成的專案(project)外,阿良老師也安排、鼓勵我參加聯發科與經濟部合辦的比賽,來增加自己的表達能力等經驗以及增加後續應徵工作的經驗值,一直到寫碩士論文,阿良老師也非常積極的指導我研究方向及內容,一直到我碩士畢業。

碩士畢業後,阿良老師也持續輔導我關於找工作的方向,甚至包含找工作所需的履歷表、面試內容準備,阿良老師都會給予經驗的傳授,過程中也會不斷地指導專業內容相關的細節

經過阿良老師的長期用心輔導後(包含就業過程),我在26歲時轉職成功!順利地在當時找到國立名校大學(國內四大名校之一)研究單位的韌體程式研發工程師的工作(待過這學校的幾個單位,工作內容都是與嵌入式系統&物聯網裝置相關的軟韌體程式研發相關),工作過程中也不斷有阿良老師的輔導協助。

值得一提的是,在名校大學研究單位的其中一段工作時間內,在我辦公室座位的右手邊坐的是清華大學電機工程碩士畢業的工程師同事,而我左手邊坐的是台灣大學畢業的工程師同事,這些是在以前不是畢業於電資相關科系、也不是名校畢業的我,在過去從來沒想像過可以達成的事

名片

然而,在國立名校大學的研究單位上班,其實也常會接觸到許多的博士後研究員(博後)同事、主管和研究生們,許多人都是國立名校大學畢業,當然也看了許多令人「大開眼界的事情…比如說某些名校畢業的同事在專業基礎能力上的一些狀況,有時也會讓我感到相當意外 (當然這又是另一方面的許多故事了(笑)),讓我深刻理解到什麼是阿良老師長期以來所敘述台灣社會很普遍發生的「產學落差」、「學用落差」。

所以,關於非本科系是否適合做韌體、專業方面是否一定會比不上本科系名校畢業生?在看完上述內容之後,我想,大家的心中應該有答案了。


轉職為韌體工程師,學到了什麼?

對於大學就讀食品科系的我轉職到電資工程領域,覺得落差真的是蠻大的。現在回頭思考,會發覺過去我個人在大學時期比較多是背誦題目及應付考試(當然也有實驗課),相較起來我個人在當時是比較缺乏深度的思考,也缺乏有經驗的老師的引導。

而在後來跨入到電資工程領域並且參與工程專案研發之後,發現很多是需要深入思考的邏輯。過程中也有參與比賽(需要表達),因為要介紹自己開發的作品的功能發想及特色,所以表達能力也會訓練到、需要簡報presentation,製作簡報PPT的能力會變強(至少要有基本sense)、在過程中對於比賽作品專案時程的掌握、過程中開發作品遇到bug,也要學會找答案,所以找資料的能力會增加相對的英文能力也會增加,最最重要的是透過參與比賽、以及科技發展技術及綜合以上的能力增強後,自己的認知與視野會不同!其實這些都是無形中就增加的能力,有的甚至還要會拍影片😅(例如參加競賽的時候)

韌體研發工程師的薪水真的比較高嗎?

對於在大學剛畢業時期的我,每個月的薪水大約落在23K~28K左右。而在經過阿良老師的長期輔導、電機碩士班畢業之後,我找到的韌體工程師職位工作的薪水相較於過去大幅增加了50%~60%,等於投資自己、替自己加薪加值,在經濟方面終於也不用像以前那樣的緊迫,而且所學習到的軟韌體相關專業技能,是會隨著經驗的增加而持續精進進步,所以我覺得,學得專業一技之長」是真的非常重要


最後最後鼓勵各位朋友一句話:

「你不需要很厲害才能開始,但你需要開始才會很厲害」

雖然這句話已經聽到老掉牙了,但這句話在我有時候失落時都還能鼓勵到我😝


以上為學員之經驗與心得內容



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


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

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

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




多次參加外商IC設計公司所舉辦之技術研討會的感想

參加許多次外商IC設計公司的研討會 以及 使用過這些廠商的IC的經驗,覺得ST以及ADI這類廠商真的完全不只是IC design house ,又或者應該說,IC design house應該就要像這樣。

從許多角度可感受到他們的系統設計能力很強 (從硬體角度就是IC外的那些電路設計相關議題,包含很多類比領域的電路,例如電源電路),也包含到軟韌體和開發工具鍊,且涵蓋的應用方向領域極廣,相當完整,而且在推廣方面也蠻積極的。

並不是說外國的月亮就一定比較圓,但覺得許多台廠公司真的還有著許多可加強的空間,也希望台廠公司能多重視 系統設計&整合 的能力和人才,否則在大部分的狀況下,真的只能繼續跟在人家後面賺辛苦錢。

從另一方面來說,這或許也反映了不同國家之間的學用落差 & 大學/學術界 狀況的差異。

而目前我個人開設一些嵌入式系統軟韌硬體課程,其目的也是希望能減少台灣的學用落差

 

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

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

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

2021年7月14日 星期三

【阿良的韌體科普系列】「韌體」到底是什麼? 和軟體有什麼不同? 【下篇】

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

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

承接中篇文章,下篇的內容如下: 

另外有些人可能會認為,被燒錄到裝置產品內的軟體都能叫做韌體,我甚至看過有人認為開發Android 裝置的上層軟體也是在做嵌入式系統韌體開發,對於這種觀念我個人是不同意的。因為畢竟只要是能執行軟體的產品 (有電腦系統在內),有什麼不是裝置呢? 即便個人電腦PC也是裝置的一種。其實或許應該以軟體的所在層次(Level)去區分,會較客觀一些。

無論硬體平台是SoC或者MCU;無論產品類型是小體積的裝置還是PC或家電;無論主要系統軟體是屬於有無OS的類型、無論軟體單元/種類是Linux kernel、BIOS、bootloader等等,只要是位於底層層次的軟體(存取CPU、周邊暫存器記憶體的層次的軟體,我認為即可稱為韌體),撰寫韌體是需要考量到硬體狀況 (如果是控制I/O周邊用的韌體,時常還要考量及整合電腦晶片外部的電子電路設計)。

當然也有因為硬體架構較單純所以將應用程式和韌體混和撰寫的狀況,例如早期標準(至今仍可用於嵌入式基礎教學)的8051 MCU晶片的程式開發即是這種狀況(較早期的MCU硬體架構單純、資源較有限,不一定適合去將其軟體區分出太多高低階層次)。

  • 註: 電腦並非只有指個人電腦(PC),而是在許多人們於日常生活中所會使用到的產品裡面都有電腦(執行軟韌體程式以驅動各式硬體),例如手機、平板電腦、家電(數位電視、電視機上盒、洗衣機、冷氣...) 等等。

-----



嵌入式系統相關觀念教學文:

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

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

3.   許多人對於8051 MCU的常見錯誤觀念闢除


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


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

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

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

【阿良的韌體科普系列】「韌體」到底是什麼? 和軟體有什麼不同? 【中篇】

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

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

承接上篇文章,中篇的內容如下: 

所以,若要精確一點來說(說好的初學者科普呢),個人認為何到底謂韌體、何謂軟體,其實應該以該軟體所在的層次來區分,而不是以平台來區分。

以許多 初學者 或 學生 時常撰寫non-OS類型的Arduino軟體為例,當要驅動GPIO所對應的某支腳位輸出高電位時,如果使用的方式是是直接在Arduino IDE中去呼叫digitalWrite(Pin_Number, HIGH); 若以嚴格&精確一些的標準來說,呼叫函數的本身的這層程式碼的範疇,算是應用軟體層面(屬於 只負責下參數給這個現成的函數來應用這個函數,但看不到這個函數的內容是如何、實際上是如何接觸操作了什麼硬體暫存器 的層次)。 而 真正去實現digitalWrite這個函數的內容程式碼(對GPIO的暫存器作操作存取)的部分才是意義上較精確的韌體開發。

這時有些人可能會混淆,認為上述Arduino例子的digitalWrite(Pin_Number, HIGH)既然會直接驅動硬體(會讓Arduino板子輸出數位邏輯系統的高電位5V或3.3V(視MCU款式而定)訊號,那呼叫digitalWrite的層次的軟體怎麼會不屬於韌體呢?  

如果有這個疑問的朋友,可以自己想想,有什麼APP的最終功能目的不是驅動硬體動作呢? 例如你使用LINE APP發送文字訊息給朋友,此時手機畫面的硬體、手機通訊相關硬體其實都有做事(work),但難道LINE APP是韌體類的程式嗎?  既然世界上所有的軟體本來就都是為了驅動電腦硬體做事(以達到我們人類所指定的功能),那又何必區分獨立出韌體這個名詞呢?  所以,韌體應該必須是有其特定意義的。

當然了,上述講述的Arduino函數的這例子的說明內容,是比較精確嚴謹的韌體名詞作釐清,但如果將韌體這個名詞的定義放寬、放得更廣泛一些,那通常MCU的軟體等都會被統稱韌體。

又例如許多消費性電子產品(如機上盒、路由器)內的軟體升級,這時的軟體也常被泛稱為韌體,所以使用者會看到的名詞是韌體更新(算是一種泛稱),但是實際上確切到底是更新了哪些部分的軟體、更新的到底是屬於底層還是屬於上層的軟體,其實當然只有原廠負責相關工作的工程師才知道

以及 如果是在科技產業/企業公司的職缺名稱方面,即便是呼叫digitalWrite函數來應用以控制MCU(進而驅動其它硬體)的相關軟體工作(是否接觸更底層的真實定義上的韌體,就看工作性質而定),這些工作職缺通常也都被企業在人力銀行網站上 統稱為 韌體工程師 (畢竟是驅動MCU晶片功能的軟體,直覺上想起來仍是很直接會驅動硬體的軟體工作),

所以各位朋友會發現,有時候人們在這些名詞的使用上是會有混用情況的  (情況有點類似 微控制器Microcontroller 也常被稱作 微處理器Microprocessor,若要探究這兩者的差異細節,則可參考我之前撰寫的這篇文章去了解該兩者的詳細的定義和區別)。





其餘的內容會放在 下篇 繼續介紹(可直接點連結連入關看)。



嵌入式系統相關觀念教學文:

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

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

3.   許多人對於8051 MCU的常見錯誤觀念闢除


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


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

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

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

【阿良的韌體科普系列】「韌體」到底是什麼? 和軟體有什麼不同? 【上篇】

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

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

說明: 

撰寫此系列文章的目的,主要是希望能讓初學者(甚至非本科系的朋友)能了解一些關於韌體的基本觀念,所以不會使用太艱澀的方式來描述 (盡量)。

(但是後來發現這些內容對有些初學者而言可能還是會有點艱澀,所以順便廣告一下,對於許多初學者來說,有些內容或許真的需要來上課才比較容易更清楚和容易吸收,若需要課程請洽最下方的email)。

某些人對於這些專業名詞的定義和觀念或許有些差異,在這文章中,我將以個人長期以來對於MCU(微控制器,也就是單晶片微電腦) 與 SoC(系統晶片)的 軟韌體程式開發經驗(包含non-OS無作業系統類型 和 OS based有作業系統類型)來進行分析和說明。

字有點多,請見諒,也請發揮耐心擁抱文字。

------


韌體(Firmware),既不是硬體,也不是開發性質較偏向純「軟」、較高階(註1)的那些 應用軟體 (廣泛來說,例如在執行於作業系統之上的APP、網頁、資料庫應用 等層面,都算應用軟體)。此外,韌體也並不是開發數位IC的時候所使用的硬體描述語言所撰寫的程式。

韌體 也是一種 軟體。在開發過程的最後階段,最終都是在經由編譯或組譯之後,經處理(例如燒錄)被放置在記憶儲存單元之中,等待讓CPU提取(fetch) 及 執行(execute) 的 數位碼 (也就是所謂的 機械碼,是二進制碼,由0和1所組成)


然而,既然 韌體(firmware) 也是一種 軟體(software),那為何又會有 韌體 這個名詞的存在呢?

簡單來說,韌體 是 屬於比較「硬」的 軟體,這是什麼意思呢?  有些朋友可能會有疑問,即便是上層的應用軟體(例如APP),其存在的目的,不也都是為了要驅動硬體來完成功能的嗎?  那麼,上層應用軟體 和 韌體 之間的 差異 又是什麼呢?

以我個人的經驗來說,韌體 就是: 「較貼近、較直接存取電腦硬體單元的軟體」


而「貼近電腦硬體」又是什麼意思呢?  

就是位於底層(越接近電腦硬體)、直接對硬體(CPU 及 各式周邊裝置的暫存器)進行操作和存取的軟體所在層次(或者說類型)。而不像是較上層的應用軟體那樣、中間經過很多層的軟體轉換及對應之後才能間接存取硬體資源。

而為何說是「貼近硬體呢? 所謂的」貼近硬體, 是有多貼近呢?

現代因為某些系統的軟韌體的層次多樣,一個規模較大的電腦系統的軟韌體可能會被分很多層次去分工進行開發,有時候其實際狀況也不是那麼容易就可輕易劃分。但簡單來說,越直接對硬體進行存取操作的層次就越是偏向接近韌體的範疇,包含到存取暫存器內容值的相關內容。


  • 註1: 在這邊先解釋一下在電腦系統內的一些用語,越上層越高階是指是越貼近人類(開發者)的技術範疇,越底層越低階指的是越接近電腦硬體(硬體包含: 處理器、周邊裝置、記憶單元 及 周邊相關的電子電路等等)。

所以請注意(再次強調),這裡指的 高階/低階 或者 上層/底,並不是指技術的難度高低,而是指 該技術層次 是否位於 較靠近人類的習慣和直覺(越高階或者說越上層) 還是 比較靠近電腦系統硬體(越低階或者說越底層,離人類習慣直覺認知越遠)。 

通常對於非硬體背景出身的人來說,底層技術的入門通常可能會較需要時間去體驗和學習 (包含要了解一些硬體觀念),如果是由具有實際開發經驗的人指導、幫助學習、給予方向,可大幅提觀念上的理解和學習速度 (這也是我開課的目的)。 


為了避免文章內容太多會導致大家看不下去,剩下的內容會放在 中篇下篇 ,歡迎點入連結繼續觀看下去。



嵌入式系統相關觀念教學文:

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

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

3.   許多人對於8051 MCU的常見錯誤觀念闢除


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


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

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

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

2021年7月6日 星期二

【阿良的韌體科普系列】系列文章─開張文

這幾年來逐漸發現,現在因為某些議題被過度炒作和放大(如AI,不論在新聞媒體/報章雜誌上面),且學術界(大學校院)又過於績效導向,大多為了角逐計畫和資源,而不斷地去追求所謂比較的名詞的相關議題(未必能反映台灣產業界的真實專業技術人才需求),導致一些重要的紮實專業技術教育越來越不受到重視。

於電腦相關領域(資訊工程領域),在較上層的程式語言(如Python)隨著上述議題而一同受到社會高度重視的同時,越來越學生 或 初入社會的人士,能了解何謂電腦系統的底層(如 韌體硬體),

但是,其實產業界對於電腦底層相關的工程師職務需求量是很大的(可自行搜尋人力銀行求證),

許多人似乎都快忘記,軟體終究是被拿來控制/驅動電腦硬體的、軟體是被硬體所執行的,

而且,其實軟體也有很多不同的層面和種類,軟體 並不是 只有一般人眼睛看得到的 視窗介面軟體、APP 或 網頁 而已,

不少人似乎把底層系統都給忘記,甚至不太曉得 較底層的系統軟體(韌體、驅動程式、開機啟動程式、作業系統核心等名詞)存在和意義


有鑑於上述狀況,本園區這邊最近會開始撰寫並分享【阿良的韌體科普系列】系列文章,希望透過比較淺顯易懂的文字介紹方式,讓更多人對於電腦底層、韌體相關的軟體程式、硬體等底層單元,能有更多的了解。

這系列文章的撰寫風格,會盡量避免太過繁瑣詳細的內容,但同時保持內容的正確性,雖然這樣的有可能會犧牲一些詳細的說明,但還是希望能藉此方式,讓更多朋友能對於電腦底層的軟硬體相關知識有些了解。

希望讓大家能擴展自己對於職涯的選擇性和技術視野,而不是等到去工作了,才知道自己做的工作到底是在做什麼。

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


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

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

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