發(fā)布時(shí)間:2021-09-23 16:34:40來(lái)源:有考培訓(xùn)網(wǎng)綜合
青島嵌入式培訓(xùn)機(jī)構(gòu)推薦哪家?在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++以外的其它編程語(yǔ)言基本沒有直接訪問地址的能力。
青島嵌入式培訓(xùn)機(jī)構(gòu)推薦哪家?
達(dá)內(nèi)教育隸屬于加拿大達(dá)內(nèi)IT培訓(xùn)集團(tuán),于2002年成立 ,是達(dá)內(nèi)IT培訓(xùn)集團(tuán)直屬學(xué)院。學(xué)院成立旨在建立軟件高級(jí)人才培養(yǎng)的通道,促進(jìn)我國(guó)信息產(chǎn)業(yè)迅速發(fā)展。依托達(dá)內(nèi)集團(tuán)國(guó)內(nèi)持平的課程體系(TTS6.0),雄厚的師資力量,廣闊的就業(yè)平臺(tái),迄今為止已與國(guó)內(nèi)上萬(wàn)家IT企業(yè)進(jìn)行人才輸送合作,其中緊密合作企業(yè)4000余家、深入合作企業(yè)200余家、訂單輸送聯(lián)盟企業(yè)107家。
在嵌入式系統(tǒng)的實(shí)際調(diào)試中,多借助C語(yǔ)言指針?biāo)哂械膶?duì)地址單元內(nèi)容的讀寫能力。以指針直接操作內(nèi)存多發(fā)生在如下幾種情況:
(1) 某I/O芯片被定位在CPU的存儲(chǔ)空間而非I/O空間,而且寄存器對(duì)應(yīng)于某特定地址;
(2) 兩個(gè)CPU之間以雙端口RAM通信,CPU需要在雙端口RAM的特定單元(稱為mail box)書寫內(nèi)容以在對(duì)方CPU產(chǎn)生中斷;
(3) 讀取在ROM或FLASH的特定單元所燒錄的漢字和英文字模。
比如:
unsigned char *p = (unsigned char *)0xF000FF00;
*p="11";
以上程序的意義為在地址0xF0000+0xFF00(80186使用16位段地址和16位偏移地址)寫入11。
在使用地址指針時(shí),要注意指針自增自減操作的結(jié)果取決于指針指向的數(shù)據(jù)類別。上例中p++后的結(jié)果是p= 0xF000FF01,若p指向int,即:
int *p = (int *)0xF000FF00;
p++(或++p)的結(jié)果等同于:p = p+sizeof(int),而p-(或-p)的結(jié)果是p = p-sizeof(int)。
記?。篊PU以字節(jié)為單位編址,而C語(yǔ)言指針以指向的數(shù)據(jù)類型長(zhǎng)度作自增和自減。理解這一點(diǎn)對(duì)于以指針直接操作內(nèi)存是相當(dāng)重要的。
更多培訓(xùn)課程: 青島嵌入式 更多學(xué)校信息: 青島達(dá)內(nèi)IT教育培訓(xùn) 咨詢電話: