基于SPARC V8 的嵌入式星載計算機
電源板的設計,要考慮到為本系統(tǒng)提供高效和穩(wěn)定的電源。本系統(tǒng)電路較復雜,電源板要提供多個電平的電源給系統(tǒng)使用。底板的設計較為簡單,它把整個系統(tǒng)集成到一起。而擴展板設計主要是為了具體工程和項目需求而進行更改設計。
3 底層軟件方案
3.1 V8匯編語言
3.1.1 語言格式
V8 的匯編語言以段(section)為單位組織源文件。段是相對獨立的、具有特定名稱的、不可分割的指令或者數(shù)據(jù)序列。段可以分為代碼段和數(shù)據(jù)段,代碼段存放執(zhí)行代碼,數(shù)據(jù)段存放代碼運行時需要用到的數(shù)據(jù)。一個源程序至少需要一個代碼段,大的程序可以包含多個代碼段和數(shù)據(jù)段。
V8 的匯編語言源程序經(jīng)過匯編處理后生成一個可執(zhí)行的鏡像文件(即.exe 文件),該可執(zhí)行文件包括下面三個部分:
一個或多個代碼段,代碼段通常是可讀的
一個包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段通常是可讀寫的
零個或多個不包含初始值的數(shù)據(jù)段,這些數(shù)據(jù)段被初始化為0
V8 匯編程序的基本結(jié)構(gòu)為:
.seg “text”!定義一個代碼段
.global data, start, hardreset!定義全局變量
start:!標識程序開始,start 要定義為global
set data, %g1
set 3, %g2
add %g2, %g1, %g2
.seg “data”
data:
.word 128
3.1.2 程序設計
在應用系統(tǒng)的程序設計中,若所有的編程任務均用匯編語言來完成,其工作量是很大的。所以,V8 體系結(jié)構(gòu)支持C 以及與匯編語言的混合編程,在一個完整的程序設計中,除了初始化部分用匯編語言完成以外,其主要的編程任務一般都用C 完成。匯編語言與C 的混合編程通常有以下幾種方式:
在C 代碼中嵌入?yún)R編指令
在匯編程序和C 程序之間進行變量的相互訪問
匯編程序和C 程序之間的相互調(diào)用 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論