很久没来写,还是抽空写写~
.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.
之所以写这段,因为我觉得这段细节很有意思。各位看官可以好好体会,如果有任何疑问,可以随时找我交流~