Slide 15
Slide 15 text
関数呼び出し
// src/main.rs
static INIT_SP: [u8; 4096 * 1024] = [0; 4096 * 1024];
static STACK_SIZE: usize = 4096 * 1024; // 4MB
pub unsafe fn _entry() {
// NOTE: スタックポインタの初期値を設定する
// NOTE: スタックは下位に伸びていくのでINIT_SP + STACK_SIZEを設定
しSTACK_SIZE分の領域を確保
asm!("la sp, INIT_SP", "ld a0, STACK_SIZE", "add sp, sp,
a0",);
main();
}
SPを初期化
誰からも変更されないように配列を定義し末尾アドレスを利用