.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
以上的程序段完成简单的初始化,然后跳转到main 函数所标识的C 代码处,如果用户自己编写初始化程序,则跳转到的函数名称可以自行定义,如果使用编译器自带的启动程序,则必须定义main 函数为C 代码主函数。
3.2 CPU初始化程序设计
当使用一个嵌入式操作系统或者不使用嵌入式操作系统、一开始就执行嵌入式应用程序时,有许多因素需要考虑,主要有:
1、初始化执行环境。
2、初始化应用程序
例如:对于已初始化变量,要把初始值从ROM 复制到RAM 的,还要设置其他没有初始化的变量为零。
3、接一个嵌入的可执行的程序镜像,将代码和数据放入存储器的特定区域里。
对于一个没有嵌入式操作系统支持的嵌入式应用程序来说,ROM 中的代码必须规定一个初始化和启动执行的应用程序的方法。
3.3 目前工作及展望
星载计算机的基本设计和调试已经完成,考虑到软件的可重用性,将引入实时操作系统,便于统一软件接口和减少工程中软件工作量。
4 结论
针对目前星载计算机CPU基本依赖进口现状,本设计使用性能较高国产基于SPARC V8的CPU,设计实现了用于未来航天工程的星载计算机,对于航天技术的独立自主发展有一定意义,对星载计算机CPU国产化是一种有益探索。