各位學弟學妹好,我是武漢華清遠見14121期學員,來自北京理工大學自動化專業。
現在公司主要從事基于環境能量采集的無線無源樓宇控制系統的研發和應用。公司前期產品主要面對商業和公共建筑的節能和智能化改造,同時公司的產品策略進行全面調整,聚焦在智能家居產品的研發上。團隊在無線超低功耗傳感器、控制器和網關的研發上積累了很多經驗,所以當給我介紹這些的時候,我還是果斷的選擇加入。
轉眼之間,我從2014年12月到華清遠見開始學習到現在已經有4個月時間了,學習課程已經結束,項目階段已經開始了。這四個月的學習時間里確實有很多感想,想在這里和大家分享,也給自己一個留念。
先說說當初來到這里的原因吧。在來到華清遠見學習之前,我已經工作了3年的時間。在這3年里,我主要從事交流伺服驅動的軟件設計工作,3年也學習了很多東西,掌握了一些技能。但是工作到一定的時候,總覺得在控制領域,很難更進一層,其中的理論知識確實很讓我頭疼,鑒于自己的情況,我決定放棄在控制領域的深入學習。由于我本人對于嵌入式的內容有相當的愛好,同時我有在多種單片機,DSP平臺開發的基礎,并且嵌入式行業的前景較廣,所以我考慮想轉向與我之前工作領域相接近嵌入式行業。我認為我既然要做嵌入式工作,要進入這個行業,就要能夠做出點成績,擁有一定的能力,就要夠專業。顯然,以我之前的在裸機上開發程序的基礎,要達到我對自己的要求是不夠的。所以我在權衡了各方面的條件和需求之后,我決定辭職,然后進入一家嵌入式培訓機構培訓一段時間,這樣獲得的知識更系統,提升能力也更快。在比較了武漢的幾家培訓機構的情況,我選擇了華清遠見武漢中心。
2014年12月10日,我在華清遠見的學習正式開始。在這里,總共學習了C語言,數據結構基礎,Linux應用編程,Java編程基礎,Android應用編程,ARM裸機開發,ARM Linux系統移植,ARM Linux驅動開發,Android系統移植等課程。下面我談一下對于各門課程我的淺薄的一些理解。
C語言學習。C語言是做很多軟件開發的基礎,它非常重要。關于有多重要?有句話說“C語言是用來開發其他編程語言的語言”,我認為這句話在百分之九十的情況下,是對的,所以C語言是根本。我在來華清遠見之前,我對于C語言的把控能力是我可以使用它的基礎功能,簡單使用循環,分支,判斷語句寫個裸機程序。來這里學習了之后,我對C語言中的一些內容有了一定的理解,能夠有能力去考慮某個函數,某個語句塊是為什么要這么寫,去思考程序代碼,每一個變量,每一個函數如何在內存中存儲,程序運行時,內存中的數據是如何變化的。經過學習,寫程序的思維有所不同了,這是一個很重要的收獲。
數據結構學習。關于數據結構,我們其實學的不是很多,但是學到了其中的主要思想。在實際情況中,存在很多種不同的算法,但萬變不離其宗,到根本都是一樣的。其中包含的不外乎兩點,一是數據如何在內存中存儲的,二是程序的邏輯,如何操作內存中的數據。寫程序重要的是思想,算法是核心,語言都只是工具,這是我學習后的感悟。
Linux 應用編程。Linux應用編程是一個比較有意思的內容。在我來這學習之前,很少接觸到應用編程。學習了Linux應用編程之后,對于網絡編程,多進程編程等以前覺得似乎比較難的東西有了新的認識。積極去動手,認真動腦,真正理解了Linux中各個接口該怎么用,為什么要使用它,就覺得這些東西,其實不是很難的。
Java和Android應用開發。我們學習Java主要是為Android應用開發學習打基礎,我們確實只學了基本的一部分,主要是學習了Java語言的面對對象編程的思想。Android開發,我們學習后,可以開發出一些簡單的手機應用。由于我們學習的時間偏短,加之之前在Java方面的基礎很少,所以我認為如果有興趣做Java相關的開發,還需要進一步深入學習,以達到更深刻的理解。
ARM相關課程。ARM相關的課程,一共有3門,這部分是我們學習的久的課程,而且因為設計到硬件,也可能這是難度大的課程。ARM裸機程序部分,我是很熟悉的,之前有在ARM平臺開發過邏輯程序,這部分學起來很輕松。但是系統移植和驅動開發部分,在學習的時候確實感受到壓力很大。原因有三:一是因為移植相關的代碼量都比較大,內心對于要征服一個大工程不是很有信心;二是因為系統移植和編寫驅動都是在別人給定好的框架上去編寫和修改代碼或者理解代碼,很多時候找不到這個思維的邏輯;三是因為我們學習的內容很多,來不及徹底地消化和吸收。
然而,在學完之后,我再去復習和再學習一遍時,發現也不是那么難,其中的內容也并不是很多。如果只是為了做移植或者開發一個簡單驅動,并去需要把所有內容都理解,只需要按照給定的框架把需要修改的地方修改一下,把需要配置的地方配置好就可以了,這個目的以目前的學習程序應該是可以達到的。如果確實想徹底理解其中的精髓,我的想法是:先不去理解每一部分代碼,而是宏觀地把u-boot啟動,Linux內核啟動,Linux驅動框架理解一遍,把每一步在筆記上記一邊,然后再針對這每一步,對照上課筆記花上一天兩天時間去理解一下,然后會有一定的自己的領悟與見解,直到各部分能夠再大腦里貫穿起來。只要不害怕它,能夠堅持,我相信一個月,兩個月,總有一天我能夠把他們完整地理解。
然后,我想在這里對各位老師表示我的敬意與感謝之情。這里的每一位老師都是我們應該學習的楷模。文老師嚴謹的思維,程老師認真的態度,陳老師求是的精神,王老師鉆研的精神,曹老師負責的責任心,都讓我印象深刻,他們身上的優秀的品質,令我欽佩,我將以他們為榜樣來激勵和約束自己。還要感謝我們的班主任,非常的負責,對我們很關心,總是提示我們要注意休息,注意身體,天冷加衣服,在我們需要的時候總是熱心幫忙。還有其他很多老師,都在半年的時間里,為我們做出了許多付出。這里對各位老師表達真誠的謝意,我祝愿各位老師工作順利,一切都好!
后,也得對我的各位同學們說,感謝有你們的陪伴。這半年和大家相處的時間是一段非常美好的時光。祝福大家,祝愿大家能夠學習開機,找到一份美滿的工作,不斷進步,一生與知識相伴。
小伙伴們,點擊這里,即可訂閱“《open公開課》嵌入式/Android”,第一時間收到各類免費嵌入式/Android等線上線下免費技術講座活動信息,好東東,莫錯過 >>