總網頁瀏覽量

顯示具有 輔導 標籤的文章。 顯示所有文章
顯示具有 輔導 標籤的文章。 顯示所有文章

2024年6月18日 星期二

近期將開在 清大自強基金會(台北分會)的 嵌入式Linux系統基礎建置課程


近期將開在 清華大學財團法人自強工業基金會的 嵌入式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小時

課程與報名網址如下:

https://edu.tcfst.org.tw/web/tw/class/show.asp?tcfst=yes&courseidori=13C024&fbclid=IwZXh0bgNhZW0CMTEAAR2eh0gt5jiRzG5IL3OLxh1eMxqqlYuC5KctHSocrPtR9gwSdF8jr_s1Mew_aem_I0QTpfNX4J9Sm1qD-f4RSA



-----

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

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


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

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

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

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

2024年4月8日 星期一

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


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


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

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

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

如果我們想要點亮開發板上的D5 LED,就必須尋找它連接的腳位(pin)。由下圖可以得知D5所連接的腳位(pin)GPIO1_24





這時候我們就可以在AM335xDatasheet[2]找到原來GPIO1_24PIN_NameGPMC_A8,並且腳位的模式需要選擇為7




現在我們已經知道要操作的腳位是GPMC_A8,接下來就是看Reference ManualGPIO feature去了解如何操作各個暫存器完成我們想要的功能。


由上面這張系統框圖可以看到,整個GPIO的操作其實不困難。給GPIO週邊提供時鐘、配置GPIO週邊的I/O方向、最後多工器選擇腳位的輸出由哪個週邊接管。有了這個系統框圖再搭配各個暫存器的說明,要自己寫出GPIO的裝置驅動程式相信不會太困難。

 

首先是圖中最左邊的Power & Clock,有玩過stm32的朋友一定很熟悉。沒錯,就是打開GPIO週邊的時鐘,沒有這個時鐘GPIO週邊是不會工作的。我們需要驅動LED的腳位是GPIO1_24,所以要操作CM_PER_GPIO1_CLKCTRL這個暫存器將GPIO1的時鐘打開。

 

操作記憶體地址這邊只講一次,其他暫存器的地址也是這樣查找的。在Reference Manual[3]我們尋找CM_PER_GPIO1_CLKCTRL應該找的到以下資訊:


可以看到CM_PER_GPIO1_CLKCTRL它的記憶體地址是基於CM_PER偏移了AC h,至於CM_PER的地址在哪裡呢? 可以在Memory Map的章節查到:



所以這樣我們就知道了CM_PER_GPIO1_CLKCTRL的記憶體地址,接下來要要看看需要設定這個暫存器的哪些內容。這裡需要操作Bit 18的欄位以及Bit [0:1],表示將時鐘致能開啟GPIO功能。對應的example code(先暫時不討論ioremap)如下:

static volatile unsigned int *CM_PER_GPIO1_CLKCTRL = 0x44E00000 + 0xAC;

*CM_PER_GPIO1_CLKCTRL = (1<<18) | 0x2;

接下來要講解GPIO週邊的暫存器操作,在裝置初始化的時候其實只需要操作GPIO1_OEoutput功能啟用就好,而GPIO1_CLEARDATAOUTGPIO1_SETDATAOUT都是在撰寫功能時才會進行操作。這裡只會講解GPIO_OE的操作方式,其餘兩個暫存器的操作方式也是同理。



可以看到上圖說明想要啟用GPIO1對應接腳需要對相對應的bit進行clear操作,對應的程式如下:

*GPIO1_OE &= ~(1<<24);                            // GPIO1_24設置為輸出模式

*GPIO1_CLEARDATAOUT = (1<<24);       // GPIO1_24(低電位)

*GPIO1_SETDATAOUT = (1<<24);           // GPIO1_24(高電位)

最後是GPMC_A8的腳位選擇功能。由於晶片的接腳有限,對於同一支腳位它可能被各個不同的週邊共享,但同一時間只能選擇一種功能進行操作。這裡我們需要的選擇一般的輸入輸出模式,所以需要將對應的暫存器賦值為7(先前有提及)。對應的程式如下:

*conf_gpmc_a8 = 7;

至此,所有涉及點燈的GPIO操作以及其對應的暫存器已講解完畢,如果手邊有基於AM335x系列處理器的開發板的朋友,可以趕緊來實戰看看驗證成果。


