ARM學(xué)習(xí)規(guī)劃
ARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開(kāi)發(fā)目標(biāo):
(1) 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為arm9)
(2) 必須掌握一個(gè)嵌入式操作系統(tǒng) (初步定為uclinux或linux,版本待定)
(3) 必須熟悉嵌入式軟件開(kāi)發(fā)流程并至少做一個(gè)嵌入式軟件項(xiàng)目。
從事嵌入式軟件開(kāi)發(fā)的好處是:
(1)目前國(guó)內(nèi)外這方面的人都很稀缺。這一領(lǐng)域入門(mén)門(mén)檻較高,所以非專(zhuān)業(yè)IT人員很難切入這一領(lǐng)域;另一方面,是因?yàn)檫@一領(lǐng)域較新,目前發(fā)展太快,大多數(shù)人無(wú)條件接觸。
(2)與企業(yè)計(jì)算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強(qiáng)度通常低一些(但收入不低)。
(3)哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計(jì)一般都是請(qǐng)其它公司給訂做(這叫“貼牌”:OEM),都是通用的硬件,我們只管設(shè)計(jì)軟件就變成自己的產(chǎn)品了。
(4)興趣所在,這是最主要的。
從事嵌入式軟件開(kāi)發(fā)的缺點(diǎn)是:
(1) 入門(mén)起點(diǎn)較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級(jí)軟件功底不深,則可能不適于此行。
(2)這方面的企業(yè)數(shù)量要遠(yuǎn)少于企業(yè)計(jì)算類(lèi)企業(yè)。
(3)有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無(wú)此要求,只要有經(jīng)驗(yàn)即可。
(4)平臺(tái)依托強(qiáng),換平臺(tái)比較辛苦。
興趣的由來(lái):
1、成功觀念不同,不虛度此生,就是我的成功。
2、喜歡思考,挑戰(zhàn)邏輯思維。
3、喜歡C
C是一種能發(fā)揮思維極限的語(yǔ)言。關(guān)于C的精神的一些方面可以被概述成短句如下:
相信程序員。
不要阻止程序員做那些需要去做的。
保持語(yǔ)言短小精干。
一種方法做一個(gè)操作。
使得它運(yùn)行的夠快,盡管它并不能保證將是可移植的。
4、喜歡底層開(kāi)發(fā),討厭vb類(lèi)開(kāi)發(fā)工具(并不是說(shuō)vb不好)。
5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時(shí)候還是一個(gè)工程師。
方法步驟:
1、基礎(chǔ)知識(shí):
目的:能看懂硬件工作原理,但重點(diǎn)在嵌入式軟件,特別是操作系統(tǒng)級(jí)軟件,那將是我的優(yōu)勢(shì)。
科目:數(shù)字電路、計(jì)算機(jī)組成原理、嵌入式微處理器結(jié)構(gòu)。
匯編語(yǔ)言、C/C++、編譯原理、離散數(shù)學(xué)。
數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)。
方法:雖科目眾多,但都是較簡(jiǎn)單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。
主攻書(shū)籍:the c++ programming language(一直沒(méi)時(shí)間讀)、數(shù)據(jù)結(jié)構(gòu)-C2。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論