公路車流量檢測(cè)系統(tǒng)方案分析
③匯編程序和C 程序之間的相互調(diào)用
.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
以上的程序段完成簡(jiǎn)單的初始化,然后跳轉(zhuǎn)到main 函數(shù)所標(biāo)識(shí)的C 代碼處,如果用戶自己編寫(xiě)初始化程序,則跳轉(zhuǎn)到的函數(shù)名稱可以自行定義,如果使用編譯器自帶的啟動(dòng)程序,則必須定義main 函數(shù)為C 代碼主函數(shù)。
3.2 CPU初始化程序設(shè)計(jì)
當(dāng)使用一個(gè)嵌入式操作系統(tǒng)或者不使用嵌入式操作系統(tǒng)、一開(kāi)始就執(zhí)行嵌入式應(yīng)用程序時(shí),有許多因素需要考慮,主要有:
1、初始化執(zhí)行環(huán)境。
2、初始化應(yīng)用程序
例如:對(duì)于已初始化變量,要把初始值從ROM 復(fù)制到RAM 的,還要設(shè)置其他沒(méi)有初始化的變量為零。www.51kaifa.com/
3、接一個(gè)嵌入的可執(zhí)行的程序鏡像,將代碼和數(shù)據(jù)放入存儲(chǔ)器的特定區(qū)域里。
對(duì)于一個(gè)沒(méi)有嵌入式操作系統(tǒng)支持的嵌入式應(yīng)用程序來(lái)說(shuō),ROM 中的代碼必須規(guī)定一個(gè)初始化和啟動(dòng)執(zhí)行的應(yīng)用程序的方法。
圖4 CPU初始化流程圖
評(píng)論