<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > uCLinux嵌入式系統(tǒng)開發(fā)環(huán)境建立

          uCLinux嵌入式系統(tǒng)開發(fā)環(huán)境建立

          作者: 時間:2011-08-18 來源:網(wǎng)絡(luò) 收藏

          1.Linux是一種很受歡迎的操作

          本文引用地址:http://www.ex-cimer.com/article/150327.htm

            uClinux這個英文單詞u 中的表示小Micro. 小的意思,C表示Control,控制的 意思.所以uClinux就 是Micro-control-Linux,字面上的理解就是針對微控制領(lǐng)域而設(shè)計的Linux.

            uClinux以其優(yōu)異的性能、免費(fèi)開放的代碼等優(yōu)點(diǎn),博得眾多者的青睞,和過去基于簡單RTOS甚至沒有使用任何操作程序設(shè)計相比,基于Linux這樣的成熟的,高效的、健壯的、可靠的、模塊化的、易于配置的操作系統(tǒng)來自己的應(yīng)用程序,無疑能進(jìn)一提高效率,并具有很好的可移植性?;赨CLINUX的系統(tǒng)涉及到三個方面:開發(fā),配置UCLINUX內(nèi)核和bootloader以及應(yīng)用程序的設(shè)計,本文將從這幾個方面來闡述的基于UCLINUX的嵌入式系統(tǒng)的設(shè)計。

            2.開發(fā)

            開發(fā)也就是工具鏈,設(shè)置工具鏈在主機(jī)機(jī)器上創(chuàng)建一個用于編譯將在目標(biāo)上運(yùn)行的內(nèi)核和應(yīng)用程序的構(gòu)建環(huán)境?這是因?yàn)槟繕?biāo)硬件可能沒有與主機(jī)兼容的二進(jìn)制執(zhí)行級別。包括Gcc:編譯器,可以做成交駐編譯的形式,即在宿主機(jī)上開發(fā)編譯目標(biāo)上可運(yùn)行的二進(jìn)制文件。Binutils:一些畏助工具,包括objdump(可以反編譯二進(jìn)制文件),as(匯編編譯器),id(連接器)等等。

            Gdb:調(diào)試器,可使用多種交叉方式,gdb-bdm(背景調(diào)試工具),gdbserver(使用以太網(wǎng)絡(luò)調(diào)試)。Glibc-所有用戶應(yīng)用程序都將鏈接到的C庫。避免使用任何C庫函數(shù)的內(nèi)核 和其它應(yīng)用程序可以沒有該庫的情況下進(jìn)行編譯。

            構(gòu)建在工具鏈建立了一個交叉編譯器環(huán)境。本地編譯器編譯與本機(jī)同類的處理器的指令。交叉編譯器運(yùn)行在某一種處理器上。卻可以編譯另一種處理器的指令。重頭設(shè)置交叉編譯器工具鏈可不是一項(xiàng)簡單的的任務(wù):它包括下載源代碼、修補(bǔ)補(bǔ)丁,配置、編譯、設(shè)置頭文件、安裝以及很多很多的操作。另外,這一個徹底的的構(gòu)建過內(nèi)存和硬盤的需求是巨大的。如果沒有足夠的內(nèi)存和硬盤空間。在構(gòu)建除段由于相關(guān)性、配置或頭文件設(shè)置等問題會突然冒出許多問題。

            因此能夠從因特網(wǎng)上獲得已預(yù)編譯的二進(jìn)制文件是一件好事但不太好的一點(diǎn)是,目前它們大多 只限于基于ARM的系統(tǒng)。但遲早會改變的)。

            3.配置UCLINUX內(nèi)核和bootloader

            配置內(nèi)核 的命令是make menuconfig,會列出一些選項(xiàng)。根據(jù)你的硬件相應(yīng)選取就行了。然后保存,退出,運(yùn)行make dep,然后再make一下,會生成四個文件。

            1.image.glf:ELF格式含 調(diào) 試信息和romfs的uClinux,可以用gdb裝載調(diào)試運(yùn)行

            2.romfs.ing:romfs的二進(jìn)制文件

            3.linux.bin:不含romfs的uclinux二進(jìn)制文件

            image.bin:linux.bin和romfs.bin合并而成,并多了4個字的校驗(yàn),這個文件的內(nèi)容拷貝到ram里后就可以直接從入口運(yùn)行了。

            Bootloader的任務(wù)是初始化芯片和板子,用得比較多的有Blob、Redboot和Bootldr,如果是買的開發(fā)板,開發(fā)商會附送bootloader程序,但發(fā)如果是自己做的板子就麻煩一些,需要根據(jù)硬件修bootloader源碼,然后用前面說的交叉編譯成二進(jìn)制文件(筆者經(jīng)常用redboot,就是redboot.bin),用燒寫器燒寫的flash里啟動板子。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();