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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于SPARC V8 的嵌入式星載計(jì)算機(jī)

          基于SPARC V8 的嵌入式星載計(jì)算機(jī)

          作者: 時(shí)間:2010-03-24 來源:網(wǎng)絡(luò) 收藏
          2.3 其它硬件設(shè)計(jì)

          電源板的設(shè)計(jì),要考慮到為本系統(tǒng)提供高效和穩(wěn)定的電源。本系統(tǒng)電路較復(fù)雜,電源板要提供多個(gè)電平的電源給系統(tǒng)使用。底板的設(shè)計(jì)較為簡(jiǎn)單,它把整個(gè)系統(tǒng)集成到一起。而擴(kuò)展板設(shè)計(jì)主要是為了具體工程和項(xiàng)目需求而進(jìn)行更改設(shè)計(jì)。



          3 底層軟件方案

          3.1 匯編語(yǔ)言

          3.1.1 語(yǔ)言格式

          的匯編語(yǔ)言以段(section)為單位組織源文件。段是相對(duì)獨(dú)立的、具有特定名稱的、不可分割的指令或者數(shù)據(jù)序列。段可以分為代碼段和數(shù)據(jù)段,代碼段存放執(zhí)行代碼,數(shù)據(jù)段存放代碼運(yùn)行時(shí)需要用到的數(shù)據(jù)。一個(gè)源程序至少需要一個(gè)代碼段,大的程序可以包含多個(gè)代碼段和數(shù)據(jù)段。

          的匯編語(yǔ)言源程序經(jīng)過匯編處理后生成一個(gè)可執(zhí)行的鏡像文件(即.exe 文件),該可執(zhí)行文件包括下面三個(gè)部分:

          一個(gè)或多個(gè)代碼段,代碼段通常是可讀的

          一個(gè)包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段通常是可讀寫的

          零個(gè)或多個(gè)不包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段被初始化為0

          V8 匯編程序的基本結(jié)構(gòu)為:

          .seg “text”!定義一個(gè)代碼段

          .global data, start, hardreset!定義全局變量

          start:!標(biāo)識(shí)程序開始,start 要定義為global

          set data, %g1

          set 3, %g2

          add %g2, %g1, %g2

          .seg “data”

          data:

          .word 128

          3.1.2 程序設(shè)計(jì)

          在應(yīng)用系統(tǒng)的程序設(shè)計(jì)中,若所有的編程任務(wù)均用匯編語(yǔ)言來完成,其工作量是很大的。所以,V8 體系結(jié)構(gòu)支持C 以及與匯編語(yǔ)言的混合編程,在一個(gè)完整的程序設(shè)計(jì)中,除了初始化部分用匯編語(yǔ)言完成以外,其主要的編程任務(wù)一般都用C 完成。匯編語(yǔ)言與C 的混合編程通常有以下幾種方式:

          在C 代碼中嵌入?yún)R編指令

          在匯編程序和C 程序之間進(jìn)行變量的相互訪問

          匯編程序和C 程序之間的相互調(diào)用
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: SPARC V8 嵌入式 計(jì)算機(jī)

          評(píng)論


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