基于SPARC V8 的嵌入式星載計算機
.seg “text”
.global start
start:
set 0x10e0, %g1
mov %g1, %psr
set 0x40000000, %g1
mov %g1, %tbr
set 0x40079000, %g1
mov %g1, %sp
call main
nop
nop
以上的程序段完成簡單的初始化,然后跳轉(zhuǎn)到main 函數(shù)所標(biāo)識的C 代碼處,如果用戶自己編寫初始化程序,則跳轉(zhuǎn)到的函數(shù)名稱可以自行定義,如果使用編譯器自帶的啟動程序,則必須定義main 函數(shù)為C 代碼主函數(shù)。
3.2 CPU初始化程序設(shè)計
當(dāng)使用一個嵌入式操作系統(tǒng)或者不使用嵌入式操作系統(tǒng)、一開始就執(zhí)行嵌入式應(yīng)用程序時,有許多因素需要考慮,主要有:
1、初始化執(zhí)行環(huán)境。
2、初始化應(yīng)用程序
例如:對于已初始化變量,要把初始值從ROM 復(fù)制到RAM 的,還要設(shè)置其他沒有初始化的變量為零。
3、接一個嵌入的可執(zhí)行的程序鏡像,將代碼和數(shù)據(jù)放入存儲器的特定區(qū)域里。
對于一個沒有嵌入式操作系統(tǒng)支持的嵌入式應(yīng)用程序來說,ROM 中的代碼必須規(guī)定一個初始化和啟動執(zhí)行的應(yīng)用程序的方法。
3.3 目前工作及展望
星載計算機的基本設(shè)計和調(diào)試已經(jīng)完成,考慮到軟件的可重用性,將引入實時操作系統(tǒng),便于統(tǒng)一軟件接口和減少工程中軟件工作量。
4 結(jié)論
針對目前星載計算機CPU基本依賴進口現(xiàn)狀,本設(shè)計使用性能較高國產(chǎn)基于SPARC V8的CPU,設(shè)計實現(xiàn)了用于未來航天工程的星載計算機,對于航天技術(shù)的獨立自主發(fā)展有一定意義,對星載計算機CPU國產(chǎn)化是一種有益探索。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論