CM3的存儲器系統支持所謂的“位帶”(bit-band)操作。
通過它,實現了對單一bit的原子操作。位帶操作僅適用于一些特殊的存儲器區域中。
從匯編角度看:
與傳統方法的比較:
在位帶區中,每個比特都映射到別名地址區的一個字——這是個只有 LSB才有效的字。
支持位帶操作的兩個內存區的范圍是:
0x2000_0000-0x200F_FFFF(SRAM區中的最低 1MB)
0x4000_0000-0x400F_FFFF(片上外設區中的最低1MB)
位帶操作并不只限于以字為單位的傳送。亦可以按半字和字節為單位傳送。例如,可以使用
LDRB/STRB來以字節為長度單位去訪問位帶別名區,同理可用于 LDRH/STRH。但是不管用哪一個對
子,都必須保證目標地址對齊到字的邊界上。
//把“位帶地址+位序號”轉換成別名地址的宏
#define BITBAND(addr, bitnum) ((addr & 0xF0000000) + 0x20000000 + ((addr & 0xFFFFF) << 5) + (bit<<2));
//把該地址轉換成一個指針
#define MEM_ADDR(addr) *((volatile unsigned long *) (adr));
在此基礎上,我們就可以如下改寫代碼:
MEM_ADDR(DEVICE REG0) = 0xAB; //使用正常地址訪問寄存器,即把0xAB作為DEVICE REG0地址上的值
MEM_ADDR(DEVICE_REG0) = MEM_ADDR(DEVICE_REG0) | 0x2; //傳統做法
MEM_ADDR(BITBAND(DEVICE_REG0, 1)) = 0x1; //使用位帶別名地址
轉載于:https://www.cnblogs.com/yanghong-hnu/p/6163611.html
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
360瀏覽器如何恢復歷史記錄?360瀏覽器發歷史記錄方法萬分感謝:1、簡單的方法然后打開電腦可以找到360瀏覽器,可以打開瀏覽器后直接點擊右上角的三條杠菜單選項2、再點后在自動彈出的頁面點擊你選歷史這個選項3、之后點擊左邊的日期就也可以參與恢復記錄,那樣的話完全恢復360瀏覽器歷史記錄的問題就能解決了。360瀏覽器怎么找回歷史瀏覽記錄?簡單的方法你可以打開你的360瀏覽器,然后再可以找到上方的一個...
太平洋保險是上市公司嗎?太平洋保險于2007年12月25日在上海證券交易所上市。太保于哪一年在上海倫敦上市?2020年6月17日,太保在倫敦證券交易所滬倫通板正式上市,上市成功。此前,太平洋保險已在上海和成功上市,目前是全球首家在A H G上市的保險公司。太保作為國內三大壽險公司之一,國內第二大財險公司,自有實力。2020年全球品牌500強排名第132位。所以也有能力在很多地方同時上市。太保于...
QQ怎么刪除聊天記錄?1.可以打開手機,你選一個聯系人,再點右上角聊天記錄設置。2.選擇聊天記錄,再點右上角的刪除掉。3.你選擇刪掉手機或刪出男街霸聊天記錄,然后點擊“判斷”。電腦扣扣如何刪除聊天記錄?徹底刪除電腦中的聊天記錄的具體看操作步驟萬分感謝:我們需要準備的材料有:電腦、。1、是需要我們先打開,直接點擊左下角“主菜單”按鈕。2、之后我們在該頁面中然后點擊打開“系統設置”按鈕。3、然后把我們...