1.存儲(chǔ)器映射
STM32F1的系統(tǒng)結(jié)構(gòu)
存儲(chǔ)器映射
STM32F1的存儲(chǔ)器的映射
存儲(chǔ)器映射是指把芯片中或芯片外的FLASH,RAM,外設(shè),BOOTBLOCK等進(jìn)行統(tǒng)一編址。即用地址來(lái)表示對(duì)象。這個(gè)地址絕大多數(shù)是由廠家規(guī)定好的,用戶(hù)只能用而不能改。用戶(hù)只能在掛外部RAM或FLASH的情況下可進(jìn)行自定義。
從系統(tǒng)結(jié)構(gòu)圖中我們可以看出,所有內(nèi)部設(shè)備都是AHB System Bus上,AHB系統(tǒng)總線(xiàn)又分成兩個(gè)連接的橋,APB1的操作速度限于36MHZ,APB2的操作速度是全速(最高72MHZ)可以很清晰的從圖中看出每個(gè)橋連接的內(nèi)部設(shè)備。
寄存器(GPIOX)組起始地址
我們以GPIOA為例子。首先我們得明確一點(diǎn):GPIOA是掛載在APB2上,APB2是從AHB系統(tǒng)總線(xiàn)中分出來(lái)的。
從stm32f10x.h頭文件中,我們可以得到一些程序段:
typedef unsigned int uint32_t;//說(shuō)明CRL等寄存器是十六位的。
typedef struct
{
__IO uint32_t CRL;
__IO uint32_t CRH;
__IO uint32_t IDR;
__IO uint32_t ODR;
__IO uint32_t BSRR;
__IO uint32_t BRR;
__IO uint32_t LCKR;
} GPIO_TypeDef;
首先我們明確GPIO_TypeDef是一個(gè)結(jié)構(gòu)體變量。
下面的程序段最好從下往上看更好理解。
#define PERIPH_BASE((uint32_t)0x40000000)
#define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
#define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
PERIPH_BASE 是外設(shè)基地址,為了便于我們可以把這個(gè)比作是AHB系統(tǒng)總線(xiàn)的地址,那么APB2的地址就是在外設(shè)基地址的基礎(chǔ)上加上偏移量。由程序段看出來(lái)偏移量是0x10000,同樣的理解。GPIOA的地址就是在APB2的地址的地址基礎(chǔ)上加上一個(gè)偏移地址,由程序段中可以看出是0x800。所以我們可以得到GPIOA的起始地址地址是0x4000_0000+0x1_0000+0x0800 = 0x4001_0800。
從STM32的中文參考手冊(cè)中,我們看到CRL、CHL、IDR、ODR、BSRR、BRR、LCKR的偏移量都是004H。
因?yàn)镃RL、CHL、IDR、ODR、BSRR、BRR、LCKR寄存器都定義的是16位的地址,所以定義32的地址需要
這么理解:一個(gè)地址存儲(chǔ)八位信息,(char一個(gè)字節(jié)是八位最大的整數(shù)是2^8-1)比如:0x4001_0800存儲(chǔ)8位的信息,0x4001_0801存儲(chǔ)8位信息......0x4001_0804存儲(chǔ)8位信息。一共存儲(chǔ)32位信息。GPIOx的某一位的CRL需要4個(gè)位(兩個(gè)位控制模式,兩個(gè)位控制速度)來(lái)控制。4*8(CRL只控制低8位)=32。
因此GPIOA各個(gè)寄存器的實(shí)際地址
寄存器 偏移地址 實(shí)際地址=基地址+偏移地址
GPIOA->CRL 0x00 0x40010800+0x00
GPIOA->CRH; 0x04 0x40010800+0x04
GPIOA->IDR; 0x08 0x40010800+0x08
GPIOA->ODR 0x0c 0x40010800+0x0c
GPIOA->BSRR 0x10 0x40010800+0x10
GPIOA->BRR 0x14 0x40010800+0x14
GPIOA->LCKR 0x18 0x40010800+0x18
2.bit-band理解
Bit Banding功能是相對(duì)于以往能夠進(jìn)行bit操作的單片機(jī)而言的。通過(guò)Bit Banding功能可以像51單片機(jī)的bit操作一樣。MCS51可以簡(jiǎn)單的將P1口的第2位獨(dú)立作:P1.2=0;P1.2=1 就是這樣把P1口的第三個(gè)腳(BIT2)置0或置1了。而現(xiàn)在STM32的位段、位帶別名區(qū)就為了實(shí)現(xiàn)這樣的功能。只不過(guò)他是為需要操作的地址(1字節(jié))的每一個(gè)位(共8位)起個(gè)別名,分別對(duì)應(yīng)別名區(qū)的一個(gè)字(word)。也就是別名區(qū)的大小是Bit Band的32倍。這樣,32MB的別名區(qū)地址的操作,就是對(duì)相應(yīng)Bit Band區(qū)的位的操作。Bit Banding功能是相對(duì)于以往能夠進(jìn)行bit操作的單片機(jī)而言的。
和bit-bind有關(guān)的寄存器
STM32有兩個(gè)Bit Band區(qū)域,分別是:
0x2000 0000——0x2010 0000:該地址是STM32的SRAM低1MB的地址區(qū)域;
0x4000 0000——0x4010 0000:該地址是STM32的Peripherals低1MB的地址區(qū)域;
另外,STM32還有兩個(gè)對(duì)應(yīng)的Bit Band區(qū)域的別名區(qū),分別是:
0x2200 0000——0x23FF FFFF:共32MB的空間,對(duì)應(yīng)相應(yīng)1MB的每一個(gè)位;
0x4200 0000——0x43FF FFFF:共32MB的空間,對(duì)應(yīng)相應(yīng)1MB的每一個(gè)位;
接下來(lái)的問(wèn)題是如何確定Bit Band區(qū)字節(jié)的位所對(duì)應(yīng)的那個(gè)別名區(qū)的字(word)。Bit Band區(qū)和別名區(qū)是一一對(duì)應(yīng)的,具體的公式為:
bit_word_addr=bit_band_base+ (byte_offset×32) + (bit_number×4);
bit_band_base:32MB別名區(qū)首地址;
byte_offset:1MB位段區(qū)偏移量,即為bit-band 區(qū)中包含目標(biāo)位的字節(jié)的編號(hào);
bit_number:位段中目標(biāo)位的位位置(0-7);
舉個(gè)例子(通過(guò)別名區(qū)訪問(wèn)地址):
1、想操作SRAM中Bit Band區(qū)地址為 0x2000 0018字節(jié)的第2位
計(jì)算別名區(qū)對(duì)應(yīng)子地址:0x2200 0000 +(18*32)+(2*4) = 0x2200 0248
所以,對(duì)0x2200 0248地址的操作,就是對(duì)0x2000 0018字節(jié)的第2位進(jìn)行操作;
注意:別名字的位[31:1]在 bit-band 位上不起作用。寫(xiě)入 0x01 與寫(xiě)入 0xFF 的效果相同。寫(xiě)入0x00 與寫(xiě)入0x0E 的效果相同。
上一篇:STM32F105標(biāo)準(zhǔn)庫(kù)讀寫(xiě)USB寫(xiě)入csv文件
下一篇:STM32F103ZET XXX.map的可執(zhí)行映像分析
推薦閱讀
史海拾趣
并購(gòu):2011年,全球領(lǐng)先的信號(hào)傳輸解決方案提供商Belden成功收購(gòu)了GarrettCom。這一并購(gòu)標(biāo)志著GarrettCom正式成為Belden大家庭的一員,也為其帶來(lái)了更廣闊的發(fā)展空間和資源支持。
融合:加入Belden后,GarrettCom繼續(xù)發(fā)揮其在工業(yè)通信領(lǐng)域的專(zhuān)長(zhǎng),并與Belden的其他業(yè)務(wù)線(xiàn)形成協(xié)同效應(yīng)。雙方共同為客戶(hù)提供更全面的信號(hào)傳輸和通信解決方案,進(jìn)一步提升了市場(chǎng)競(jìng)爭(zhēng)力。
背景:GarrettCom始創(chuàng)于1989年,專(zhuān)注于工業(yè)網(wǎng)絡(luò)通信產(chǎn)品的研發(fā)與制造。在那個(gè)工業(yè)自動(dòng)化初具規(guī)模的年代,GarrettCom憑借其卓越的產(chǎn)品質(zhì)量和創(chuàng)新的解決方案,迅速在市場(chǎng)中嶄露頭角。公司推出的工業(yè)以太網(wǎng)交換機(jī)和路由器等產(chǎn)品,以其高穩(wěn)定性和可靠性,贏得了眾多工業(yè)客戶(hù)的信賴(lài)。
發(fā)展:隨著工業(yè)自動(dòng)化程度的不斷提升,GarrettCom不斷加大研發(fā)投入,推出了一系列適應(yīng)惡劣工業(yè)環(huán)境的產(chǎn)品。這些產(chǎn)品不僅滿(mǎn)足了工業(yè)自動(dòng)化對(duì)通信穩(wěn)定性的嚴(yán)苛要求,還推動(dòng)了工業(yè)通信技術(shù)的進(jìn)步。通過(guò)不斷的技術(shù)創(chuàng)新和市場(chǎng)拓展,GarrettCom逐步確立了其在工業(yè)通信領(lǐng)域的領(lǐng)先地位。
并購(gòu):2011年,全球領(lǐng)先的信號(hào)傳輸解決方案提供商Belden成功收購(gòu)了GarrettCom。這一并購(gòu)標(biāo)志著GarrettCom正式成為Belden大家庭的一員,也為其帶來(lái)了更廣闊的發(fā)展空間和資源支持。
融合:加入Belden后,GarrettCom繼續(xù)發(fā)揮其在工業(yè)通信領(lǐng)域的專(zhuān)長(zhǎng),并與Belden的其他業(yè)務(wù)線(xiàn)形成協(xié)同效應(yīng)。雙方共同為客戶(hù)提供更全面的信號(hào)傳輸和通信解決方案,進(jìn)一步提升了市場(chǎng)競(jìng)爭(zhēng)力。
為了進(jìn)一步推動(dòng)公司的發(fā)展,City Technology于1993年決定售出部分股份,并在1996年成功在倫敦股票交易所上市。這一舉措為公司帶來(lái)了更多的資金支持,也為其后續(xù)的資本運(yùn)作和戰(zhàn)略擴(kuò)張?zhí)峁┝丝赡堋I鲜泻蟮腃ity Technology在資金、人才和市場(chǎng)資源等方面得到了極大的提升,為其日后的快速發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
為了進(jìn)一步擴(kuò)大市場(chǎng)份額,Caddell-Burns Manufacturing公司開(kāi)始積極尋求國(guó)際合作。他們與多個(gè)國(guó)家的電子制造商建立了穩(wěn)定的合作關(guān)系,將產(chǎn)品出口到世界各地。同時(shí),公司還參加了多個(gè)國(guó)際電子展會(huì),展示了公司的最新產(chǎn)品和技術(shù)成果,吸引了眾多客戶(hù)的關(guān)注。這些舉措不僅提升了公司的國(guó)際知名度,也為公司的長(zhǎng)期發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
隨著國(guó)內(nèi)市場(chǎng)的飽和,BH Electronics開(kāi)始尋求國(guó)際化發(fā)展的道路。公司高層經(jīng)過(guò)深入調(diào)研和分析,決定進(jìn)軍歐洲市場(chǎng)。為了適應(yīng)當(dāng)?shù)厥袌?chǎng)的需求和文化習(xí)慣,BH Electronics在歐洲設(shè)立了研發(fā)中心和營(yíng)銷(xiāo)團(tuán)隊(duì),積極推廣公司的產(chǎn)品和服務(wù)。通過(guò)不懈的努力,BH Electronics成功在歐洲市場(chǎng)打開(kāi)了局面,實(shí)現(xiàn)了國(guó)際化發(fā)展的戰(zhàn)略目標(biāo)。
如何使用FPGA設(shè)計(jì)語(yǔ)音存儲(chǔ)系統(tǒng) 最近剛開(kāi)始學(xué)VHDL,需要使用VHDL語(yǔ)言編程,以FPGA為基礎(chǔ),做一個(gè)數(shù)字錄音存儲(chǔ)系統(tǒng),利用MAX7128電路板來(lái)做,需要用到哪幾部分?具體的電路該怎么設(shè)計(jì)~?不知道有沒(méi)前輩能夠指導(dǎo)一下,在此謝過(guò)了~… 查看全部問(wèn)答∨ |
|
對(duì)MTK平臺(tái)的一些認(rèn)識(shí) 對(duì)MTK平臺(tái)的一些認(rèn)識(shí) 一、 目的 來(lái)到這里近兩月,更近距離的接近了MTK。身處基于MTK平臺(tái)的產(chǎn)品開(kāi)發(fā)浪潮之中,讓我對(duì)MTK有更多的了解,不光是在平臺(tái)技術(shù)本身。就技術(shù)上,從軟件角度、系統(tǒng)角度,對(duì)MTK我應(yīng)該能給出深度而全面的評(píng)價(jià)或看法。就產(chǎn)品 ...… 查看全部問(wèn)答∨ |
【藏書(shū)閣】電子技術(shù)(電工學(xué)Ⅱ)典型題解析及自測(cè)試題 目錄: 第一部分 典型題解析 第一章 半導(dǎo)體二極管與簡(jiǎn)單應(yīng)用 一、內(nèi)容提要 二、典型題解析 三、習(xí)題 第二章 半導(dǎo)體三極管與基本放大電路 一、內(nèi)容提要 二、典型題解析 三、習(xí)題 第三章 集成運(yùn)算放大器 一、內(nèi)容提要 二、典型題解析 ...… 查看全部問(wèn)答∨ |
我看IC:全球最小的數(shù)字界面MEMS麥克風(fēng) 全球最小的數(shù)字界面MEMS麥克風(fēng) TDK 集團(tuán)的分公司TDK-EPC推出了一款商用MEMS麥克風(fēng),成為迄今全球最小的、集成了數(shù)字界面的麥克風(fēng)。愛(ài)普科斯T4030的尺寸僅為3.25 × 2.25 × 1.1 mm³,比同類(lèi)產(chǎn)品小60%。這使手機(jī)、MP3和數(shù)碼相機(jī)等消費(fèi)電子 ...… 查看全部問(wèn)答∨ |
color=#000000]我是一個(gè)很笨的大一的專(zhuān)科生,學(xué)的專(zhuān)業(yè)是嵌入式,現(xiàn)在很迷茫,不知道該怎么發(fā)展?我的理想是嵌入式系統(tǒng)設(shè)計(jì)師。 1.我不是很了解這個(gè)行業(yè)的特點(diǎn),發(fā)展要求,職業(yè)要求,未來(lái)趨勢(shì),市場(chǎng)需求? 2.嵌入式系統(tǒng)設(shè)計(jì)是偏軟還是偏硬? 3 ...… 查看全部問(wèn)答∨ |
我在存儲(chǔ)管理器,可以看到正常的FLASH大小信息,但看不到分區(qū)信息。格式化后,可以看到分區(qū)信息,也能看到盤(pán)符,可以復(fù)制文件到這個(gè)盤(pán)符。但重啟后,盤(pán)符看不到,里面的文件也看不到了。 當(dāng)初以為原來(lái)看到的盤(pán)符和復(fù)制到里面的文件都是在內(nèi)存里面 ...… 查看全部問(wèn)答∨ |
請(qǐng)教高手,設(shè)計(jì)是將NAND FLASH選通輸出信號(hào)nFCE和ce一起拉高到1.8v,但是上電之后測(cè)得CE引腳一直為低電平 請(qǐng)教高手,設(shè)計(jì)是將NAND FLASH選通輸出信號(hào)nFCE和ce一起拉高到1.8v,但是上電之后測(cè)得CE引腳一直為低電平,就是一直選通,本來(lái)應(yīng)該在讀取FLASH數(shù)據(jù)時(shí)候或者有效信號(hào)來(lái)的時(shí)候才為低,這樣導(dǎo)致JTAG進(jìn)不去,我換到32位ROM啟動(dòng)JTAG能進(jìn),擦除FLASH后, ...… 查看全部問(wèn)答∨ |
請(qǐng)各位大俠指教,怎樣合理計(jì)算DTU的功耗。同事之間討論沒(méi)有得出好的辦法,自己接上穩(wěn)壓電源測(cè)試,發(fā)現(xiàn)電流是在不斷變化的,而且跳躍量很大,可以達(dá)到0.1A。我們開(kāi)玩笑說(shuō)直接接到電表上開(kāi)幾個(gè)小時(shí)算消耗,畢竟實(shí)際不可行。請(qǐng)大家教我個(gè)方法。如果取 ...… 查看全部問(wèn)答∨ |
我在windows mobile的主窗口中創(chuàng)建了一個(gè)子窗口,在這個(gè)子窗口上有一個(gè)列表控件,當(dāng)程序一開(kāi)始運(yùn)行時(shí),我點(diǎn)擊手機(jī)下方的方向鍵,都能正常響應(yīng),但當(dāng)我用鼠標(biāo)選中列表控件中的一行數(shù)據(jù)項(xiàng)時(shí),再去點(diǎn)擊方向鍵,它就不再響應(yīng)了。 請(qǐng)問(wèn)如何解決啊,希望 ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- 【下載】LAT1473 STM32C0 HAL庫(kù)的SPI 驅(qū)動(dòng)導(dǎo)致的Hardfault問(wèn)題分析
- 【下載】LAT1490 兩個(gè)STM32G0 I2C 通信異常的案例分析
- 【下載】LAT1470 SPI傳輸長(zhǎng)度超過(guò)1024時(shí)出現(xiàn)異常的問(wèn)題分析
- 嵌入式學(xué)習(xí)篇丨迅為4412開(kāi)發(fā)板Android4.4系統(tǒng)編譯
- Linux系統(tǒng)編程篇丨迅為IMX6ULL-對(duì)應(yīng)視頻講解
- 嵌入式學(xué)習(xí)丨4412開(kāi)發(fā)板-uboot源碼-匯編-源碼分析(一)嵌入式學(xué)習(xí)丨4412開(kāi)發(fā)板-uboot源碼-匯
- 迅為IMX6ULL開(kāi)發(fā)板-主頻和時(shí)鐘配置例程(二)
- 迅為IMX6ULL開(kāi)發(fā)板-主頻和時(shí)鐘配置例程
- 迅為IMX6ULL開(kāi)發(fā)板安裝VMware Tool工具
- i.MX6ULL終結(jié)者Debian文件系統(tǒng)的構(gòu)建i.MX6ULL 移植Debian文件系統(tǒng)
- 迅為i.MX6ULL開(kāi)發(fā)板按鍵例程編譯及運(yùn)行
- 迅為-i.MX6開(kāi)發(fā)板手冊(cè)更新-非設(shè)備樹(shù)uboot-修改默認(rèn)環(huán)境變量
- 北京、上海、深圳自動(dòng)駕駛領(lǐng)跑全國(guó)!
- 基于智能網(wǎng)聯(lián)汽車(chē)質(zhì)量與安全要求的全融合研發(fā)體系研究
- 全球首個(gè)人形機(jī)器人半馬將舉行,機(jī)器人在北京街頭開(kāi)啟首次路測(cè)
- 高標(biāo)準(zhǔn)提升智能網(wǎng)聯(lián)汽車(chē)安全 SGS為杰發(fā)科技頒發(fā)ISO/SAE 21434認(rèn)證證書(shū)
- 元戎啟行聯(lián)合高通基于驍龍智駕平臺(tái)發(fā)布高階智駕解決方案
- 動(dòng)力電池迎“新大考”① | 超快充爆發(fā)元年,安全標(biāo)準(zhǔn)何時(shí)升級(jí)
- 五菱發(fā)布神煉電池4.0,全球首款6C高錳電池M亮相
- 各車(chē)企智駕技術(shù)方案盤(pán)點(diǎn)
- 更強(qiáng)、更可靠的ESD方案
- 25億美元!英飛凌收購(gòu)Marvell汽車(chē)以太網(wǎng)業(yè)務(wù)
- 下載信息娛樂(lè)系統(tǒng)精品文章,贏【米家臺(tái)燈、小米保溫杯、米家藍(lán)牙溫濕計(jì)】,開(kāi)啟MPS汽車(chē)技術(shù)進(jìn)階之旅!
- 2020-2021年安森美和安富利物聯(lián)網(wǎng)創(chuàng)新設(shè)計(jì)大賽
- 【1月14日 技術(shù)直播】工程師請(qǐng)就位,Keysight計(jì)量專(zhuān)家開(kāi)講啦 ~電子儀器計(jì)量校準(zhǔn)基礎(chǔ)知識(shí)與校準(zhǔn)周期探討
- 團(tuán)結(jié)起來(lái),問(wèn)倒TI專(zhuān)家團(tuán)!!!
- EEWorld Datasheet 伴你同行!快來(lái)領(lǐng)取200芯積分福利啦~
- 【1月14日 技術(shù)直播】工程師請(qǐng)就位,Keysight計(jì)量專(zhuān)家開(kāi)講啦 ~電子儀器計(jì)量校準(zhǔn)基礎(chǔ)知識(shí)與校準(zhǔn)周期探討
- 第三代半導(dǎo)體如何測(cè)試 進(jìn)階技能備好了!收集能量抽好禮!
- 【XILINX 主題分享月】 設(shè)計(jì)工具資料大搜集!!!
- 比亞迪將全面搭載刀片電池,并準(zhǔn)備全行業(yè)外供
- SIA敦促美國(guó)政府采取行動(dòng),以加強(qiáng)美國(guó)的半導(dǎo)體供應(yīng)鏈
- IC Insights預(yù)計(jì)2021年半導(dǎo)體總出貨量將超過(guò)1萬(wàn)1千億個(gè)
- HEV電池“狼煙四起”
- 一加在印度注冊(cè)O(shè)nePlus Pay商標(biāo) 引進(jìn)數(shù)字支付服務(wù)
- 晶瑞股份發(fā)布前三季度業(yè)績(jī)預(yù)告,凈利大幅下滑
- 芯源微電子將在科創(chuàng)板首發(fā)上會(huì),其有何背景?
- JDI已為蘋(píng)果智能手表小規(guī)模試產(chǎn)AMOLED屏幕
- 全球PC市場(chǎng)創(chuàng)7年來(lái)新高,但蘋(píng)果市場(chǎng)份額減小
- 不只產(chǎn)品和技術(shù),如今無(wú)人機(jī)發(fā)展已邁入標(biāo)準(zhǔn)之爭(zhēng)!
- 請(qǐng)教一下STM32F407移植到GD32F407
- 電子信息工程的女生該選擇什么樣的發(fā)展方向
- 惠斯通電橋結(jié)構(gòu)中的電阻分析
- 【Cyclone V 評(píng)估板】 -- PCB文件
- 緊急求助!! 請(qǐng)問(wèn)下使用dsp6657 開(kāi)發(fā)板,調(diào)試srio 接口時(shí),無(wú)法收到doorbell中斷
- C51使用技巧及實(shí)戰(zhàn).rar
- 電源產(chǎn)品可靠性設(shè)計(jì)方法概述
- 請(qǐng)問(wèn)關(guān)于引腳振蕩頻率
- 網(wǎng)絡(luò)數(shù)字監(jiān)控
- 各種電路圖,夠大家好好學(xué)了