很久沒來寫,還是抽空寫寫~
.S 文件和.c 文件 使用同一個變量
.S 文件
既然是共用,那麼.S 中的變量就需要設定成全局變量。同時需要給其賦值。
.global variable_x
.set variable_x, 0x400000000
function:
mov x2, #0
mov x1, #1345
mov x2, variable_x
str x1, [x2]
c 文件
extern uint32_t variable_x;
void test(void)
{
printf("variable_x:%d, variable_x address:%p.\n", variable_x, &variable_x);
}
result
varibale_x:1345, varibale_x address:0x400000000.
之所以寫這段,因爲我覺得這段細節很有意思。各位看官可以好好體會,如果有任何疑問,可以隨時找我交流~