References: 

[1] Seeed Studio BeagleBone® Green Wireless Schematic

[2] AM3358 Datasheet

[3] AM3358 Technical Reference Manual


林普賢、孫文良

-----

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

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


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

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

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

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



2023年10月24日 星期二

自強基金會 加開 ARM Cortex-M based MCU嵌入式單晶片微控制器韌體開發課程

因首次開班響應熱烈,故又加開一班,歡迎報名

課程代碼:

12C054

[台北全新規劃]ARM Cortex-M based MCU嵌入式單晶片微控制器韌體開發(基礎)(自備NB)

上課時間:

2023/12/3~2024/1/8(12/31停課) 9:00~16:00 

上課時數:

30 小時

網址: https://edu.tcfst.org.tw/web/tw/class/show.asp?tcfst=yes&courseidori=12C054 


-----

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

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


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

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

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

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

2023年7月28日 星期五

在 清大自強工業基金會(台北教育中心) 開課啦,都是嵌入式系統軟韌體的重要課程

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

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

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

(2) 課程代碼:12C050
[台北全新規劃]ARM Cortex-M based MCU嵌入式單晶片微控制器韌體開發(基礎) 熱烈招生中
https://edu.tcfst.org.tw/web/tw/class/show.asp?tcfst=yes&courseidori=12C050

https://edu.tcfst.org.tw/edm/workplace_taipei/workplace.html


-----

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

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


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

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

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

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


2023年5月24日 星期三

嵌入式「系統」不是純軟體,包含軟體與硬體(亦包含電路)。推薦全華科技出版的一本電子電路相關書籍


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


來源連結


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

其實對於物聯網(IoT)之中的感測單元/嵌入式系統來說,上述的方面絕對是重要的,否則如果一個IoT系統之中的感測電路子系統所產生的訊號是錯的,導致raw data是錯的,如果這些基本的輸入內容本身就是有問題的,根本不能期望用了(輸入到)什麼酷炫神奇AI演算法並以上層軟體整合執行之後,系統的結果就會正常,就好比人吃白飯,不可能會拉出金銀珠寶;又好比不可能用純語音訓練出來的語音model去做影像辨識、不可能沒有任何硬體單元之下就可以拿到感測資料(精確來說,世界上沒有甚麼「純軟體」這種事情,只是藉由可程式化的方式(分層)操控電腦這個「硬體系統」去完成功能)。但坦白說從碩士班許多同儕、業界的同事發甚至主管的狀況來看,「以為數據資料處理辨識演算法可以取代感測訊號處理電路」是某些純軟體的人有些觀念錯誤的地方(包含業界一些老闆和主管),但是成大工程科學系其實在大學部有一些電路相關的必修學科課程,也有微控制器系統相關的必選課程,但顯然對於許多人來說,修課的效果可能是極為有限,許多人其實有修過課,但就幾乎好像是沒修過一樣。而其實我在一些選擇走資訊軟體方向的電機系畢業學生身上也有看到一樣的狀況,並不是工程科學系的學生才有如此的狀況。

此外,也有一些具備電路、MCU韌體開發相關背景的資深業界主管,誤以為自己所做的系統不是嵌入式系統。換句話說,很多方面都問題來自於自身不擅長的跨領域問題(雖然以學校科系來說,工程科學系號稱是主打跨領域的系所)。

嵌入式系統是具備特定功能的電腦「系統」,包含硬體與軟體,絕對 不是 只有作業系統或者只有上層應用程式,很多人常誤以為嵌入式系統就是有跑作業系統軟體的系統,這也是常見的錯誤認知。事實上,多去查詢基本定義即可得知,歐美的專業領域課本也常列出,例如Muhammad Ali Mazidi等人所著作的「The 8051 Microcontroller and Embedded Systems (2nd Edition)」,從書名就可理解我上述所說,該原文書的進一步詳情可參考留言處,而這類原文書通常會將這些基本名詞的定義做出說明。

又要講實話了,台灣有很多人很愛嘴上談「學術」兩字,但是實際上似乎大多不太會想去把基本名詞定義給弄清楚,這是蠻奇怪的事情,如果重視學術就該有基本的嚴謹度,而不是只是把「學術」兩字掛在嘴巴上好像很高尚,但卻缺乏實質的內涵,偉大的工程開發貴在對細節的用心,包含這些名詞基本定義和用語。


