2010年1月14日 星期四

【嵌入式Linux實戰基礎班】---學員主動撰寫之學習心得 Part2

這是一班【嵌入式系統 Linux 實戰基礎班】( Embedded System Linux )課程。課程大綱如下:


1.建立有效率的嵌入式 Linux 開發環境(How to Build an Effective Embedded Linux Environment)


2.建立嵌入式Linux GNU Toolchain 開發系統( Create Embedded System GNU Development Toolchain )


3.Boot Loader Brief Introduction


4.Configure and Make Embedded Linux Kernel / Create Root-File System


5.How to Porting the Embedded Linux Image to a New ARM Board


6.介紹 Linux Kernel 載入程式( Introduction the Linux kernel startup process )


7.如何使用嵌入式Linux GNU C Lib 程式函式庫來撰寫程式


8.如何撰寫一嵌入式Linux驅動程式及將其加入Linux核心(How to create an Embedded linux Device Driver and adding the Driver to kernel)


9.如何移植Linux應用系統至ARM開發板上:以 BoA Web Server為主


 


整個課程上下來,學員反應良好,很感謝全體學員再度支持與鼓勵,謝謝您們^^,課程上完後,與【C&C++程式設計實務實戰班】一樣有高達八位學員願意分享學習心得,以鼓勵大家,謝謝您們。


這裡我先將騰出的文字稿先貼上,再來後補原稿囉。


 


吳盈漢:


上完 江 老師的Linux基礎班,對Linux核心架構有初步瞭解,也對 江 老師熟悉C語言的程度感到十分佩服,在寫Code的手法上,也已經到了神的地步,對我這個剛從研究所畢業的學生來說有相當大的啟發,也許上完江老師的課,整體實力還是與江老師相差甚遠,不過對我來說最大的收穫是那裡是我需要加強的地方,使我有方法來學習,提升自己,相信日後進入科技公司能比同時期的同事有更大的進步空間,江老師也分析了目前科技業所需要的人才需求及產品開發,更深入認識RD所具備的基礎能力,這門課使我收穫良多。


 


黃鴻奇:


從一開始上老師的課,就大大推翻自己學程式的經驗,學程式也可以是很享受的事,看著老師不斷推翻一些我以往錯誤的觀念,除了讚嘆之外,還有大開眼界的感覺,真是「K書數不如名師指路!」老師除了有豐富的軟體功力,硬體的背景也是很深厚,更重要的是可以建立你正確的程式學習觀念,可以少走許多錯路和遠路,相信上過老師課的人都由衷地有這種感覺,希望老師繼續加油,再來教我們更新更正確的技術。


 


王雪萍:


  江老師講的觀念非常清楚,追蹤到Bootloader sourceLinux kernel Source.使學員真正了解系統運作與驅動程式架構與核心,應用程式之關係,而能夠真正瞭解驅動程式的運作,了解核心程式,驅動程式與應用程式的寫法與函數參數的傳遞,指標的運用,也學會如何追蹤函數原型,與看原始文件的方法,並提供現場coding的程式,學員回去後可對照程式瞭解觀念與程式的寫法,使觀念更加清楚,建立真正紥實的根基,經由上課後,自己已經建立了驅動程式與應用程式的觀念與運作,與Kernel之間相依的關係,知道如何追蹤函式原型,原始文件追蹤的方法,與Kernel的追蹤,使得不僅知道結果,也知道源頭,可謂受益非淺。


只覺得可惜的是,本以為自己已會CC++。而未報名當初江老師開的60hrs CC++課程。相信若上了 江 老師的CC++,必更能得心應手於Linux Kernel的追蹤與了解與程式寫法的技巧。


 


石恆文:


原本以為Linux驅動程式是很複雜的結構,經由老師逐步拆解,將Linux的架構解析的十分清楚,無論是Linux的環境ToochainBootLoaderKernalGNU函數,都讓我能夠清楚的明瞭,尤其本身所唸的是工工,程式語言和電腦架構,不是那麼專精,在經由江老師於課堂中,藉由實例的演練和當場的coding以及不厭其煩的回答學生的問題,在上完課之後真的獲益良多,感謝江義華老師盡心盡力的教學,在此表達真摯的謝意。


 


謝鈺滉:


  一直對Linux Embedded 興趣,但資料繁多無統一系統的介紹,而零亂無章,無意間上了江老師的課後,發現把Embedded systemLinux系統化的分割介紹,讓初學者很容易的進入情況,因老師經驗豐富,所以上課內容很充實,要很專心以免漏了精采的部份。


  江老師在課上實際寫程式、馬上驗證,讓人理解寫程式方式及思考模式,更重要是老師無私的精神把所知完全解囊相授,如把Linux系統完全解析,”C”程式技巧在其他書上無說明的方式,能上江老師的課是種幸福,可學到很多東西,當然也很累,要消化太多東西了,很幸運的上江老師課,節省很多摸索時間,感謝自強能找到如此好老師,讓學習者提升技能,如能讓更多人上江老師課,對業界是很大的貢獻。


 


