|
1.內(nèi)容提要 本書主要基于龍芯芯片在嵌入式平臺上的開發(fā)及應(yīng)用,涉及嵌入Linux系統(tǒng)的開發(fā)和移植、無線傳感網(wǎng)技術(shù),以及遠(yuǎn)程服務(wù)器的網(wǎng)絡(luò)通信技術(shù),移動應(yīng)用平臺開發(fā)等多個方面全面的分析。 本書內(nèi)容分為5個部分:第1部分是龍芯嵌入式系統(tǒng)開發(fā)的基礎(chǔ)知識。介紹龍芯家族的嵌入式芯片發(fā)展?fàn)顩r,嵌入式開發(fā)的思想,以及主要針對龍芯1B、龍芯1C兩款芯片介紹主要硬件特性和使用到的軟件資源。第2部分是嵌入式開發(fā)環(huán)境及相關(guān)基礎(chǔ)知識。介紹開發(fā)環(huán)境的搭建,從Ubuntu虛擬機(jī)的安裝,到交叉工具鏈的安裝和主要調(diào)試工具的安裝與使用。再從Linux系統(tǒng)的角度,介紹怎么在龍芯平臺上移植Bootloader、Linux內(nèi)核、文件系統(tǒng)和應(yīng)用程序、以及OpenWrt開源解決方案的使用。第3部分是基于龍芯1B開發(fā)板的嵌入式Linux編程開發(fā)。主要是應(yīng)用編程和驅(qū)動開發(fā)。應(yīng)用編程有Linux基礎(chǔ)編程、基于QT的圖形界面編程,以及在嵌入式平臺上的Web編程。驅(qū)動開發(fā)介紹了字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動和Linux設(shè)備驅(qū)動中的主要機(jī)制。再從ADC、外部按鍵和RTC幾個具體的實(shí)例進(jìn)行應(yīng)用分析。第4部分是基于龍芯1B的項(xiàng)目實(shí)戰(zhàn)。主要從智能農(nóng)業(yè)大棚控制系統(tǒng)、智能家居和智慧教室三個項(xiàng)目中一一進(jìn)行說明。第5部分是龍芯嵌入式開發(fā)的產(chǎn)品和應(yīng)用。介紹了基于物聯(lián)網(wǎng)無線通信協(xié)議CMAC的遠(yuǎn)距離無線模塊和龍芯與CMAC的協(xié)議應(yīng)用,以實(shí)現(xiàn)將嵌入式技術(shù)轉(zhuǎn)換為實(shí)際應(yīng)用。 龍芯嵌入式系統(tǒng)開發(fā)基礎(chǔ)、嵌入式開發(fā)環(huán)境及相關(guān)基礎(chǔ)知識、基于龍芯1B開發(fā)板的嵌入式Linux編程開發(fā)、基于龍芯1B的項(xiàng)目實(shí)戰(zhàn)、以及基于龍芯嵌入式開發(fā)的產(chǎn)品和應(yīng)用。本書適合具有一定嵌入Linux系統(tǒng)基礎(chǔ)知識的開發(fā)人員,計算機(jī)及通信專業(yè)的在校學(xué)生,以及有過單片機(jī)和嵌入式硬件開發(fā)經(jīng)驗(yàn),想深入學(xué)習(xí)嵌入式軟件開發(fā)的從業(yè)人員。對于涉及計算機(jī)網(wǎng)絡(luò),Linux操作系統(tǒng)方面的基礎(chǔ)知識我們只稍作介紹,不會深入地分析。我們旨在通過這些知識進(jìn)一步深入地學(xué)習(xí)龍芯平臺上的嵌入式開發(fā)和應(yīng)用實(shí)戰(zhàn)。 2.序 中央處理器(CPU,Central Processing
Unit)是計算機(jī)系統(tǒng)中最重要的部件,是信息產(chǎn)品的“心臟”及其信息安全的保障,也是一個國家綜合技術(shù)實(shí)力的象征。我國在CPU技術(shù)上長期以來被國外牽制,缺乏具有自主知識產(chǎn)權(quán)的CPU芯片。 自2002年中國科學(xué)院計算技術(shù)研究所自主研發(fā)龍芯1號芯片成功以來,在國家863計劃和國家“核高基”重大專項(xiàng)等助力支持下,龍芯經(jīng)歷了10多年的快速發(fā)展,不僅在技術(shù)指標(biāo)上不斷刷新紀(jì)錄,同時也為我國打破國外壟斷、創(chuàng)出一條自主可控的CPU開發(fā)和產(chǎn)業(yè)化道路,起到了里程碑式的作用。 然而,當(dāng)國產(chǎn)芯片想要更大規(guī)模產(chǎn)業(yè)化、更廣泛地應(yīng)用到國計民生中時,幾個嚴(yán)峻的問題擺在眼前: (1) 在通用CPU的PC領(lǐng)域:以Intel
X86為代表的復(fù)雜指令集計算機(jī)(CISC)體系結(jié)構(gòu),基于英特爾和微軟的“Wintel”組合,憑借Windows龐大的生態(tài)與開發(fā)環(huán)境,幾乎壟斷桌面電腦市場長達(dá)近30年之久。龍芯通用CPU是基于MIPS架構(gòu),在個人電腦操作系統(tǒng)方面,只能從開源的Linux系統(tǒng)中尋求突破。龍芯作為后來者,要進(jìn)入通用PC市場的壁壘很高。 (2) 在通用嵌入式處理器(Embedded Processor
Unit,EPU)應(yīng)用領(lǐng)域:以ARM為代表的精簡指令集算法(RISC),擁有開放式IP體系結(jié)構(gòu)、基于高性能的軟件平臺和優(yōu)越的用戶體驗(yàn)。憑借內(nèi)核授權(quán)或架構(gòu)授權(quán)的模式,ARM的IP核已成為當(dāng)今國內(nèi)外SoC芯片處理器業(yè)界的首選者,其相應(yīng)產(chǎn)品線幾乎覆蓋了包括移動通信終端、消費(fèi)類電子、數(shù)字電視、工業(yè)控制和汽車電子等微處理器應(yīng)用的每一個領(lǐng)域。相比成熟強(qiáng)大的ARM生態(tài)圈,龍芯嵌入式芯片在嵌入式處理器應(yīng)用的拓展,與通用CPU的PC領(lǐng)域一樣舉步維艱。 應(yīng)該看到,無論是通用CPU,還是通用嵌入式微處理器,國產(chǎn)芯片要想成功,僅僅靠技術(shù)指標(biāo)的跟進(jìn)是遠(yuǎn)遠(yuǎn)不夠的,必須要有配套的操作系統(tǒng)及其應(yīng)用軟件,更重要的是架構(gòu)起相應(yīng)的產(chǎn)業(yè)鏈、價值鏈和生態(tài)鏈,為千差萬別的應(yīng)用場景和體驗(yàn),提供優(yōu)異的服務(wù)支撐。 2010年底,南京龍淵微電子科技有限公司成立,旨在做一個龍芯產(chǎn)業(yè)化的推動者。龍淵團(tuán)隊(duì)認(rèn)為:從市場發(fā)展態(tài)勢看,嵌入式CPU市場可能給我國留有更多地發(fā)展空間,尤其是今天物聯(lián)網(wǎng)被視作為全球經(jīng)濟(jì)增長的新引擎,帶來新一代的信息技術(shù)革命;從競爭形勢看,CPU的競爭已不單純是CPU自身的競爭,更多地體現(xiàn)在適配的產(chǎn)業(yè)生態(tài)系統(tǒng)的競爭上?!秶沂逡?guī)劃》明確指出,首先實(shí)施“互聯(lián)網(wǎng)+”行動計劃,發(fā)展物聯(lián)網(wǎng)技術(shù)和應(yīng)用,發(fā)展“分享經(jīng)濟(jì)”這一網(wǎng)絡(luò)經(jīng)濟(jì)的典型模式。在新的領(lǐng)域,既是機(jī)遇,更是挑戰(zhàn)。為此,龍淵團(tuán)隊(duì)勵志做龍芯嵌入式芯片的具體應(yīng)用,搭載嵌入式Linux操作系統(tǒng),在新興的互聯(lián)網(wǎng)+、物聯(lián)網(wǎng)領(lǐng)域開辟新的藍(lán)海市場。 從2014年開始,龍淵團(tuán)隊(duì)在龍芯團(tuán)隊(duì)等科研機(jī)構(gòu)的幫助和指導(dǎo)下,充分發(fā)揮龍芯1B芯片的高性能、低功耗特點(diǎn),在超精簡操作系統(tǒng)、超低功耗運(yùn)行、開發(fā)實(shí)時Linux所需的專用驅(qū)動程序等方面,設(shè)計了多種開發(fā)板、核心板,開發(fā)了多種驅(qū)動、示例程序,出版3部教材并撰寫說明書、開發(fā)資料、開發(fā)教程等。 同時,龍淵團(tuán)隊(duì)在智能農(nóng)業(yè)、智能家居、智慧教室、智能制造等多個物聯(lián)網(wǎng)具體應(yīng)用領(lǐng)域,基于龍芯1B芯片平臺,已開發(fā)形成和提供了從軟件到硬件的嵌入式系統(tǒng)、物聯(lián)網(wǎng)應(yīng)用產(chǎn)品和物聯(lián)網(wǎng)行業(yè)應(yīng)用整體解決方案,創(chuàng)造了上億元的經(jīng)濟(jì)效益,得到了市場和業(yè)界認(rèn)可;其成果先后獲得21項(xiàng)科技進(jìn)步獎,并在國家工信部軟件和集成電路促進(jìn)中心一年一度的“中國芯”等評獎中,先后獲得15項(xiàng)“中國芯”和年度物聯(lián)網(wǎng)解決方案獎。龍淵團(tuán)隊(duì)為初步架構(gòu)起的“龍芯1B芯片+Linux”的生態(tài)鏈,實(shí)現(xiàn)基于龍芯1B芯片的物聯(lián)網(wǎng)應(yīng)用作出了應(yīng)有的貢獻(xiàn)。 《龍芯嵌入式系統(tǒng)開發(fā)及應(yīng)用實(shí)戰(zhàn)》的編寫,即是龍淵團(tuán)隊(duì)?wèi)?yīng)用龍芯等國產(chǎn)技術(shù),在多年面向物聯(lián)網(wǎng)具體行業(yè)應(yīng)用求索中的研究成果、經(jīng)驗(yàn)和失敗教訓(xùn)的總結(jié)。本書適合具有一定嵌入Linux系統(tǒng)基礎(chǔ)知識的開發(fā)人員、計算機(jī)及通信專業(yè)的在校學(xué)生、從事嵌入式微處理器及其SoC芯片應(yīng)用的研發(fā)人員;對于政府機(jī)關(guān)負(fù)責(zé)制定CPU產(chǎn)業(yè)發(fā)展規(guī)劃的工作人員,也具有較好的參考價值。 是以為序,并以中國半導(dǎo)體協(xié)會集成電路設(shè)計分會趙建忠老師的《浪淘沙-創(chuàng)新創(chuàng)業(yè)中國夢》一詞為結(jié)語: 芯片鑄國威,崛起晶硅!雄鷹展翅向天飛。志在云霄攬皓月,一片葳蕤。 四海鼓驚雷,征道安危?掃清霾霧沐春暉。鏖戰(zhàn)驍將沙場喚,搏浪爭魁。 2016年11月8日 3.前言 作為曾為國人帶來無限榮光的“中國第一芯”,龍芯CPU承載著太多的責(zé)任與使命,亦有著不同尋常的宏大愿景。2002年8月10日清晨,當(dāng)龍芯1號實(shí)機(jī)運(yùn)行的畫面出現(xiàn)在電腦屏幕上時,所有人都?xì)g呼雀躍——中國終于擁有了自主知識產(chǎn)權(quán)的高性能“中國芯”“民族芯”。 然而,一個多數(shù)人忽略的關(guān)鍵問題擺在眼前:英特爾之所以在電腦芯片領(lǐng)域稱雄,除了自身多年的技術(shù)和市場積累,還有一個重要盟友——微軟。20世紀(jì)80年代IBM在業(yè)界推出第一臺個人電腦后,將芯片和操作系統(tǒng)訂單分別交給了英特爾和微軟。從那時起,這個隱形的“Wintel”組合一步一步蠶食市場,幾乎壟斷PC市場長達(dá)近30年之久。龍芯,顯然缺少這樣的盟友,相比成熟強(qiáng)大的微軟操作系統(tǒng)Windows,國產(chǎn)操作系統(tǒng)和國產(chǎn)芯片一樣舉步維艱。 國產(chǎn)芯片要想成功,僅僅是靠技術(shù)指標(biāo)的跟進(jìn)是遠(yuǎn)遠(yuǎn)不夠的,必須要有配套的軟件和服務(wù)支撐,能夠應(yīng)用到具體的生活場景中,才能得到市場的認(rèn)可。在PC領(lǐng)域,微軟的操作系統(tǒng)只對X86架構(gòu)和擴(kuò)展的X64架構(gòu)CPU提供支持;龍芯是基于MIPS架構(gòu)的,顯然失去了這一強(qiáng)有力的臂助。對此,只能從開源的Linux系統(tǒng)中尋求幫助。但目前為止,在個人電腦操作系統(tǒng)的使用中,Linux遠(yuǎn)比Windows遜色。僅就電腦而言,MIPS架構(gòu)的電腦想要趕超X86架構(gòu)的電腦,尚需時日。 2010年底,南京龍淵微電子科技有限公司成立,旨在普及推廣龍芯等國產(chǎn)芯片,做龍芯產(chǎn)業(yè)化的推動者之一。龍淵團(tuán)隊(duì)另辟蹊徑,希望應(yīng)用龍芯嵌入式芯片,搭載嵌入式Linux操作系統(tǒng)和自主開發(fā)的物聯(lián)網(wǎng)通信組網(wǎng)協(xié)議,在新興的物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)等領(lǐng)域取得突破,為龍芯尋找一個全新的藍(lán)海市場。在PC領(lǐng)域,基于Windows龐大的生態(tài)與開發(fā)環(huán)境,國產(chǎn)軟件難與微軟爭鋒。但是在互聯(lián)網(wǎng)及嵌入式平臺上,大量充斥著基于Linux的技術(shù)支持與平臺應(yīng)用,行業(yè)紛雜而標(biāo)準(zhǔn)又不統(tǒng)一。在新的領(lǐng)域,這既是機(jī)遇,更是挑戰(zhàn),大家盡可各顯神通。而龍芯基于MIPS架構(gòu),仿佛天生基因中就已經(jīng)寫入了嵌入式的概念,使用起來顯得游刃有余,這更堅(jiān)定了我們做龍芯嵌入式開發(fā)的信心與勇氣。 Linux的優(yōu)勢在于它強(qiáng)大的網(wǎng)絡(luò)功能,無論是大型的服務(wù)器,還是嵌入式設(shè)備,搭載Linux內(nèi)核的操作系統(tǒng)隨處可見。特別是伴隨著互聯(lián)網(wǎng)應(yīng)用的發(fā)展,Linux的開源性質(zhì)更是吸引了全世界無數(shù)的開發(fā)者和愛好者共同來壯大這個陣營。龍淵團(tuán)隊(duì)做龍芯嵌入式芯片應(yīng)用的第一個重要任務(wù)就是融入這個Linux生態(tài),因而首先要實(shí)現(xiàn)一套從軟件到硬件的完整嵌入式系統(tǒng)。龍芯1B等龍芯一號系列芯片,只是通用的嵌入式微處理器芯片,外圍支持DDR2、Nand、LCD、USB等諸多特性。針對這些特性,從硬件電路板設(shè)計,到Linux操作系統(tǒng)移植,我們都要一步步地實(shí)現(xiàn)。雖說MIPS架構(gòu)在Linux內(nèi)核中提供了很好的支持與兼容,且龍芯在最初的發(fā)展中積累了很多寶貴的經(jīng)驗(yàn)可以借鑒,但面對市場上嵌入式開發(fā)多是基于ARM芯片的時潮,以及涉足物聯(lián)網(wǎng)等新興行業(yè)和技術(shù),龍芯或多或少地出現(xiàn)了一些水土不服,甚至顯得曲高和寡。但在沒有任何市場預(yù)測前景下,我們還是成功地跨過了第一道門檻。 目前嵌入式操作系統(tǒng)領(lǐng)域,OpenWrt可能是一個標(biāo)桿。針對龍芯1B而言,龍淵團(tuán)隊(duì)經(jīng)過多年的努力與探索,基本上算是駕輕就熟了。此外,我們在超精簡操作系統(tǒng)、超低功耗運(yùn)行、開發(fā)實(shí)時Linux所需的專用驅(qū)動程序等方面做了大量研究,使得龍芯SoC芯片可以高性能、低功耗地應(yīng)用在物聯(lián)網(wǎng)領(lǐng)域。同時,我們也開始從基礎(chǔ)做起,培養(yǎng)龍芯SoC生態(tài)環(huán)境,設(shè)計了多種開發(fā)板、核心板,開發(fā)了多種驅(qū)動、示例程序,出版3部教材并撰寫說明書、開發(fā)資料、開發(fā)教程等。 在龍芯嵌入式系統(tǒng)開發(fā)方面站穩(wěn)了腳跟,接下來就需要在市場上謀求更大的發(fā)展。通過多年的摸索與實(shí)踐,加上龍芯總設(shè)計師胡偉武老師的指導(dǎo),我們意識到:龍芯也需要像ARM一樣,打造一條完整的上下游生態(tài)鏈。無論是技術(shù)支持,還是商業(yè)合作,每個階段和每個模塊都要做得更加精細(xì),才能經(jīng)得起市場的考驗(yàn)。2014年開始,我們響應(yīng)胡偉武老師的號召,著力打造基于龍芯的物聯(lián)網(wǎng)應(yīng)用產(chǎn)業(yè)鏈和生態(tài)圈,面向具體的行業(yè)應(yīng)用提供整體的解決方案。如今,基于龍芯平臺的嵌入式系統(tǒng)已分別應(yīng)用在智能農(nóng)業(yè)、智能家居、智慧教室、智能制造等多個領(lǐng)域。雖然在一個大的系統(tǒng)應(yīng)用里,龍芯芯片只占很小一部分,但是見微知著,我們最終走出了象牙塔,得到了市場和業(yè)界認(rèn)可。近3年來,基于龍芯的各種物聯(lián)網(wǎng)應(yīng)用產(chǎn)品和解決方案,先后獲得26項(xiàng)科技進(jìn)步獎,創(chuàng)造了上億元的經(jīng)濟(jì)效益;在國家工信部軟件和集成電路促進(jìn)中心一年一度的“中國芯”頒獎典禮和物聯(lián)網(wǎng)大會中,先后獲得15項(xiàng)“中國芯”和年度物聯(lián)網(wǎng)解決方案獎。 2016年,響應(yīng)“大眾創(chuàng)業(yè)、萬眾創(chuàng)新”和“互聯(lián)網(wǎng)+”的號召,在多個政府部門和科技園區(qū)的支持下,我們成立了南京龍淵眾創(chuàng)空間,致力于打造基于龍芯等國產(chǎn)芯片的物聯(lián)網(wǎng)產(chǎn)業(yè)鏈和生態(tài)圈。經(jīng)過半年多的努力,龍淵眾創(chuàng)空間已和20多所國內(nèi)高校和科技園區(qū)合作共建,初步完成了4個基于自主創(chuàng)新和創(chuàng)業(yè)項(xiàng)目孵化的上下游產(chǎn)業(yè)鏈的孵化創(chuàng)新平臺,孵化面積2.7萬平米,孵化項(xiàng)目近200個。區(qū)別于傳統(tǒng)眾創(chuàng)空間作為“二房東”、或泛泛提供“隔靴搔癢”的融資對接服務(wù)的模式,龍淵致力于打造兩類眾創(chuàng)空間:(1)國產(chǎn)技術(shù)的物聯(lián)網(wǎng)、云計算應(yīng)用產(chǎn)業(yè)鏈和生態(tài)圈(南京江寧開發(fā)區(qū)龍淵眾創(chuàng)空間總部、南京理工大學(xué)紫金學(xué)院物聯(lián)網(wǎng)眾創(chuàng)空間等等);(2)結(jié)合當(dāng)?shù)刂攸c(diǎn)特色產(chǎn)業(yè),和科技園區(qū)、高校合作,打造具備地區(qū)特色的產(chǎn)業(yè)鏈集聚型眾創(chuàng)空間,線下產(chǎn)業(yè)鏈企業(yè)入駐眾創(chuàng)空間,線上提供“特色產(chǎn)業(yè)技術(shù)創(chuàng)新+產(chǎn)品電商+產(chǎn)品溯源+物聯(lián)網(wǎng)智能化+旅游觀光”等五位一體的系統(tǒng)服務(wù)(安徽亳州花草茶眾創(chuàng)空間、淮安國家農(nóng)業(yè)科技園星創(chuàng)天地等)。 龍淵眾創(chuàng)空間集創(chuàng)新創(chuàng)業(yè)項(xiàng)目孵化和人才培養(yǎng)、產(chǎn)學(xué)研合作和成果轉(zhuǎn)化、技術(shù)支撐和科技金融服務(wù)為一體,打造多個創(chuàng)新創(chuàng)業(yè)的基礎(chǔ)平臺,具備五大特點(diǎn):與高校、科研機(jī)構(gòu)或科技園區(qū)合作共建的技術(shù)支撐平臺和科技成果轉(zhuǎn)化平臺;基于國產(chǎn)技術(shù),打造互聯(lián)網(wǎng)+和物聯(lián)網(wǎng)等上下游產(chǎn)業(yè)鏈和生態(tài)圈;以高校、科研機(jī)構(gòu)的創(chuàng)新創(chuàng)業(yè)者和項(xiàng)目為主體進(jìn)行孵化,并開展即將畢業(yè)大學(xué)生的就業(yè)和創(chuàng)新創(chuàng)業(yè)技能培訓(xùn)和實(shí)踐;成立由數(shù)百家高科技人才創(chuàng)業(yè)企業(yè)組成的企業(yè)聯(lián)盟,成為高校、企業(yè)、園區(qū)之間人才和科技成果等多方面需求對接的平臺。 為進(jìn)一步拓展產(chǎn)業(yè)鏈和生態(tài)圈,龍淵眾創(chuàng)近期完成了六大舉措:一是與國內(nèi)50多家高校和企業(yè)、科技園區(qū)合作,共建眾創(chuàng)空間,孵化創(chuàng)新創(chuàng)業(yè)項(xiàng)目;二是校、企、園區(qū)共同成立“互聯(lián)網(wǎng)+企業(yè)聯(lián)盟”,打造人才及技術(shù)需求搭建平臺形成產(chǎn)業(yè)鏈;三是校、企、園區(qū)共建“互聯(lián)網(wǎng)+學(xué)院”,開展大學(xué)生就業(yè)技能與創(chuàng)新創(chuàng)業(yè)能力培訓(xùn),培養(yǎng)學(xué)以致用人才,提前對接企業(yè)需求;四是通過首屆江蘇省高校大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽的學(xué)校分賽區(qū)的全省聯(lián)動,持續(xù)邀請各高校組織大賽的分賽區(qū),并聘請了一批專家擔(dān)任大賽評委;五是聯(lián)合了20余所高校,成立了高??萍汲晒蛯@D(zhuǎn)化的產(chǎn)學(xué)研平臺,校企園區(qū)三方產(chǎn)學(xué)研合作,推動物聯(lián)網(wǎng)、互聯(lián)網(wǎng)+產(chǎn)業(yè)發(fā)展;六是成立了創(chuàng)新創(chuàng)業(yè)導(dǎo)師委員會,下設(shè)科技分會和金融分會,并聘請了賁德院士、都有為院士擔(dān)任特聘顧問,朱洪波教授擔(dān)任委員會主任,于宗光、王志堅(jiān)等80多名專家教授分別擔(dān)任副主任、創(chuàng)新創(chuàng)業(yè)導(dǎo)師。 路漫漫其修遠(yuǎn)兮,中國芯和龍芯的發(fā)展道路任重道遠(yuǎn),需要更多的志同道合者奮然響應(yīng),砥礪前行。龍淵團(tuán)隊(duì)推廣龍芯,不單單只是一個企業(yè)的商業(yè)化運(yùn)作。我們基于開源開發(fā),開發(fā)出來的應(yīng)用系統(tǒng)也是開源的,方便二次開發(fā)。這都是為了使開發(fā)者和合作伙伴更好更方便地使用國產(chǎn)芯片,并加入國產(chǎn)芯片應(yīng)用推廣的隊(duì)伍。我們也熱切期待與更多的高校、科研機(jī)構(gòu)和科技園區(qū)展開合作,并殷切期待更多的有志青年加入自主創(chuàng)新、科技創(chuàng)業(yè)的事業(yè)。 在多年對龍芯嵌入式開發(fā)和行業(yè)應(yīng)用的探索過程中,我們積累了大量的經(jīng)驗(yàn)甚至是失敗的教訓(xùn),從而完成了這本書的編寫,希望藉此能對廣大的龍芯愛好者和開發(fā)者有所幫助。本書的編寫立項(xiàng)始于2013年,其中幾易其稿甚至完全推倒重寫,在東南大學(xué)出版社朱珉等老師的數(shù)十次督促下,今日終于完稿。究其原因,在于我們對本書的內(nèi)容和質(zhì)量一直抱有極其審慎的態(tài)度,生怕僅憑團(tuán)隊(duì)的綿薄之力和一知半解反而弄巧成拙,更希望能盡最大努力完成一本既體現(xiàn)龍芯嵌入式開發(fā)特色、又能方便開發(fā)者學(xué)習(xí)和交流的書籍,為國產(chǎn)芯片的著書立說和普及推廣,探索一條理論與實(shí)踐結(jié)合的新路。 本書主要內(nèi)容是基于龍芯SoC芯片在嵌入式平臺上的開發(fā)及應(yīng)用實(shí)戰(zhàn),涉及嵌入式Linux系統(tǒng)的開發(fā)和移植、無線傳感網(wǎng)技術(shù)和遠(yuǎn)程服務(wù)器的網(wǎng)絡(luò)通信技術(shù)、移動應(yīng)用平臺開發(fā)等多方面內(nèi)容。本書沿循從龍芯嵌入式芯片的特性介紹,到龍芯系列的芯片比較,再到針對不同行業(yè)應(yīng)用的系統(tǒng)開發(fā)的學(xué)習(xí)實(shí)踐思路,進(jìn)行了較為深入全面的分析;同時,結(jié)合當(dāng)前物聯(lián)網(wǎng)領(lǐng)域的發(fā)展?fàn)顩r與市場前景,提出了在龍芯平臺上應(yīng)用開發(fā)的一套切實(shí)可靠的技術(shù)學(xué)習(xí)方案,以及針對智能家居、智慧教室、智能農(nóng)業(yè)等領(lǐng)域的具體應(yīng)用系統(tǒng)介紹。 本書內(nèi)容分為五大部分:龍芯嵌入式系統(tǒng)開發(fā)基礎(chǔ)、嵌入式開發(fā)環(huán)境及相關(guān)基礎(chǔ)知識、基于龍芯1B開發(fā)板的嵌入式Linux編程開發(fā)、基于龍芯1B的項(xiàng)目實(shí)戰(zhàn),以及基于龍芯嵌入式開發(fā)的智能農(nóng)業(yè)、智能制造等物聯(lián)網(wǎng)應(yīng)用產(chǎn)品和應(yīng)用系統(tǒng)。本書適合具有一定嵌入式Linux系統(tǒng)基礎(chǔ)知識的開發(fā)人員,計算機(jī)及通信等專業(yè)的在校學(xué)生,以及有單片機(jī)和嵌入式硬件開發(fā)經(jīng)驗(yàn)、想深入學(xué)習(xí)嵌入式軟件開發(fā)的從業(yè)人員。對于涉及計算機(jī)網(wǎng)絡(luò)、Linux操作系統(tǒng)方面的基礎(chǔ)知識,我們只稍作介紹,不作深入分析。 第一部分是龍芯嵌入式系統(tǒng)開發(fā)的基礎(chǔ)知識。介紹龍芯家族的嵌入式芯片發(fā)展?fàn)顩r,嵌入式開發(fā)的思想,主要針對龍芯1B、龍芯1C兩款芯片介紹主要硬件特性和使用的軟件資源。 第二部分是嵌入式開發(fā)環(huán)境及相關(guān)基礎(chǔ)知識。介紹開發(fā)環(huán)境的搭建,從Ubuntu虛擬機(jī)的安裝,到交叉工具鏈的安裝和主要調(diào)試工具的安裝與使用。再從Linux系統(tǒng)的角度,介紹如何在龍芯平臺上移植Bootloader、Linux內(nèi)核、文件系統(tǒng)和應(yīng)用程序,以及OpenWrt開源解決方案的使用。 第三部分是基于龍芯1B開發(fā)板的嵌入式Linux編程開發(fā)。主要是應(yīng)用編程和驅(qū)動開發(fā)。應(yīng)用編程有Linux基礎(chǔ)編程、基于QT的圖形界面編程,以及在嵌入式平臺上的Web編程。驅(qū)動開發(fā)介紹了字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動和Linux設(shè)備驅(qū)動中的主要機(jī)制。再從ADC、外部按鍵和RTC幾個具體的實(shí)例進(jìn)行應(yīng)用分析。 第四部分是基于龍芯1B的應(yīng)用產(chǎn)品開發(fā)和實(shí)戰(zhàn)。主要從智能農(nóng)業(yè)溫室大棚控制系統(tǒng)、智能家居和智慧教室、智慧校園等三個項(xiàng)目,對芯片的開發(fā)應(yīng)用,進(jìn)行了較為詳細(xì)的說明。 第五部分是基于龍芯和自主物聯(lián)網(wǎng)協(xié)議的嵌入式產(chǎn)品開發(fā)和應(yīng)用方案。重點(diǎn)介紹了基于自主物聯(lián)網(wǎng)無線通信協(xié)議CMAC的遠(yuǎn)距離低功耗無線模塊和基于龍芯和CMAC協(xié)議的多種物聯(lián)網(wǎng)應(yīng)用產(chǎn)品和應(yīng)用系統(tǒng)。 本書由陳勇和田廣東、姜仲秋、楊戰(zhàn)民、丁龍剛、覃章健、蔡陽波、尹云飛、步雨筍等編著,陳勇主審。本書相關(guān)工作得到了中國工程院院士倪光南、龍芯中科技術(shù)有限公司董事長胡偉武(龍芯CPU芯片總設(shè)計師)及嵌入式事業(yè)部總經(jīng)理杜安利、中國電科集團(tuán)首席專家于宗光、中國半導(dǎo)體協(xié)會集成電路設(shè)計分會副秘書長趙建忠等專家的指導(dǎo)和支持。倪光南院士親自為本書撰寫推薦函,胡偉武老師親自為本書作序,龍芯團(tuán)隊(duì)張戈、喬崇、吳少校等多位龍芯核心技術(shù)骨干,細(xì)致審定了本書內(nèi)容并提出詳細(xì)的修改意見。 本書作為“國家信息技術(shù)緊缺人才工程(NITE)”的指定教材,也得到了國家工業(yè)和信息化部軟件和集成電路促進(jìn)中心多位領(lǐng)導(dǎo)和專家的指導(dǎo)和支持。此外,本書還得到了國家“萬人計劃”、科技部創(chuàng)新基金、科技部國家重點(diǎn)新產(chǎn)品計劃、江蘇省科技支撐計劃、江蘇省軟件和信息服務(wù)業(yè)轉(zhuǎn)型升級專項(xiàng)資金、江蘇省科技廳未來網(wǎng)絡(luò)前瞻項(xiàng)目、南京市科技發(fā)展計劃等眾多項(xiàng)目資助。 朱玉全、劉傳清、沈文軍、趙力、魏建香、王俊、劉芫健、程勇、孟迎軍、徐楠、王婷、吳璇、呂敬彩等高校教授和合作伙伴,或參與了本書部分內(nèi)容的編寫,或提出了相當(dāng)中肯的意見和建議。在編寫過程中,還得到了耿霞、戚晨皓、傅曉、葉楓、宋南海、陸勇、劉毅、彭曉冰、郭林、吳海濤、金易琛、金健等師生和徐釗、陳士勇、許云龍、高尚、張威、趙明宏、朱穎、李偉紅、張?zhí)觳?、張偉、熊保松、毛宇鵬等同事的支持和幫助。在此,特別向南京龍淵微電子科技有限公司、南京龍淵眾創(chuàng)空間股份有限公司、淮安國家農(nóng)業(yè)科技園區(qū)、亳州互聯(lián)網(wǎng)+創(chuàng)業(yè)示范園和江蘇龍睿、南京騫翮、南京燚霆、安徽龍淵眾創(chuàng)、南京云天致信、南京勤茂、南京遠(yuǎn)控、嘉興國自、寧波思邁科、常州思翔、亳州國自等產(chǎn)業(yè)鏈上下游的合作伙伴,江蘇大學(xué)、南京郵電大學(xué)、南京航空航天大學(xué)、河海大學(xué)、東南大學(xué)、南京工程學(xué)院、南京工業(yè)職業(yè)技術(shù)學(xué)院、南京理工大學(xué)紫金學(xué)院、重慶大學(xué)、成都理工大學(xué)等20多所合作高校院所的相關(guān)同仁,以及所列參考文獻(xiàn)的作者和單位,深表謝意。 囿于時間和能力所限,錯誤與疏漏之處在所難免。懇請各位專家和讀者不吝賜教,批評斧正,我們將在本書的后續(xù)再版中予以改正。 編者 2016年11月 4.目錄 第1部分龍芯嵌入式系統(tǒng)開發(fā)基礎(chǔ)(1) 1龍芯嵌入式系統(tǒng)綜述(1) 1.1嵌入式系統(tǒng)概述(1) 1.2龍芯SOC芯片簡介(1) 1.2.1認(rèn)識“龍芯”家族(1) 1.2.2龍芯嵌入式芯片介紹(2) 1.3嵌入式開發(fā)思想(2) 1.4龍芯嵌入式技術(shù)特點(diǎn)及功能(3) 2龍芯嵌入式開發(fā)資源(4) 2.1.1龍芯1B/1C處理器(4) 2.1.2龍芯1B通用核心板(11) 2.1.3龍芯1B開發(fā)板(12) 2.2軟件資源(13) 2.2.1Bootloader引導(dǎo)(PMON)(13) 2.2.2Linux內(nèi)核(14) 2.2.3OpenWrt開源軟件(14) 2.2.4Busybox/QT圖形應(yīng)用方案(14) 第2部分嵌入式開發(fā)環(huán)境及相關(guān)基礎(chǔ)知識(15) 3在主機(jī)上搭建Linux開發(fā)環(huán)境(15) 3.1安裝Ubuntu 10.04(15) 3.2建立交叉編譯環(huán)境(21) 3.3常用調(diào)試工具安裝與使用(21) 4基于龍芯1B的Linux系統(tǒng)移植(27) 4.1Bootloader移植(27) 4.2Linux內(nèi)核移植(28) 4.3文件系統(tǒng)和應(yīng)用程序移植(29) 4.4OpenWrt開源嵌入式Linux操作系統(tǒng)使用(32) 第3部分基于龍芯1B開發(fā)板的嵌入式Linux編程開發(fā)(33) 5應(yīng)用編程實(shí)驗(yàn)(33) 5.1Linux基礎(chǔ)實(shí)驗(yàn)(33) 5.1.1Shell編程(33) 5.1.2文件操作實(shí)驗(yàn)(36) 5.1.3多線程實(shí)驗(yàn)(40) 5.1.4多進(jìn)程實(shí)驗(yàn)(42) 5.1.5進(jìn)程間通信實(shí)驗(yàn)(44) 5.1.6網(wǎng)絡(luò)編程實(shí)驗(yàn)(47) 5.2基于QT的圖形界面編程(53) 5.2.1tslib移植(53) 5.2.2QT源碼編譯(54) 5.3Nginx+php的Web服務(wù)器搭建(54) 5.3.1相關(guān)庫編譯(54) 5.3.2Nginx移植(56) 5.3.3php移植(59) 5.3.4spawnfcgi移植(60) 6驅(qū)動開發(fā)(61) 6.1Linux設(shè)備驅(qū)動基礎(chǔ)(61) 6.1.1字符設(shè)備驅(qū)動(61) 6.1.2塊設(shè)備驅(qū)動(64) 6.1.3Linux設(shè)備驅(qū)動機(jī)制(70) 6.2基于龍芯1B開發(fā)板的驅(qū)動編程實(shí)例(90) 6.2.1ADC驅(qū)動程序(90) 6.2.2外部按鍵驅(qū)動(93) 6.2.3RTC驅(qū)動程序(97) 第4部分基于龍芯1B的項(xiàng)目實(shí)戰(zhàn)(105) 7智能農(nóng)業(yè)大棚控制系統(tǒng)(105) 8智能家居應(yīng)用(126) 8.1智能家居系統(tǒng)概述(126) 8.2智能家居應(yīng)用協(xié)議定義(128) 8.3智慧家居應(yīng)用開發(fā)(133) 8.4智慧家居產(chǎn)品使用(142) 8.4.1龍淵多功能網(wǎng)關(guān)安裝(142) 8.4.2人體傳感器安裝(144) 8.4.3門磁傳感器安裝(146) 8.4.4一位開關(guān)安裝(146) 8.4.5PM2.5檢測器安裝(147) 8.4.6調(diào)色燈安裝(147) 8.4.7報警器安裝(148) 8.4.8紅外轉(zhuǎn)發(fā)器安裝(149) 8.4.9關(guān)于智慧家居各個終端設(shè)備復(fù)位操作(149) 8.4.10龍淵智慧家居APP使用(149) 9智慧教室(154) 9.1智慧實(shí)驗(yàn)室中控機(jī)(154) 9.2教務(wù)考勤管理系統(tǒng)(155) 9.3智能教學(xué)系統(tǒng)(155) 9.4設(shè)備管理系統(tǒng)(156) 9.5燈光控制系統(tǒng)(156) 9.6空調(diào)控制系統(tǒng)(157) 9.7窗簾控制系統(tǒng)(157) 9.8智能安防系統(tǒng)(158) 9.9門禁系統(tǒng)(158) 9.10管理軟件(159) 第5部分基于龍芯嵌入式開發(fā)的產(chǎn)品和應(yīng)用(161) 10自主物聯(lián)網(wǎng)通信與組網(wǎng)協(xié)議CMAC 及超遠(yuǎn)距離無線模塊(161) 10.1技術(shù)簡介(163) 10.1.1技術(shù)先進(jìn)性(165) 10.1.2硬件設(shè)計解決方案(165) 10.1.3軟件開發(fā)解決方案(166) 10.2研究內(nèi)容(166) 10.3關(guān)鍵技術(shù)(166) 10.4主要技術(shù)指標(biāo)(167) 10.5創(chuàng)新內(nèi)容(168) 10.6技術(shù)原理(169) 10.7技術(shù)路線(170) 10.8技術(shù)實(shí)現(xiàn)依據(jù)(172) 10.9已實(shí)現(xiàn)的指標(biāo)(174) 10.10與同類產(chǎn)品對比(174) 11龍芯和自主協(xié)議的物聯(lián)網(wǎng)通用傳感器節(jié)點(diǎn)(176) 11.1技術(shù)簡介(177) 11.1.1技術(shù)創(chuàng)新點(diǎn)(177) 11.1.2技術(shù)可行性與成熟度(178) 11.2研究內(nèi)容(180) 11.3關(guān)鍵技術(shù)(185) 11.4性能指標(biāo)(186) 11.5創(chuàng)新內(nèi)容(187) 11.6技術(shù)原理(188) 11.7技術(shù)路線(188) 11.8技術(shù)實(shí)現(xiàn)依據(jù)(189) 11.9已實(shí)現(xiàn)的指標(biāo)(190) 11.10與同類產(chǎn)品的對比(191) 12龍芯物聯(lián)網(wǎng)網(wǎng)關(guān)、遠(yuǎn)距離無線基站(192) 12.1技術(shù)簡介(193) 12.1.1關(guān)鍵技術(shù)(193) 12.1.2技術(shù)創(chuàng)新點(diǎn)(193) 12.1.3技術(shù)可行性與成熟度(194) 12.2研究內(nèi)容及關(guān)鍵技術(shù)(194) 12.3主要技術(shù)與性能指標(biāo)(197) 12.4創(chuàng)新內(nèi)容(198) 12.5技術(shù)原理(199) 12.6技術(shù)路線(200) 12.7技術(shù)實(shí)現(xiàn)依據(jù)(202) 12.8已實(shí)現(xiàn)的指標(biāo)(203) 12.9與同類產(chǎn)品比較(203) 13基于龍芯和自主協(xié)議的智能農(nóng)業(yè)(205) 13.1技術(shù)簡介(209) 13.1.1創(chuàng)新點(diǎn)(209) 13.1.2技術(shù)可行性與成熟度(210) 13.2研究內(nèi)容(210) 13.3主要技術(shù)與性能指標(biāo)(213) 13.4創(chuàng)新內(nèi)容(215) 13.5技術(shù)原理(216) 13.6技術(shù)路線(218) 13.7技術(shù)實(shí)現(xiàn)依據(jù)(223) 13.8已實(shí)現(xiàn)的指標(biāo)(224) 13.9與同類產(chǎn)品的對比(225) 14基于龍芯的工信部NITE指定教研實(shí)訓(xùn)系統(tǒng)(226) 14.1技術(shù)簡介(227) 14.1.1硬件配置(227) 14.1.2核心技術(shù)創(chuàng)新點(diǎn)(227) 14.1.3技術(shù)可行性與成熟度(228) 14.2研究內(nèi)容與關(guān)鍵技術(shù)(228) 14.3主要技術(shù)與性能指標(biāo)(237) 14.4創(chuàng)新內(nèi)容(239) 14.5技術(shù)原理(241) 14.6技術(shù)路線(242) 14.7技術(shù)實(shí)現(xiàn)依據(jù)(244) 14.8已實(shí)現(xiàn)的指標(biāo)(245) 14.9與同類產(chǎn)品的對比(245) 15基于龍芯和自主協(xié)議的低價實(shí)用型智能家居(247) 15.1技術(shù)簡介(249) 15.2研究內(nèi)容(251) 15.3關(guān)鍵技術(shù)與創(chuàng)新點(diǎn)(251) 15.4主要技術(shù)與性能指標(biāo)(252) 15.5技術(shù)原理(253) 15.6技術(shù)線路(254) 15.7技術(shù)實(shí)現(xiàn)依據(jù)(257) 15.8已實(shí)現(xiàn)的指標(biāo)(258) 15.9與同類產(chǎn)品的對比(259) 16面向家庭、社區(qū)等領(lǐng)域的老幼慢病遠(yuǎn)程健康監(jiān)護(hù)系統(tǒng)(260) 16.1技術(shù)簡介(261) 16.1.1創(chuàng)新點(diǎn)(262) 16.1.1技術(shù)可行性和成熟度(262) 16.2研究內(nèi)容(263) 16.3關(guān)鍵技術(shù)(264) 16.4主要技術(shù)與性能指標(biāo)(264) 16.5創(chuàng)新內(nèi)容(265) 16.6技術(shù)路線(267) 16.7技術(shù)實(shí)現(xiàn)依據(jù)(272) 16.8已實(shí)現(xiàn)的指標(biāo)(273) 16.9與同類產(chǎn)品的對比(273) 17基于國產(chǎn)軟硬件技術(shù)的智能制造車間管理系統(tǒng)(274) 17.1技術(shù)簡介(275) 17.1.1核心技術(shù)創(chuàng)新點(diǎn)(275) 17.1.2技術(shù)可行性和成熟度(276) 17.2研究內(nèi)容(277) 17.3關(guān)鍵技術(shù)(278) 17.4主要技術(shù)與性能指標(biāo)(278) 17.5創(chuàng)新內(nèi)容(279) 17.6技術(shù)原理(280) 17.7技術(shù)路線(281) 17.8技術(shù)實(shí)現(xiàn)依據(jù)(283) 17.9已攻克的關(guān)鍵技術(shù)(284) 17.10與同類產(chǎn)品的比較(286) 18基于智能視覺傳感網(wǎng)的大數(shù)據(jù)分析及應(yīng)用平臺(287) 18.1技術(shù)簡介(288) 18.1.1核心技術(shù)創(chuàng)新點(diǎn)(289) 18.1.2技術(shù)可行性和成熟度(289) 18.2研究內(nèi)容及關(guān)鍵技術(shù)(290) 18.3主要技術(shù)與性能指標(biāo)(291) 18.4創(chuàng)新內(nèi)容(292) 18.5技術(shù)原理(293) 18.6技術(shù)線路(294) 18.7技術(shù)實(shí)現(xiàn)依據(jù)(300) 18.8已實(shí)現(xiàn)的指標(biāo)(302) 18.9與同類產(chǎn)品對比(303) 參考文獻(xiàn)(305) |
|
| ||||||
|
| ||||||
|
| ||||||
|
| ||||||