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
   26   27   28   29   30   31   32   33   34   35   36