Page 31 - eAB12002_Arduino 微電腦應用實習_課本PDF
P. 31
第 1 章 認識 Arduino
3 開機載入程式 bootloader
bootloader 本質也是一個程式,而 boot 的本義為啟動,loader 則為載入器,
這樣顧名思義 bootloader 的兩個作用就是啟動程式和載入程式。
所謂裝載程式就是燒錄晶片,在燒寫晶片的過程中晶片本身是在運行著的 一
認識篇
(bootloader 程式在執行著),利用這個執行著的程式(bootloader)和外界 (PC
的硬體設備 ) 進行通信,進而對晶片進行燒錄程式。
另一個功能就是啟動了,啟動就是在 bootloader 裝載完程式之後,可以將控
制權交給一般程式區裡的程式碼繼續執行動作,一般會使用跳躍陳述式(Jump
Statement)來實現。 二
基礎應用篇
Arduino 開發板的微控制器晶片皆事先已燒錄好 bootloader 程式了,開機動
作流程如下:
1. 接上電源後,bootloader 會先等幾秒看看是否要進行燒錄程式的動作。
2. 若要燒錄,則由 Arduino IDE 中的燒錄程式與 Arduino 板子中的 bootloader 相
互合作對晶片進行燒錄程式。 三
3. 若不燒錄,則將控制權交給一般程式區裡的程式碼。 整合應用篇
因為有了 Bootloader,讓燒錄的工作變得更加方便,不用再準備 ISP 燒錄器,
只要透過 USB 介面就可輕易地將程式燒錄至晶片,但會有以下情形會出現:
1. UNO 板的 bootloader 約占 flash 程式記憶體 0.5KB,而 Leonardo 板約占
4KB。
四
2. 啟動時需先等幾秒判斷是否要燒錄的動作,故正常應用時也無法一開機就動 附
作,此問題在 Leonardo 板比較明顯,UNO R3 則比較沒這問題。
錄
1-21