国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

基于iTOP-4412開發(fā)板的Linux學(xué)習(xí)步驟

發(fā)布時(shí)間:2020-9-7 10:33    發(fā)布者:落風(fēng)
本節(jié)結(jié)合迅為的 iTOP-4412 開發(fā)板來介紹一下嵌入式技術(shù)的學(xué)習(xí)步驟。
大家都知道,嵌入式技術(shù)的知識(shí)面非常廣,學(xué)起來往往不知道如何下手,我們通過這一小節(jié)給大家闡述一下嵌入式技術(shù)應(yīng)該從哪里開始學(xué)起,以及按照什么樣的步驟深入下去,最后順利入門,成為一個(gè)合格的嵌入式工程師。
這節(jié)的教程很重要,希望通過這次的講解能起到提綱挈領(lǐng)的作用,讓大家能夠在大量的學(xué)習(xí)資料中有一個(gè)比較清晰的學(xué)習(xí)脈絡(luò)。
前面已經(jīng)介紹過,嵌入式系統(tǒng)的學(xué)習(xí)方法,首先要掌握架構(gòu),那么什么是架構(gòu)呢,這里再強(qiáng)調(diào)一遍,那就是要搞清楚幾個(gè)概念:弄明白什么是 BootLoadre 引導(dǎo)程序,什么是 Linux 操作系統(tǒng)內(nèi)核 Kernel,什么是文件系統(tǒng)。這個(gè)很重要,如果搞不明白,直接去學(xué)其他的內(nèi)容,學(xué)起來就比較迷糊,實(shí)際上是在走彎路,這里推薦大家首先要看一篇文章,也就是迅為用戶QQ 群的一個(gè)聊天記錄:《澄清幾個(gè)基本概念-迅為 QQ 群聊天記錄》,這個(gè)文件在迅為 QQ群的共享里有,在網(wǎng)盤里也有提供,大家可以去研讀一下。
相信大家看了這個(gè)對(duì)話以后,就應(yīng)該明白 u-boot、Kernel 和文件系統(tǒng)這幾個(gè)文件的作用和意義。接下來大多數(shù)工作都是圍繞這幾個(gè)文件展開的,比如編譯環(huán)境的搭建, 源代碼的編譯和燒寫, 應(yīng)用程序和驅(qū)動(dòng)程序的編程等等,就是說這幾個(gè)文件是貫穿我們整個(gè)嵌入式學(xué)習(xí)的始終的。把這幾個(gè)文件搞明白了,后面的學(xué)習(xí)也就有了目標(biāo),所以說搞明白這幾個(gè)文件的含義非常重要。
接下來需要我們做的是搭建編譯環(huán)境,在教程里建議大家安裝 64 位的 WIN7 系統(tǒng),并且在 WIN7 或者 WIN10 系統(tǒng)上安裝虛擬機(jī),然后在虛擬機(jī)上再安裝 ubuntu。這里需要說明的是,大家在初學(xué)的時(shí)候要盡量按照教程里的方法一步步的來,這樣學(xué)習(xí)的效率比較高,如果你使用 XP 系統(tǒng)或者 WIN8 系統(tǒng)不是說不行,但是在安裝和編譯過程可能遇到很多別人沒有遇到的問題,解決起來就比較麻煩,所以在可能的情況下一定要按照手冊(cè)的要求來做,尤其是初學(xué)者;當(dāng)然大家熟練以后可以去做下創(chuàng)新,做不同的嘗試。
安裝編譯環(huán)境是個(gè)很費(fèi)事的過程,雖然說沒有太多的技術(shù)含量,但是在這個(gè)過程中也要客服很多困難,開源系統(tǒng)就是這樣,時(shí)常會(huì)遇到一些這樣那樣的問題,很多時(shí)候是不可預(yù)測(cè)的,或許大家會(huì)覺得安裝系統(tǒng)是浪費(fèi)時(shí)間很困惑,其實(shí)這個(gè)過程也是很重要的,中間要學(xué)習(xí)很多的知識(shí),只要大家不怕折騰,這些過程當(dāng)中的困難都是可以克服的,迅為公司為了讓大家少走彎路,已經(jīng)把安裝步驟做了很大程度的簡化,比如已經(jīng)做好了虛擬機(jī)的 ubuntu 鏡像,直接拷貝進(jìn)去就可以使用了。
開發(fā)環(huán)境搭建起來以后,這個(gè)時(shí)候可以學(xué)習(xí)一下對(duì)源碼進(jìn)行編譯,同時(shí)也可以學(xué)習(xí)一下燒寫,一步步按照教程去做就可以了。再次強(qiáng)調(diào)一下,所有這些工作都是圍繞我們前面所講的那三個(gè)文件進(jìn)行的,也就是 Uboot, Kernel 和文件系統(tǒng)。
系統(tǒng)的編譯和燒寫都是依賴于這個(gè)開發(fā)環(huán)境的,也就是必須在虛擬機(jī)上安裝好 ubuntu,
并且把源代碼從光盤中拷貝到 ubuntu 的環(huán)境下面,只要按照教程的提示往下做就可以了。
在熟練掌握系統(tǒng)的編譯和燒寫以后,就可以進(jìn)一步開始嵌入式開發(fā)了,那么這個(gè)時(shí)候建議先學(xué)習(xí)一下 Linux 應(yīng)用程序的設(shè)計(jì),也就是按照教程開始逐步深入。
這個(gè)時(shí)候要按照網(wǎng)盤里的‘iTOP-4412 開發(fā)板視頻教程及其相關(guān)’里的‘嵌入式 linux 視
頻’進(jìn)行學(xué)習(xí)。
大家在初學(xué)的時(shí)候,還是要按照這個(gè)實(shí)驗(yàn)的順序來走一遍,這里強(qiáng)調(diào)兩個(gè)方面,來幫助大家理解:
一、第一個(gè)實(shí)驗(yàn)也就是第 0 個(gè),是制作 linux 的最小系統(tǒng),那么什么是最小系統(tǒng)呢,就是Linux 運(yùn)行的時(shí)候能跑的起來的最小系統(tǒng),也就是說我們?cè)谖募到y(tǒng)當(dāng)中把圖形系統(tǒng)的內(nèi)容從這個(gè)文件系統(tǒng)里面砍掉了;在很多設(shè)備里面,比如說路由器,或者一些通訊類或者控制類的產(chǎn)品中是不需要圖形界面的,這樣我們就可以做一個(gè)簡化的 Linux 文件系統(tǒng),這時(shí)候最小系統(tǒng)的設(shè)計(jì)就排上用場(chǎng)了。
二、這些實(shí)驗(yàn)都是通過燒寫文件系統(tǒng)的方式來測(cè)試的,其實(shí)有一種比較簡單和實(shí)用的方
法,那就是通過網(wǎng)絡(luò)文件系統(tǒng)來進(jìn)行(NFS),至于什么是 NFS,以及如何搭建,大家一定要
學(xué)習(xí)一下,具體可以參考第 12 個(gè)試驗(yàn),就是‘實(shí)驗(yàn) 12’,因?yàn)閷砦覀冋{(diào)試應(yīng)用程序或者驅(qū)動(dòng)都是要通過這個(gè)手段來進(jìn)行的,它是公認(rèn)的比較好用的調(diào)試辦法。也就是說我們這些實(shí)驗(yàn)回過頭來,都是可以通過 NFS 來進(jìn)行調(diào)試的,這時(shí)候就不用每次燒寫,整個(gè)調(diào)試工作變得更容易,在實(shí)際的 Linux 調(diào)試中,多數(shù)是通過這種方式來進(jìn)行的。
所以說大家一定要學(xué)會(huì) NFS 的調(diào)試方法。
學(xué)完 Linux 的應(yīng)用程序設(shè)計(jì),接著應(yīng)該學(xué)習(xí)一下 Linux 驅(qū)動(dòng)方面的編程了。Linux 驅(qū)動(dòng)程序全部掌握是非常困難的,但是要明確我們的目標(biāo)是能利用 Linux 這個(gè)操作系統(tǒng)來開發(fā)產(chǎn)品。大家都知道,Linux 的驅(qū)動(dòng)分為網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)以及字符類設(shè)備驅(qū)動(dòng),如前面所述,我們只需要把字符類設(shè)備的驅(qū)動(dòng)掌握好就可以了。
因?yàn)樵陂_發(fā)產(chǎn)品的時(shí)候,網(wǎng)絡(luò)設(shè)備以及塊設(shè)備驅(qū)動(dòng)在開發(fā)套件里都是做好的,直接用就可以了,幾乎沒有人從頭去做,就算開發(fā)不同的網(wǎng)絡(luò)接口驅(qū)動(dòng),也是直接把現(xiàn)成寫好的驅(qū)動(dòng)拿來直接調(diào)試一下。所以說塊設(shè)備和網(wǎng)絡(luò)設(shè)備不需要我們?nèi)ヌ嚓P(guān)注,但是對(duì)于字符類設(shè)備驅(qū)動(dòng)就需要我們仔細(xì)研究并且完全掌握了,那么最基本的字符類驅(qū)動(dòng)就是針對(duì) GPIO 的驅(qū)動(dòng)設(shè)計(jì),這個(gè)是一定要掌握的。比如我們的產(chǎn)品增加一個(gè)步進(jìn)電機(jī),驅(qū)動(dòng)幾個(gè)開關(guān)、繼電器、采集電流電壓模擬量、擴(kuò)展并對(duì)外部 RAM 內(nèi)存數(shù)據(jù)的讀取等等,都是基本的字符類的驅(qū)動(dòng),至于RFIDGPS 模塊、GPRS 模塊、CAN 總線等等實(shí)際都是利用 Linux 本身已經(jīng)做好的驅(qū)動(dòng),歸根到底是使用串口、I2C 以及 SPI 等來實(shí)現(xiàn)的,很多開發(fā)并不需要我們做什么。對(duì)于網(wǎng)絡(luò)設(shè)備,只需要在上層做個(gè)應(yīng)用程序,用 SOCKET 來實(shí)現(xiàn)數(shù)據(jù)通訊就可以了。
那么在學(xué)習(xí)這部分內(nèi)容之前呢,建議大家讀一下另一個(gè)聊天記錄:‘Linux 驅(qū)動(dòng)初探_精
英版 QQ 群聊天記錄.doc’,這個(gè)文檔會(huì)對(duì)大家理解驅(qū)動(dòng)的架構(gòu)很有好處。
那么我們前面說到了,應(yīng)用程序的調(diào)試要通過 NFS 來進(jìn)行,驅(qū)動(dòng)也是這樣的,而且要學(xué)會(huì)用模塊的方法來調(diào)試驅(qū)動(dòng)。
我們?cè)?Android 的視頻中比較詳細(xì)的介紹了 Linux 的底層如何構(gòu)建 LED 的驅(qū)動(dòng)程序。除此之外呢,我們會(huì)在補(bǔ)充文檔里面跟大家說明如何使用模塊,也就是 module 的方法來調(diào)試驅(qū)動(dòng)程序。掌握這些方法是很重要的。也就是說大家一定要掌握通過 module 的方法動(dòng)態(tài)加載和卸載驅(qū)動(dòng)來調(diào)試驅(qū)動(dòng)程序。
當(dāng)大家熟練學(xué)會(huì)了以上強(qiáng)調(diào)的 Linux 系統(tǒng)的開發(fā)技術(shù),我想大家對(duì) Linux 的體系有了基本的了解,這個(gè)時(shí)候其實(shí)已經(jīng)算是入門了,也就是說可以嘗試去做一些產(chǎn)品,并不是說我們對(duì)Linux 的源碼分析一遍才能真正做事情,不是那樣的,我們的目標(biāo)是做產(chǎn)品,學(xué)會(huì)利用 Linux這個(gè)操作系統(tǒng),開發(fā)出目標(biāo)產(chǎn)品!

本文地址:http://www.4huy16.com/thread-602078-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術(shù)精英年會(huì)深圳站回顧
  • 常見深度學(xué)習(xí)模型介紹及應(yīng)用培訓(xùn)教程
  • Microchip第22屆中國技術(shù)精英年會(huì)——采訪篇
  • 電動(dòng)兩輪車設(shè)計(jì)生態(tài)系統(tǒng)
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表