<ruby id="66w77"><video id="66w77"></video></ruby>
<ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>

    8個(gè)步驟了解詳細的嵌入式應用軟件開(kāi)發(fā)流程

    2018-12-21 16:31:06分類(lèi):嵌入式軟件開(kāi)發(fā)設計11003

    嵌入式系統在近年來(lái)一直頗受企業(yè)的追捧,導致嵌入式軟件與硬件開(kāi)發(fā)技術(shù)的追隨者愈加年輕化,如今從業(yè)嵌入式開(kāi)發(fā)技術(shù)的工程師遠遠達不到企業(yè)用人的需求量,越來(lái)越多的年輕人在學(xué)習嵌入式開(kāi)發(fā)技術(shù)或者有意學(xué)習嵌入式開(kāi)發(fā)技術(shù),賽億科技讓你八步讓你徹底了解流程?        相關(guān)文章:《嵌入式應用軟件開(kāi)發(fā)的步驟流程
     

    嵌入式應用軟件開(kāi)發(fā)流程
     

    8個(gè)步驟了解詳細的嵌入式應用軟件開(kāi)發(fā)流程:

    第一步:建立開(kāi)發(fā)環(huán)境

    操作系統一般使用Redhat Linux,選擇定制安裝或全部安裝,通過(guò)網(wǎng)絡(luò )下載相應的GCC交叉編譯器進(jìn)行安裝(比如,arm-linux-gcc、arm-uclibc-gcc),或者安裝產(chǎn)品廠(chǎng)家提供的相關(guān)交叉編譯器;

    第二步:配置開(kāi)發(fā)主機

    配置MINICOM,一般的參數為波特率115200 Baud/s,數據位8位,停止位為1,9,無(wú)奇偶校驗,軟件硬件流控設為無(wú)。在Windows下的超級終端的配置也是這樣。MINICOM軟件的作用是作為調試嵌入式開(kāi)發(fā)板的信息輸出的監視器和鍵盤(pán)輸入的工具。配置網(wǎng)絡(luò )主要是配置NFS網(wǎng)絡(luò )文件系統,需要關(guān)閉防火墻,簡(jiǎn)化嵌入式網(wǎng)絡(luò )調試環(huán)境設置過(guò)程。

    第三步:建立引導裝載程序BOOTLOADER

    從網(wǎng)絡(luò )上下載一些公開(kāi)源代碼的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據具體芯片進(jìn)行移植修改嵌入式系統開(kāi)發(fā)流程嵌入式系統開(kāi)發(fā)流程。有些芯片沒(méi)有內置引導裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫(xiě)開(kāi)發(fā)板上FLASH的燒寫(xiě)程序,可以在網(wǎng)上下載相應的燒寫(xiě)程序,也有Linux下的公開(kāi)源代碼的J-FLASH程序。如果不能燒寫(xiě)自己的開(kāi)發(fā)板,就需要根據自己的具體電路進(jìn)行源代碼修改。這是讓系統可以正常運行的第一步。如果用戶(hù)購買(mǎi)了廠(chǎng)家的仿真器比較容易燒寫(xiě)FLASH,雖然無(wú)法了解其中的核心技術(shù),但對于需要迅速開(kāi)發(fā)自己的應用的人來(lái)說(shuō)可以極大提高開(kāi)發(fā)速度。
     

    嵌入式應用軟件開(kāi)發(fā)流程
     

    第四步:下載已經(jīng)移植好的Linux操作系統

    如MCLiunx、ARM-Linux、PPC-Linux等,如果有專(zhuān)門(mén)針對所使用的CPU移植好的Linux操作系統那是再好不過(guò),下載后再添加特定硬件的驅動(dòng)程序,然后進(jìn)行調試修改,對于帶MMU的CPU可以使用模塊方式調試驅動(dòng),而對于MCLiunx這樣的系統只能編譯內核進(jìn)行調試。

    第五步:建立根文件系統

    下載使用BUSYBOX軟件進(jìn)行功能裁減,產(chǎn)生一個(gè)最基本的根文件系統,再根據自己的應用需要添加其他的程序

    由于默認的啟動(dòng)腳本一般都不會(huì )符合應用的需要,所以就要修改根文件系統中的啟動(dòng)腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動(dòng)掛裝文件系統的配置文件/etc/fstab,具體情況會(huì )隨系統不同而不同。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs genromfs等工具產(chǎn)生燒寫(xiě)映像文件嵌入式系統開(kāi)發(fā)流程嵌入式培訓。

    第六步:建立應用程序的FLASH磁盤(pán)分區

    一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動(dòng),有的系統使用一個(gè)線(xiàn)性FLASH(NOR型)512KB~32MB,有的系統使用非線(xiàn)性FLASH(NAND型)8MB~512MB,有的兩個(gè)同時(shí)使用,需要根據應用規劃FLASH的分區方案。

    第七步:開(kāi)發(fā)應用程序

    可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點(diǎn)類(lèi)似于μC/OS-II的方式。

    第八步:燒寫(xiě)內核

    根文件系統和應用程序,發(fā)布產(chǎn)品。

    上一篇:無(wú)下一篇:

    物聯(lián)網(wǎng)應用軟件開(kāi)發(fā)面臨的七大問(wèn)題挑戰

    物聯(lián)網(wǎng)軟件開(kāi)發(fā)是一個(gè)雷區。市場(chǎng)需要高質(zhì)量,可擴展,強大,安全且用戶(hù)友好的解決方案,物聯(lián)網(wǎng)開(kāi)發(fā)團隊必須重新評估其程序和工作流程,以便將所有內容考慮在內。以下列出了物聯(lián)網(wǎng)項目的七個(gè)軟件開(kāi)發(fā)挑戰。

    2020-04-29

    手機應用軟件開(kāi)發(fā)流程有哪些呢?

    智能手機從各個(gè)角度重塑著(zhù)大家的生活,手機App自然已經(jīng)成為主要的創(chuàng )業(yè)方式之一。但是App開(kāi)發(fā)的技術(shù)門(mén)檻高,很多人詢(xún)問(wèn):開(kāi)發(fā)一款App流程是什么?我想開(kāi)發(fā)一款App,要從何入手呢?今天跟大家詳細介紹完整的手機app軟件開(kāi)發(fā)流程。

    2019-11-22

    應用軟件開(kāi)發(fā)服務(wù)公司有哪些

    在互聯(lián)網(wǎng)時(shí)代,不論是企業(yè)還是個(gè)人,應用軟件的存在對于人們的生活而言仿佛如虎添翼般,帶來(lái)了諸多便利.那么何為應用軟件開(kāi)發(fā)呢?應用軟件開(kāi)發(fā)服務(wù)公司又有哪些?

    2019-01-22

    物聯(lián)網(wǎng)應用軟件開(kāi)發(fā)

    物聯(lián)網(wǎng)應用軟件開(kāi)發(fā),這種顛覆性技術(shù)已經(jīng)開(kāi)始改變了幾個(gè)行業(yè),并首次出現在早期嘗試者的家中.這就是為物聯(lián)網(wǎng)創(chuàng )建新產(chǎn)品和應用程序可能成為全世界組織的金礦的原因.

    2019-01-16

    應用軟件開(kāi)發(fā)

    應用軟件開(kāi)發(fā)是指使用程序語(yǔ)言C#、java、 c++等高級語(yǔ)言編寫(xiě),主要是用于商業(yè)、生活應用的軟件的開(kāi)發(fā),而開(kāi)發(fā)應用軟件是為滿(mǎn)足用戶(hù)不同領(lǐng)域、不同問(wèn)題的應用需求而提供的軟件.

    2019-01-15

    完整的app應用軟件開(kāi)發(fā)流程步驟

    App軟件開(kāi)發(fā)其實(shí)并不復雜,完整APP應用軟件開(kāi)發(fā)流程,9個(gè)步驟告訴你開(kāi)發(fā)應用軟件的完整流程到底是怎么回事.開(kāi)發(fā)一個(gè)APP應用軟件真的沒(méi)有那么難,下面小編就具體說(shuō)說(shuō)APP軟件開(kāi)發(fā)的流程.

    2019-01-08

    92视频在线精品国自产拍_乱色熟女综合一区二区_国产精品毛片久久久久久久_久天啪天天久久99久孕妇
    <ruby id="66w77"><video id="66w77"></video></ruby>
    <ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>