簡體   English   中英

ARM Cortex-m4 啟動順序

[英]ARM Cortex-m4 boot sequence

我對 ARM Cortex-m 處理器的啟動順序有點困惑。 從許多不同的資源中,我讀到在重置時,cortex-m 將內容從 0x0 復制到堆棧指針並將重置處理程序地址從 0x4 復制到 PC ......我的問題是:

1) cortex-m 處理器如何將這兩個值復制到適當的寄存器,我的意思是處理器需要 LDR/STR 指令才能這樣做,但這里的值是自動復制的??? 處理器如何知道需要復制這兩個字。

2) cortex-m 控制器是否包含任何最初執行的內置固件?

3)通常處理器在復位后,從復位向量中的特定內存位置開始執行,在那里跳轉指令被放置到復位處理程序......但在 cortex-m 中,處理器首先將前兩個字復制到寄存器中,然后是程序計數器點重置處理程序... 無跳轉指令 無 處理器在重置時跳轉的特定內存位置。!!! 這怎么可能??

2) cortex-m 控制器是否包含任何最初執行的內置固件?

高度取決於型號和制造商。 示例:NXP LPC 系列 Cortex-M 芯片(如 LPC17xx)有一些掩碼 ROM 指令,在閃存中的程序之前執行。 其他人可能沒有內置這樣的內存。

1) cortex-m 處理器如何將這兩個值復制到適當的寄存器,我的意思是處理器需要 LDR/STR 指令來這樣做

這發生在任何代碼執行之前的硬件中,因此不需要 LDR 指令。

如果您知道狀態機是什么以及如何用 VHDL 或 Verilog 等硬件描述語言實現狀態機,那么它就非常簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM