我對ARM Cortex-m處理器的引導順序有些困惑。從許多不同的資源,我讀到,在復位後,皮層-m複製內容從0x0到堆棧指針,複製復位處理程序地址從0x4到PC ...我的問題是:ARM Cortex-m4引導序列
1)cortex-m處理器將這兩個值複製到適當的寄存器,我的意思是處理器需要LDR/STR指令來這樣做,但這裏的值是自動複製的?處理器如何知道這兩個詞需要被複制。
2)cortex-m控制器是否包含最初執行的任何內置固件? 3)通常情況下,處理器在復位後,從復位向量中的特定存儲器位置開始執行,其中跳轉指令被置於復位處理器中......但是在cortex-m中,處理器通過將前兩個字複製到寄存器並開始然後程序計數器指向復位處理程序...無跳轉指令無處理器跳轉復位的特定存儲位置。這怎麼可能??
沒有固件的理由,固件可以幫助您查詢任何內容。 –
某些處理器通過在已知位置處的值的地址處執行而在其他地址處開始執行。我沒有一個完整的得分,但後者(皮質m屬於)是我認爲是更常見的解決方案。 –
https://en.wikipedia.org/wiki/Finite-state_machine在任何指令處理狀態開始之前,您可以擁有任意數量的狀態。說明實際上不再執行內存操作,而是printf()實際上將像素或字符放在屏幕上。我可以在屏幕上放置像素/字符而不使用printf。 –