嵌入式開發學習什么?嵌入式開發門檻高,涉及的知識面廣,既要求懂硬件,又必須能寫軟件,而軟硬件涉及的知識體系卻又是異常的龐大。今天不講那么復雜,來聊聊嵌入式開發培訓教程中涉及到匯編語言的一點內容——匯編語言程序訪問C語言全局變量。
匯編語言程序可通過地址間訪問在C語言程序中聲明的全局變量。通過使用IMPORT關鍵詞引入全局變量,并利用LDR和STR指令根據全局變量的地址來訪問它們。對于不同類型的變量,需要采用不同選項的LDR和STR指令:
unsigned short LDRH/STRH
unsigned int LDR/STR
char LDRSB/STRSB
short LDRSH//STRSH
對于結構,如果知道各個成員的偏移量,則可通過加載和存儲指令進行訪問。如果結構所占空間小于8個字,則可用LDM和SRM一次性讀/寫。
嵌入式開發培訓教程來舉例。下面是一個在匯編語言程序中訪問C語言程序全局變量的例子,它讀取全局變量globvar,并將其加2后寫回。程序中變量globvar是在C語言程序中聲明的全局變量。
示例 C語言程序全局變量在匯編語言程序中的訪問。
EXPORT asmsubroutine ;用EXPORT偽操作聲明該變量可被其他文件引
;用,相當于聲明了一個全局變量
IMPORT globvar ;用IMPORT偽操作聲明該變量時在其他文件中定
;義的,在本文件中可能要用到該變量
asmsubroutine
LDR R1,=globvar ;從文字池讀globvar的地址,并將其保存到R1
LDR R0,[R1] ;再將其值讀入到寄存器R0中
ADD R0,R0,#2
STR R0,[R1] ;修改后再將寄存器R0的值賦予變量globvar
MOV PC,LR
END
學習嵌入式開發培訓教程,大家都有自己的學習方式,粵嵌建議大家一定要堅持和學習,在自己的領域中精進。