-----

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

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


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

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

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

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


2023年5月16日 星期二

「應付考試」 真的 不一定等於 「 學習」

 在臉書上看到 曹齊平老師/學長的這篇 貼文:




而 後輩我 個人的感觸如下:

曹齊平老師/學長 是大約在40年前的成大工程科學系畢業的學士、以及清大動力機械系畢業的碩士,那年代的大學很少、碩士更少,當年要考上這些學校,難度比近20年來考上這些學校的難度困難太多。要論考試,他絕對是高手,然而他勇於講出許多人不願意去面對的事實,也就是「考試不一定等於真正的學習」。

我個人近年來輔導許多工程師/名校生/產學公司主管/名校大學教授等 的經驗及感觸也是如此 (嵌入式系統工程技術開發設計領域),很多「基本」的內容或者基礎名詞的含義等方面,反而鮮為人知,因為缺乏深入的思考內化,且容易滿足於考試分數的表象以及這些表象所帶來的現實面好處/表面上的成就,導致許多人在需要實際進行工程技術專案開發時遭遇到許多障礙,大多肇因於真正的基礎(不是應付考試的那套,需要實際搭配實務去了解內化內容)不好。

考試確實只是一種容易量化競爭比較的方式,不一定真的等於「學習」,事實上,學歷也是類似的道理,但社會因應多人的情況,制度上就是以這些表面易於量化篩選的方式為主,久而久之就形成了根深蒂固且難以變通的文化/價值觀。

想起了幾年前一位名校碩士生跟我說的:「考試前再熬夜準備,這樣子CP值比較高」。但其實這種做法/習慣/觀念 ,對於專業工程技術的學習 及 「研究/開發」過程是極度不合適的,但是這確實就是多數人被台灣教育體系所培養出來的觀念。

以現實面而論,或許考試制度仍有其一定程度的必要性和作用,有其優點但也有很多缺點,但關鍵是社會大眾看待考試制度的態度/心態,不必過於極端、過度看重,應該可以更多元的去深入了解思考專業知識內容,以及更多包容/理解那些較不喜歡這種篩選方式的族群(絕對也有其強處,也不一定比較不聰明)。

我覺得如果在台灣大家很愛講「學術 」這兩字,那就更應該去多深入花時間面對許多表象以外的真實內容以及含義,而不是嘴巴整天講學術而其實都「只是」喜愛易於量化的表象(例如分數幾分、學歷有沒有拿到、年薪多少、論文數量績效、計畫經費數量績效、頭銜、年資數量等),這些一點都不「學術」。

或許沒有任何一種制度/體制是十全十美的,但重點其實是在於群眾看待這些制度體制的態度,不應該去過度迷信任何一種體制/制度,因為那樣只會造成體制/制度的缺點持續放大或者腐敗,應該要客觀地因應時代去看待/監督並動態調整。

-----

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


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

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

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

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



2023年4月20日 星期四

近來,收到來自國內一線 IC design house 公司之研發工程師 的 技術輔導課程需求

近來開始有收到國內一線 IC design house 公司軟韌體工程師學員來尋求軟韌體系統開發基礎的輔導諮詢課程需求,有這方面課程需求的人明顯比過去還多。

長期以來,我很感謝所有工程師學員的認可和支持。

對於各類工程師的相關需求,都非常歡迎。

因自身一路以來的經歷和體會,多年來對於多數學校在軟韌體系統設計開發、軟硬體整合技術方面的巨大學用落差(亦包含許多產業公司對於招募機制的問題與輕忽)與技術輔導的看法及評估,至今已得到結果方面的證實。

(許多問題的根源是來自整個台灣社會長期以來的觀念和文化,並非單一方或者單一問題所致)

事實上,許多嵌入式系統開發的實際面向來說,絕對不單只是coding純軟體方面的技術問題(例如很多實際的軟硬體整合或/週邊驅動應用的開發、SoC(系統晶片)/MCU(微控制器)晶片中的內部硬體架構觀念,與這些年在某些公司面試與年輕求職者之間所盛行的純軟體刷題幾乎無直接相關,許多是軟體與基礎硬體觀念之間的隔閡問題;反過來說,許多較偏向純韌體的工程開發單位,普遍較缺乏對於計算機系統、作業系統方面的基礎觀念理解),實際狀況牽涉許多對於系統的理解、背景知識、自身對於軟硬體基礎的缺乏及實際開發除錯的經驗與思考等等。

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


