時間:2019-07-16 00:00:00 來源:信盈達 作者:信盈達
最近調查發現,對于嵌入式軟件方面來說很多用人單位,hr在招人期間,遇到了很大的問題就是:每年畢業的大學生很多,但是就是招不到合適的嵌入式軟件開發人員,大部分原因是因為能力不夠,不能達到他們的工作需求。你要知道,學習嵌入式就要滿足社會的需求,及用人單位的需要,那么問題來了,如何才能成為一個合格的嵌入式軟件工程師,嵌入式軟件學習方法又有哪些呢,為了自己的將來就業這必須看。
嵌入式專業是一門實踐性非常強的學科,只有多動手,多實踐,多編程,多調試,多看書,多思考才能真正掌握好嵌入式開發技術。
現在很多同學也意識到了學校培養模式和社會需求脫節問題,有一部分同學也先行行動起來,開始注重培養自己的實際動手能力,培養自己實際分析問題,解決問題的問題,培養自己在嵌入式專業實際編程,和調試程序的能力。但是嵌入式專業不同于其他學科,嵌入式專業是一門綜合性非常強,涉及知識面非常廣的學科,對于初學者來說,面對那么多教程,課本,那么多知識點,往往不知道從何處下手,不知道哪些是重點,哪些不是重點,這些知識點之間有什么關聯,一臉的茫然,然后東一榔頭,西一棒子,折騰了幾個月甚至大半年后,還是找不著學習嵌入式的方向,還徘徊在嵌入式開發的大門之外。那么重點來了,嵌入式軟件學習在這里告訴你。
首先我們先來嵌入式軟件是什么:嵌入式軟件就是嵌入在硬件中的操作系統和開發工具軟件。那么常用的嵌入式操作系統就是linux了,有很多嵌入式操作系統,說多了會不明白,那么就以嵌入式linux系統為例來了解。
一般人用的電腦都會裝Windows系統,要想在Windows上跑其它系統,得安裝虛擬機。而目前主流的虛擬機有vmware、VirtualBox、hyperV等,你可以隨便選一個安裝。然后去官網下載個人版的Linux鏡像(.iso文件)并把它安裝在虛擬機里面即可,這里給出主流Linux系統的官網鏈接:ubuntu、fedora、centos、debian、suse。如果你沒有用過linux的話,推薦使用ubuntu。
6、版本控制器。有svn,cvs,git等,推薦學git。有了git,你就不必手動備份代碼了。
linux的命令是你在學習中經常用到的,所以可以在百度上查或者買本linux命令的書來學哦。
在實際工作中,復雜的系統管理操作,不會一行一行地敲命令,而是用腳本(命令是基礎)。腳本也是一種編程語言,只不過是解釋型語言。相比C/C++、C#、JAVA這類高級語言,腳本要易學很多(因為增加了語法糖)。在Linux下,shell也有很多種,如:bsh、bash、csh、tcsh、ksh、zsh等,一般是學bash,其它的遇到再學也不遲,因為都是大同小異的。推薦《Linux Shell編程從初學到精通》
盡管已經明白了很多了,但是不管什么編程都是還會涉及C語言的,所以C語言是必須要好好學的。此外,C語言的執行效率比bash要高,網絡編程的Socket也常常用C語言開發。在這里,得掌握基本的文件操作、進程/線程控制、Socket等。推薦《嵌入式Linux C語言開發》
六、了解硬件方面的知識
對硬件方面還是要稍微了解一下的,不然不能和硬件對接哦,這里就不多說硬件方面的知識了,對于硬件你可以從:單片機,數據結構,編譯原理,數據庫等。
學完上面這些理論之后,得再復習一下linux下C編程,你會有更大的收獲。
由于系統還沒起來,所以驅動能用到的API(內核的部分API,如:kprintk、kmalloc等)并不多,很多函數還是得自己寫的,其中,會經常訪問臨界資源,所以得掌握自旋鎖、睡眠鎖。此外,驅動程序出問題的話,整個系統就掛掉了,所以還要掌握各種調試驅動的方法,如:goto語句、日志系統、KDB等。接下來就要熟悉掌握字符設備和塊設備的驅動程序了。
在學習操作系統原理的時候,已經有介紹文件系統了,而且不需要深入研究文件系統的具體算法,只需要了解其特性再學會使用它就可以了。如:NFS、FAT32、NTFS、yaffs2、ext4、ZFS等。
一般初學,可以先掌握內核剪裁(具體工作就是填寫若干個選項)。剪裁只是去掉內核部分不需要的功能,以減少代碼體積。這里只要求你對內核的各個功能選項都很熟悉就可以了。如果剪裁還不能滿足要求的話,得閱讀內核源碼,修改內核了。
單片機也有bootloader,在keil C下的startup.a51,主要是做一些初始化工作。那么,在ARM上面的bootloader也是一樣的功能,同樣,也沒有那么重要所以把它排在后面。常用的bootloader有vivi和uboot,一般學習uboot,主要掌握uboot的啟動流程和移植。在經過前面的學習,那么uboot對你來說已經非常容易的了,一般只需要學會使用uboot或者用已經移植好的uboot,不需要深入研究它。推薦《Ubuntu Linux從初學到精通》
以上就是嵌入式學習的幾個重要的知識內容,詳細內容可以查看信盈達的嵌入式課程大綱。
免費領取試聽卡
申請已經提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!