單片機(jī)程序燒錄方式知多少?
[導(dǎo)讀]▼點(diǎn)擊下方名片,關(guān)注公眾號(hào)▼歡迎關(guān)注【玩轉(zhuǎn)單片機(jī)與嵌入式】公眾號(hào),回復(fù)關(guān)鍵字獲取更多免費(fèi)資料?;貜?fù)【加群】,限時(shí)免費(fèi)進(jìn)入知識(shí)共享群;回復(fù)【3D封裝庫(kù)】,常用元器件的3D封裝庫(kù);回復(fù)【電容】,獲取電容、元器件選型相關(guān)的內(nèi)容;回復(fù)【阻抗匹配】,獲取電磁兼容性、阻抗匹配相關(guān)的資料回復(fù)【...
說(shuō)起給單片機(jī)燒錄程序,大家應(yīng)該都不陌生,我最早接觸單片機(jī)是從51單片機(jī)開(kāi)始的,型號(hào)是STC89C52RC,當(dāng)時(shí)燒錄程序就是用的下面這種燒錄軟件——STC-ISP。
單片機(jī)Flash在地址映射表中位置下圖是一張STM32F4xx的地址映射表,從0x0000 0000到0xFFFF FFFF,總計(jì)4Gbyte。單片機(jī)的片上Flash、片上RAM、片上外設(shè)以及外部擴(kuò)展接口的訪問(wèn)地址,都被映射到這4Gbyte的范圍之內(nèi)。
啟動(dòng)方式選擇 STM32有兩個(gè)BOOT引腳,通過(guò)配置不同的高低電平,可以讓單片機(jī)從不同的地址開(kāi)始運(yùn)行。
ISP(串口燒錄)特點(diǎn):
ICP(JTAG口燒錄)特點(diǎn):
IAP(升級(jí)/跳轉(zhuǎn)程序)
-
ISP(In-System Programming)
-
ICP (In-circuit programmer)
-
IAP(In-Application Programming)
單片機(jī)Flash在地址映射表中位置下圖是一張STM32F4xx的地址映射表,從0x0000 0000到0xFFFF FFFF,總計(jì)4Gbyte。單片機(jī)的片上Flash、片上RAM、片上外設(shè)以及外部擴(kuò)展接口的訪問(wèn)地址,都被映射到這4Gbyte的范圍之內(nèi)。
-
Main memory 主存儲(chǔ)區(qū)
-
System memory系統(tǒng)存儲(chǔ)區(qū)
啟動(dòng)方式選擇 STM32有兩個(gè)BOOT引腳,通過(guò)配置不同的高低電平,可以讓單片機(jī)從不同的地址開(kāi)始運(yùn)行。
-
BOOT0=0, BOOT1任意
-
BOOT0=1,BOOT1=0
-
BOOT0=1,BOOT1=1
BOOT0 | BOOT1 | 啟動(dòng)方式 | 說(shuō)明 |
---|---|---|---|
0 | × | 主閃存存儲(chǔ)器 | 主閃存存儲(chǔ)器被選為啟動(dòng)區(qū)域 |
1 | 0 | 系統(tǒng)存儲(chǔ)器 | 系統(tǒng)存儲(chǔ)器被選為啟動(dòng)區(qū)域 |
1 | 1 | 內(nèi)置SRAM | 內(nèi)置SRAM被選為啟動(dòng)區(qū)域 |
ISP(串口燒錄)特點(diǎn):
-
BOOT0 = 1,BOOT1 = 0
-
啟動(dòng)地址:0x1FFF0000
-
使用串口下載程序
-
系統(tǒng)存儲(chǔ)器(System memory)啟動(dòng)方式運(yùn)行內(nèi)置的Bootloader,將程序?qū)懭胫鞔鎯?chǔ)區(qū)
-
重啟后,需要再將BOOT0拉低,從主存儲(chǔ)區(qū)啟動(dòng)程序
ICP(JTAG口燒錄)特點(diǎn):
-
BOOT0 = 0,BOOT1 = x
-
啟動(dòng)地址:0x08000000
-
使用JTAG或者SWD模式下載程序
-
主閃存存儲(chǔ)器(Flash memory)啟動(dòng)方式,將程序在主存儲(chǔ)區(qū)寫入
-
重啟后也直接從這啟動(dòng)程序
IAP(升級(jí)/跳轉(zhuǎn)程序)