stm32 Boot0,Boot1引腳設(shè)置
Boot0,Boot1引腳設(shè)置?
(1) Boot0設(shè)置為0后,代碼將從主Flash當(dāng)中啟動(dòng),就我們目前所編程的地方啟動(dòng),只要程序正常,上電之后都是可以正常工作。這一般作為ISP
程序下載仿真燒寫。一般正常批量生產(chǎn)的時(shí)候,我們也是推薦客戶默認(rèn)按照這樣的方式去操作,上電之后,機(jī)器會(huì)自動(dòng)運(yùn)行。
(2) Boot0設(shè)置為1,Boot1設(shè)置為0,代碼將從ROM區(qū)啟動(dòng),這上電啟動(dòng)都會(huì)運(yùn)行Bootloader,在此過程中可以實(shí)現(xiàn)IAP程序更新,這一般是通過USART
進(jìn)行更新,此時(shí)如果USART或者是SPI端口沒有接收到數(shù)據(jù)信號(hào),那么MCU將會(huì)一直程序等待下去,不會(huì)自動(dòng)跳到FLash主代碼區(qū)。所以一般這作為個(gè)體產(chǎn)品
想實(shí)現(xiàn)代碼更新的工作。這需要你那邊是否要考慮以后產(chǎn)品升級(jí),如若升級(jí),可以在Boot0引腳接入一個(gè)拔碼開關(guān)實(shí)現(xiàn)對Boot0電平的控制,從而可以實(shí)現(xiàn)
IAP更新功能。
(2)Boot0以及Boot1都是為1的時(shí)候,那么此時(shí)程序?qū)腞AM當(dāng)中啟動(dòng),程序會(huì)直接下載到RAM當(dāng)中,這一般作為調(diào)試來用,因?yàn)橛械臅r(shí)候代碼不是很大,由于
RAM下載代碼速度很快,對于一些調(diào)試而言是非常有好處的,斷電不會(huì)保存數(shù)據(jù),這一點(diǎn)需要注意。