黃健雄:


  江老師從MakefileCPU架構、AP codingDriver、實作、現場coding,以PXA270實作。在學習的過程中,我發現C語言的基礎很重要,硬體的spec也要了解,才能做好產品的實現。課程從ARM開發板平台開始介紹,講解ARM板子,GNU ToolBoot Loader,建立嵌入式KernelRoot file system,建立嵌入式Linux的指令與開機管理與網路設計。


  在驅動程式部份,從Linux架構入手,Character Device Driver的撰寫。並當場撰寫,且於現場上機測試。在最後的實作,Web Serve( BoA )移植,還是應繼續上長期班,才能了解嵌入式的實作,才能瞭解更多的問題與實作。


 


潘德儒:


1、上課前對Linux完全沒有經驗,尤其對embedded Linux底層及與硬體的溝通控制深感興趣。於是報名江老師的Linux基礎班。


2、老師深入淺出的上課方式,讓我們由完全不懂到了解Linux的架構,甚至到driver的撰寫。一層一層的剖析,不僅學到理論也從程式中理解到實際的運作方式。


3、老師最讓我敬佩的地方是,同學的背景不一,問題也很廣泛。 江 老師總是能讓所有同學了解,若是某一角度的解釋不能瞭解,老師便從不同角度切入,讓我們完全理解。而且老師從硬體、程式語言,到Linux架構的觀念非常清楚,透過不同角度的解釋,便能融會貫通。


4、最後,感謝老師上課期間的細心教導,讓所有學員都能有非常充實的收穫。


 


郭琳揚:


  本人於200912月,經朋友介紹,剛好有這個機會來自強基金會上Embedded Linux的課,之前對ARM開發板一無所悉,更甭談如何撰寫在ARM板上跑的Diver Program了,非常棒而實用,且對於本人將來工作上幫助很大。


  在上課的過程中,老師以當場寫作Coding的方式進行授課,並不斷反覆進行結果驗證,讓學員更清楚程式的來龍去脈,絲毫不會有任何含糊籠統的地方。


  由於江老師對於coding及硬體非常有經驗,能夠在軟體與硬體間澄清了很多連結的觀念,也認識了很多硬體規格,教我們如何看硬體規格書,總是很有耐心且白話的方式詳細解說,解答了不少學員心中的疑惑,本人在此由衷的感謝。


  總之,若下次還有機會的話,我會再來上課,希望還能遇到江老師,呵呵


1 則留言:

  1. 新您好:
      嵌入式Linux系統包含了:1. Linux AP、2. Linux 驅動程式、3.Linux OS、4.數位邏輯與 SoC Spec等。
    在以前的嵌入式課程,除了第一期週六日晚上的嵌入式課程,以前的班我都是使用 ARM10 XScale PXA270 當教學開發板,整個課程也因此開發板,進行的非常順利,也頗受學員好評。
    在第一期週六日晚上的課,我因為某位新唐 (華邦)的員工(同時間上過我8051課程後接著上第一期週六日晚上的嵌入式課程)的建議,我才改用nuc950 CPU當開發板。而嵌入式Linux課程整體的好壞,除了老師本身的技術與教學涵養外,還包括教學開發板硬體的配合,而因為週六日晚上第一期採用的 新唐 (華邦)EVB有些許問題的話,我也多次在課堂中已經跟各位說明與致意過了。
    譬如在nuc950原始BSP在中斷部份的問題,我同時間在課堂上也有解釋如何修改該原始BSP CODE才正確,也DEMO給學員看(修正了nuc950原始BSP在中斷部份的問題),如此當天上課的學員,也都學到更加精深的Debug 技巧,也都全部了解含意。
    剛說過,原始新唐 (華邦)EVB有些許可以再加強的部份,同時間我也解釋說明如何改正給學員了解。學員對這種 Debug EVB 經驗一般認為是非常難得的經驗。
    而我未來也會繼續修改 nuc950 CPU的 BSP ,讓其更加穩定。如您對 因為 nuc950 板子的問題,耿耿於懷,我在這裡再次向您致意道歉。
    然..目前的 nuc950 EVB在我規劃的課程中,目前均可以勝任,因為剛我說過整體課程好壞,包含了LINUX 部分與 數位邏輯 SoC 硬體部分。我同時間講受此課程時,我會用自行開發的開發板,如此一來,我可以對剛剛的 1. Linux AP、2. Linux 驅動程式、3.Linux OS、4.數位邏輯與 SoC Spec 講解的深入一點,讓學員學多一點。

    回覆刪除

FPGA Verilog 的學習經驗,提供給要入門的新手

今天簡單說說 FPGA Verilog 的學習經驗,提供給要入門的新手: 1.對自己寫的FPGA Verilog程式,所生成的數位電路要心中有數。 這一點個人認為很重要,就正如寫 C語言,心中要能生成對應的組合語言一樣,我是這樣要求自己的。 雖然 FPGA Verilog語言...