stm32--位帶基本操作

stm32--位帶基本操作

支持了位帶操作后央碟,可以使用普通的加載/存儲(chǔ)指令來(lái)對(duì)單一的比特進(jìn)行讀寫(xiě)。在CM3中均函,有兩個(gè)區(qū)中實(shí)現(xiàn)了位帶亿虽。其中一個(gè)是 SRAM 區(qū)的最低 1MB 范圍,第二個(gè)則是片內(nèi)外設(shè)區(qū)的最低 1MB范圍苞也。這兩個(gè)區(qū)中的地址除了可以像普通的 RAM 一樣使用外洛勉,它們還都有自己的“位帶別名區(qū)”,位帶別名區(qū)把每個(gè)比特膨脹成一個(gè) 32 位的字如迟。當(dāng)你通過(guò)位帶別名區(qū)訪問(wèn)這些字時(shí)收毫,就可以達(dá)到訪問(wèn)原始比特的目的攻走。位帶操作的概念其實(shí) 30 年前就有了,那還是8051?單片機(jī)開(kāi)創(chuàng)的先河此再,如今昔搂,CM3將此能力進(jìn)化,這里的位帶操作是 8051 位尋址區(qū)的威力大幅加強(qiáng)版输拇。CM3使用如下術(shù)語(yǔ)來(lái)表示位帶存儲(chǔ)的相關(guān)地址:位帶區(qū):支持位帶操作的地址區(qū)位帶別名:對(duì)別名地址的訪問(wèn)最終作用到位帶區(qū)的訪問(wèn)上(這中途有一個(gè)地址映射過(guò)程)在位帶區(qū)中摘符,每個(gè)比特都映射到別名地址區(qū)的一個(gè)字——這是只有 LSB 有效的字。當(dāng)一個(gè)別名地址被訪問(wèn)時(shí)策吠,會(huì)先把該地址變換成位帶地址逛裤。對(duì)于讀操作,讀取位帶地址中的一個(gè)字奴曙,再把需要的位右移到 LSB别凹,并把 LSB 返回。對(duì)于寫(xiě)操作洽糟,把需要寫(xiě)的位左移至對(duì)應(yīng)的位序號(hào)處炉菲,然后執(zhí)行一個(gè)原子的“讀-改-寫(xiě)”過(guò)程。




支持位帶操作的兩個(gè)內(nèi)存區(qū)的范圍是:0x2000_0000‐0x200F_FFFF(SRAM 區(qū)中的最低 1MB)0x4000_0000‐0x400F_FFFF(片上外設(shè)區(qū)中的最低 1MB)對(duì) SRAM 位帶區(qū)的某個(gè)比特坤溃,記它所在字節(jié)地址為 A,位序號(hào)為 n(0<=n<=7)拍霜,則該比特在別名區(qū)的地址為:? ?? ?? ?? ???AliasAddr=0x22000000+((A-0x20000000)*8+n)*4=0x22000000+(A-0x20000000)*32+n*4對(duì)于片上外設(shè)位帶區(qū)的某個(gè)比特,記它所在字節(jié)的地址為 A,位序號(hào)為 n(0<=n<=7)薪介,則該比特在別名區(qū)的地址為:? ?? ?? ?? ???AliasAddr=0x42000000+((A-0x40000000)*8+n)*4=0x42000000+(A-0x40000000)*32+n*4上式中祠饺,“*4”表示一個(gè)字為 4 個(gè)字節(jié),“*8”表示一個(gè)字節(jié)中有 8 個(gè)比特汁政。

這里再不嫌啰嗦地舉一個(gè)例子:1.在地址 0x20000000 處寫(xiě)入 0x3355AACC2.讀取地址0x22000008道偷。本次讀訪問(wèn)將讀取 0x20000000,并提取比特 2记劈,值為 1勺鸦。3.往地址 0x22000008 處寫(xiě) 0。本次操作將被映射成對(duì)地址 0x20000000 的“讀-改-寫(xiě)”操作(原子的)目木,把比特2 清 0换途。4.現(xiàn)在再讀取 0x20000000,將返回 0x3355AAC8(bit[2]已清零)刽射。位帶別名區(qū)的字只有 LSB 有意義军拟。另外,在訪問(wèn)位帶別名區(qū)時(shí)誓禁,不管使用哪一種長(zhǎng)度的數(shù)據(jù)傳送指令(字/半字/字節(jié))懈息,都把地址對(duì)齊到字的邊界上,否則會(huì)產(chǎn)生不可預(yù)料的結(jié)果摹恰。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漓拾,一起剝皮案震驚了整個(gè)濱河市阁最,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骇两,老刑警劉巖速种,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異低千,居然都是意外死亡配阵,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)示血,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)棋傍,“玉大人,你說(shuō)我怎么就攤上這事难审√奔穑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵告喊,是天一觀的道長(zhǎng)麸拄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)黔姜,這世上最難降的妖魔是什么拢切? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮秆吵,結(jié)果婚禮上淮椰,老公的妹妹穿的比我還像新娘。我一直安慰自己纳寂,他們只是感情好主穗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著毙芜,像睡著了一般忽媒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爷肝,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音陆错,去河邊找鬼灯抛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛音瓷,可吹牛的內(nèi)容都是我干的对嚼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼绳慎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼纵竖!你這毒婦竟也來(lái)了漠烧?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤靡砌,失蹤者是張志新(化名)和其女友劉穎已脓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體通殃,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡度液,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了画舌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堕担。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曲聂,靈堂內(nèi)的尸體忽然破棺而出霹购,到底是詐尸還是另有隱情,我是刑警寧澤朋腋,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布齐疙,位于F島的核電站,受9級(jí)特大地震影響乍丈,放射性物質(zhì)發(fā)生泄漏剂碴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一轻专、第九天 我趴在偏房一處隱蔽的房頂上張望忆矛。 院中可真熱鬧,春花似錦请垛、人聲如沸催训。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)漫拭。三九已至,卻和暖如春混稽,著一層夾襖步出監(jiān)牢的瞬間采驻,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工匈勋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留礼旅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓洽洁,卻偏偏與公主長(zhǎng)得像痘系,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饿自,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355