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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM的uClinux的設計與應用

          ARM的uClinux的設計與應用

          作者: 時間:2012-12-29 來源:網絡 收藏

            至此整個源碼的編譯工作就完成了。最后會在/u—Clinux—Samsung/image目錄下生成兩個內核文件:image.ram和image.rom。image.rom~-3"借助~JTAG仿真器直接將其燒寫到目標板上的FLASH存儲單元,I~image-ram則可通過以太網接口。將其下載至目標板上就可直接運行了。

            1.4 嵌入式操作系統(tǒng)uCfinux的應用開發(fā)

            下面通過本系統(tǒng)的一個具體實例來描述如何將應用程序添加~U,主要的標準方法有如下幾點:

           ?。?)編寫自己的源程序代碼和相應Makefile文件。/Linux的應用程序通常放在OS—HOME/user目錄下,我們在該目錄下創(chuàng)建一個XDQ目錄。且在該目錄下創(chuàng)建源文件xdq.c及它相應的Makefile文件。

            (2)修改uClinux—Samsung/config/config.ink件。在該文件合適的位置增加如下內容:

            mainmenu_ option next comment

            comment ‘xdq’

            bool ‘xdq’ CONFIG_ USER_ XDQ_XDQ

            endmenu

            目的是在Make menuconfig時,uCLinux就會提示你是否需要編譯這個新的應用程序。

           ?。?)修改uClinux—Samsung/user/Makefile 件。在該文件合適的位置增加下面一句:

            dir-$(CONFIG_USER—XDQ—XDQ)+=xdq

            加上這句后,如果你在Make menuconfig時選擇了這個新應用程序。則編譯時就會編譯這個新的應用程序。

            把修改工作完成后要進行內核的編譯工作,按照以前編譯uClinux內核的步驟進行就可以了。

            值得注意的一點是在第一步make menuconfig進行內核配置的時候。在Target Platform Selection,要選中Customize Vendor/User Settings fNEW),選中了該選項后,在對話框里出現(xiàn)的文字是在config.in文件中添加的文字,選中要編譯的應用程序所在路徑,就會出現(xiàn)另一個對話框,選中要編譯的文件名,保存好內核配置后退出。用這種方法生成的可執(zhí)行文件在romfs/bin目錄下。

          ARM的uClinux的設計與應用

            接下來就進行make dep,makeclean等內核編譯的后幾步。以上介紹的是一種基本的添加用戶應用程序的方法,在將用戶應用程序添加uClinux內核運行時,都需要對內核進行部分或全部的編譯,每次對內核編譯完成后,都要先將FLASH存儲器中的內容擦除,然后重新燒寫新編譯好的內核到FLASH存儲器中去。

            2 結束語

            內核處理器具有體積小、高性能、低功耗、低成本等一系列優(yōu)點,是嵌入式電子產品設備由8位機升級到32位機的理想選擇。uClinux因具有穩(wěn)定良好的移植性、優(yōu)秀的網絡功能、完備的對各種文件系統(tǒng)的支持以及標準豐富的API等優(yōu)點,被廣泛應用于嵌入式領域應用前景廣闊。


          上一頁 1 2 下一頁

          關鍵詞: ARM uClinux S3C4510B

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();