怎樣購買網(wǎng)站程序360公司官網(wǎng)首頁
一、bootloader 程序
1.1 FLASH 內(nèi)存映射圖
1.2 boot程序解析
1.3 提問:從boot跳轉(zhuǎn)到app前,如果發(fā)生了中斷,請問這個中斷會被響應(yīng)么?
答案:否、
處理方法:在跳轉(zhuǎn)到app之前,先把中斷關(guān)閉,在進入app設(shè)置中斷NVIC中斷向量偏移之后,重新打開中斷開關(guān)即可。
二、app程序
2.1 app程序源碼
這里之所以要設(shè)置中斷向量偏移表,是因為我們的app程序不是放在0x0800 0000 的默認位置的
主要原因是我們產(chǎn)品需要有一段bootloader程序占用了這段代碼空間。
所以我們真實的app應(yīng)用程序是存放在0x0800 0000
+ 0x800
這個位置的。
所以我們的cpu去獲取中斷向量地址的時候,就不能直接從0x0800 0000 + 4 之后開始獲取。
而要從app程序基于bootloader代碼在flash中的偏移量的地址處開始獲取。
提問
stm32 在開發(fā)ota產(chǎn)品時,為什么中斷向量表是存放在flash的起始地址+4的這個相對位置? 而不是flash的絕對位置?
這個問題觸及了 AR