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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 利用Java良好的移植特性的FPGA可編程嵌入式系統(tǒng)

          利用Java良好的移植特性的FPGA可編程嵌入式系統(tǒng)

          作者: 時間:2012-07-12 來源:網(wǎng)絡(luò) 收藏

          1. 應用程序代碼(包括可對進行編程的比特流)下載協(xié)議;

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

            2. 用于遠程管理的維護相關(guān)的協(xié)議;

            3. 控制對訪問權(quán)限的認證協(xié)議。

            管理器包括基于socket連接的客戶端類加載器。遠端應用程序可以下載到本地并按照下面的過程執(zhí)行:

            1. 完成認證過程,系統(tǒng)進入管理模式;

            2. 下載應用程序代碼,完成系統(tǒng)初始化,比如加載比特流到相應的存儲單元;

            3. 執(zhí)行新的應用程序。

            在該系統(tǒng)中,為了簡化起見,預先映射硬件方法地址到確定的系統(tǒng)物理存儲區(qū),目的是為了尋址操作的方便快捷。

            由于我們使用了軟件平臺,應用程序就無法直接訪問底層的硬件。這就是說,運行在處理器虛擬機上的應用程序不能直接訪問映射到中硬件方法的緩存區(qū)域。為解決這個問題,理論上可以采用下面兩種方法:

            1. 修改虛擬機,使其具有對處理器物理地址的直接訪問能力;

            2. 單獨設(shè)計一種Java本地接口(JNI),使得應用程序通過該接口提供的功能實現(xiàn)對硬件方法映射到的物理地址的訪問。

            盡管第一種方案的效率較高,并且沒有引入額外開銷,但是修改Java虛擬機內(nèi)核是相當繁雜的工作,同時也可能會引起潛在的系統(tǒng)不穩(wěn)定。第二種方案雖然引入了一定的額外開銷,但便于和實現(xiàn)。因此,我們采用方案二,在Java虛擬機和Java本地接口之外又設(shè)計了一個本地通信庫。

            本地通信庫API形式如下:

            int hwWriteXXX(int addr, XXX p);

            int hwWriteArrayXXX(int addr, XXX[] p);

            XXX hwReadXXX(int addr);

            XXX[] hwReadArrayXXX(int addr);

            int hwConfig(int cf_mem_addr, int bitstr_size);

            Java本地接口層接口的形式如下:

            class HWInterface{

            static int ConfigStatus;

            public static native int setParam(CID hw_cid, object P)

            {

            if(type_of_P == XXX)

            err = hwWriteXXX(hw_cid.addr, (XXX)P);

            return err;

            }

            public static native int getResult(CID hw_cid, object R);

            public static native int setCMD(CID hw_cid, int cmd);

            public static native int getStatus(CID hw_cid);

            public synchronized static native int configHW( CID hw_cid);

            }

            在上面代碼中,XXX表示基本的Java數(shù)據(jù)類型如整型(integer)、浮點型(float)、雙精度型(double)等。

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


          評論


          相關(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); })();