uboot中為什么不需要應(yīng)用程序 我想學(xué)習(xí)嵌入式系統(tǒng),都需要些什么基礎(chǔ)?
我想學(xué)習(xí)嵌入式系統(tǒng),都需要些什么基礎(chǔ)?現(xiàn)在互聯(lián)網(wǎng)IT發(fā)展的很快,嵌入式系統(tǒng)可謂是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。因?yàn)楹芏嗳硕枷雽W(xué)習(xí)嵌入式開發(fā),為大家講解自學(xué)嵌入式開發(fā)需清楚的一些基礎(chǔ)知識。1
我想學(xué)習(xí)嵌入式系統(tǒng),都需要些什么基礎(chǔ)?
現(xiàn)在互聯(lián)網(wǎng)IT發(fā)展的很快,嵌入式系統(tǒng)可謂是當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。因?yàn)楹芏嗳硕枷雽W(xué)習(xí)嵌入式開發(fā),為大家講解自學(xué)嵌入式開發(fā)需清楚的一些基礎(chǔ)知識。
1.知道一點(diǎn)C語言基礎(chǔ)知識。C語言是一門基礎(chǔ)語言,無論對嵌入式軟件那就硬件開發(fā)編程,都有吧很重要的是的作用。
2.打聽一下操作系統(tǒng)。對操作系統(tǒng)所所了解也很重要的是,再者進(jìn)程、線程,系統(tǒng)是咋分配資源的,咋系統(tǒng)管理硬件的等等,這些都能幫你對硬件和軟件有個(gè)很好的理解。
3.了解Linux或是wince下的編程。
4.具備單機(jī)片或是ARM或則MIPS等去相關(guān)基礎(chǔ)。
5.其他知識的擴(kuò)充。我們還可以不是從泛讀一些杰出的代碼,打聽一下UBOOT的源代碼,或則是學(xué)下linux的源代碼等等。不過嵌入式也可以零基礎(chǔ)學(xué)習(xí)的,因此如果你認(rèn)真用心學(xué)是可以不掌握嵌入式開發(fā)這門技術(shù)的。
Linux內(nèi)核開發(fā)與Linux驅(qū)動開發(fā)有什么關(guān)系?
還沒能學(xué)驅(qū)動,大概的說幫一下忙吧,驅(qū)動是確立在內(nèi)核之上來旗下的,比如說你寫了一個(gè)驅(qū)動的代碼,那就要把驅(qū)動讀取到內(nèi)核中去,然后再內(nèi)核去先執(zhí)行,為什么不必須內(nèi)核,我個(gè)人的理解那是,內(nèi)核是來系統(tǒng)管理硬件資源的,你寫的驅(qū)動代碼是來驅(qū)動硬件的,內(nèi)核不可能去驅(qū)動硬件的,不過以及管理進(jìn)程,這部分的事情由驅(qū)動做個(gè),驅(qū)動可以不理解為一個(gè)進(jìn)程,內(nèi)核你們負(fù)責(zé)來管理呀,結(jié)構(gòu)就是:應(yīng)用程序-rlm內(nèi)核(比如說io操作write,read等等)-rlm驅(qū)動程序(比如說write來驅(qū)動磁盤來寫)。
是說那就是這對驅(qū)動安裝開發(fā)完畢,可不知道樓主是否學(xué)過單片機(jī),可以明白驅(qū)動那就是一個(gè)驅(qū)動硬件的過程,那像單片機(jī)差不多,當(dāng)然了再發(fā)過程中應(yīng)該有比較大的區(qū)別的。
內(nèi)核開發(fā),這個(gè)工作還真又不是就像的人能旗下的,要不linux內(nèi)核的維護(hù)就肯定不會給linux之父了,內(nèi)核的開發(fā)那是用一種方法來合不合理的管理并怎么分配硬件資源,諸如內(nèi)存的管理就都用到分頁的方法,還有一個(gè)一些磁盤的管理,進(jìn)程的管理,cpu的調(diào)度算法(比如最簡單FIFO,時(shí)間片)等等,在自學(xué)內(nèi)核前做到把操作系統(tǒng)原理看一下,這本書還也可以:
我怎么學(xué)習(xí)的時(shí)候結(jié)合了國外的操作系統(tǒng)原理第七版,因?yàn)檫@兩本書詳細(xì)介紹的側(cè)重點(diǎn)所不同,上圖的書理論聯(lián)系實(shí)踐性(兩者相比后一本),后一本注重實(shí)際算法方面。
額。。說偏了哈,再說終有一天樓主肯定是想開發(fā)內(nèi)核的,因此個(gè)人建議先把原理學(xué)會,有最基本的計(jì)算機(jī)科學(xué)基礎(chǔ)知識最很好學(xué)的打扎實(shí)點(diǎn),否則去學(xué)習(xí)內(nèi)核就并非而且疲憊,當(dāng)然是相比什么都不懂的情況下。