1. CPU到指定的memory address抓取第一行instruction執行,有兩種常見的作法
(1)CPU會把PC設定為一個特定的address,從這邊開始執行
(2)CPU會把Interrupt Vector Table設定為特定的address,並且發出Reset interrupt
在Reset的ISR中執行某個開機的function
2. 初始化CPU (IVT的addres, SP)
3. 把code和data從ROM或是 Flash搬到RAM上執行,通常使用DMA搬
(有些code可直接在external flash上執行就不需要搬)
4. 初始化板子相關設定和參數
5. 初始化系統(ex 執行OS、GUI)
6. 執行主程式,很多嵌入式系統會執行一個無窮迴圈
沒有留言:
張貼留言