-----

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


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

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

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

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


2023年2月11日 星期六

是 嵌入式系統「開發板」, 而不是「開發版」

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

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

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



對於不了解的朋友簡單說明一下,粗略來說,嵌入式系統的開發板就是適合產品雛型開發時期的用板子,大多會拉出大部分的I/O腳位和製作介面電路、接頭在板子上,提供軟韌體工程師做軟韌體開發或者學習之用,畢竟這階段還不確定開發者會想拿這種嵌入式電腦晶片去開發什麼產品,所以這階段的電路板還不是產品精簡客製化的樣子,而是較偏向屬於開發、或學習驗證階段所使用的板子(board) 。

 ( 在學校方面,從2013年接觸成大相關系所的同儕們就常發現這種小問題,直到去年2022年看到成大碩士班的學生的學位論文口試,還是一堆這種錯誤,且很少教授和學生本身會去注意到,原因大概是因為資訊領域太多人都沒有去了解自己在使用的板子的一些基本觀念,板子對自己來說是現成的,所以這情況越來越多。實例我就不貼出來了,以免傷到一些人的心。當然也看過許多電機資工出身但是背景偏向軟體的工程師也都常有這種狀況,所以有感而發。

從過去在我的貼文所分享一堆學界或業界常見的字詞錯誤案例的分享中大家可以發現很多人在論文中的常見字詞錯誤並不是因為打錯字,而是來自於基本的觀念不清楚所導致。

或許這些小地方無傷大雅,或許不是大問題,但個人是覺得既然大學的研究所碩士學位論文號稱是做「學術研究」的「學術」論文,當然應該對這種基本的字詞要有基本的嚴謹程度才是,畢竟「板」和「版」 兩個字雖然只差在部首,但意思差很遠 ) 

-----

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


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

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

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

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

2022年8月30日 星期二

又有產業公司來洽談MCU嵌入式系統韌體課程合作事宜,歡迎!

 


-----

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


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

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

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

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


2022年8月23日 星期二

又有產業界的RD工程師,因為需要用到8051 MCU做產品開發,來洽談上課輔導合作。很歡迎!

近期,又有一間設備商使用到8051 MCU在做設備產品開發,該司之中有機械(電機電子/機構/控制) 和 資訊工程背景 的幾位工程師來洽談上課輔導合作,

主要希望奠定MCU/嵌入式系統軟韌硬體(從MCU架構、軟韌體 到 介面電子電路)的相關基礎,以及針對現在的產品開發現況進行諮詢。

很歡迎~! 🙏🎉

-----

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


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

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

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

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

2022年8月9日 星期二

收到一位過去的大學生學員的正面response

 


-----

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


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


本學習區之Facebook粉絲頁如下:

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

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

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

2022年6月29日 星期三

收到專門刊登科技業經驗文章的 網路社群媒體 來信洽談合作

今天收到一個專門刊載科技業經驗文章的網路社群媒體來信洽談合作,


我們這裡是專業的韌體教學社群,很歡迎&感謝 各界單位 若有合適機會來合作!

-------

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

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


本學習區之Facebook粉絲頁如下:

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

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

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

2022年2月9日 星期三

因友人介紹,近期有台大電機系教授洽詢合作! 很歡迎學術界和產業界多方合作交流喔!

如下圖,近期因朋友李博士的介紹,所以有 台灣大學 電機工程學系 的 教授 來討論合作。


回顧這幾年,我大多都是針對業界工程師開課輔導,幾年前自從聯發科(晨星半導體)離開回到南部後,主要回成大幫忙帶產學合作案(同時在他們合作的中小企業公司擔任顧問),當時在成大也有掛計畫下的臨時人員 (同時也算是合作的成大教授的顧問腳色)。

目前也還是有在接觸大學/學術界,多方交流&合作,目標理想還是希望促進減少學用落差、幫助台灣社會及產業發展。同時也推廣技職教育,也希望台灣的技職教育能正常化、特色化,走出自己的一條路。

都很歡迎交流討論任何合作模式,若有合適的合作機會的話,我都會盡量提供真心的建議和實際經驗。


-----

‼本區開設之技術課程的詳情請參見下方blog網頁的課程介紹👇:


本學習區之Facebook粉絲頁如下:

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

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

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