日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 教你輕松控制uClinux 嵌入式開發(fā)過程

          教你輕松控制uClinux 嵌入式開發(fā)過程

          作者: 時間:2012-04-19 來源:網絡 收藏

            通常,如果應用程序不是在fork()之后立即調用exec(),就有必要在fork()被替換成vfork()之前做仔細的檢查。

            2.應用程序

            盡管的Flat可執(zhí)行格式并不會直接影響應用程序和它們的執(zhí)行,但是它允許許多普通Linux下的ELF可執(zhí)行格式所不允許的選項。比如,Flat可執(zhí)行格式帶來兩個衍生系統(tǒng)—完全重定位和位置無關代碼(Position-Independent Code,簡稱PIC)的變體。完全重定位系統(tǒng)將對應用程序的代碼和數據進行重定位,而PIC系統(tǒng)通常只需要對數據進行部分重定位。

            對者最有用的特性就是運行時空間大小不變(Execute-In-Place,簡稱XIP)。這樣應用程序可以直接從閃存(Flash)或ROM 中運行,因為只需要應用程序所需占用的內存即可。不是所有的平臺都實現了XIP,因為它需要編譯器的支持以及Flat可執(zhí)行格式的PIC形式。

            下的Romfs是惟一支持XIP的文件系統(tǒng)。要實現XIP,應用程序就必須被連續(xù)地裝載到文件系統(tǒng)。 Flat格式還在它的頭部定義了應用程序的棧大小。要增加分配給應用程序的棧,只需要簡單地修改該部分,可以使用flthdr命令實現,格式如下:

            flthdr -s flat-executable

            Flat格式還允許整個可執(zhí)行文件被壓縮,以盡量縮小占用ROM的空間。它還有一個次要的作用就是使應用程序完全地裝載到一個連續(xù)的RAM塊中。既想節(jié)省ROM空間,又想使用XIP的時候,還可以選擇Data-Segment-Only壓縮形式。

            生成一個完全壓縮的可執(zhí)行文件:

            flthdr -z flat-executable

            只是生成壓縮數據段:

            flthdr -d flat-executable

            特別小心共享庫

            uClinux下的共享庫各有不同。目前可用的解決方法需要修改編譯器,并需要開發(fā)者特別小心。其實,當前的uClinux發(fā)行版本中提供了uC-libc和uClibc庫,最好的方法是以這兩個庫為例子來創(chuàng)建自己的共享庫。

            另外,uClinux下的共享庫必須是Flat格式的可執(zhí)行文件,并且要真正實現共享,必須實現XIP。如果不實現XIP,共享庫就會為每個使用它的應用程序創(chuàng)建一份拷貝,這還不如使用靜態(tài)鏈接應用程序。

            小結

            uClinux趨向于更深入的嵌入式系統(tǒng),它需要更少的內存,并可直接在ROM上運行。如果初次在uClinux下開發(fā)的人遇到沒有硬件驅動、有嚴格的資源限制,以及沒有內存保護等一系列的情況,最好的入手方法就是使用uClinux仿真器(見圖2)。

            圖2 uClinux仿真器Xcopilot

            強調以上這些問題有助于開發(fā)者提前做好準備,避免在uClinux下工作時常遇到陷阱和誤解。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