編譯bootloader
Ⅰ arino開發板怎麼燒錄程序
Arino開發板燒錄程序的方法如下:
使用Arino IDE進行燒錄:
使用ISP下載器燒錄Bootloader:
- 如果你的Arino開發板未預裝Bootloader,你需要先使用ISP下載器燒錄Bootloader。
- ISP下載器可以通過多種方式獲得,例如購買或自製。
- 連接ISP下載器到Arino開發板和電腦的串口。
- 在Arino IDE中,選擇「工具」菜單下的「燒錄引導程序」,然後選擇正確的開發板型號和ISP下載器類型。
- 點擊「燒錄」按鈕,Bootloader將被燒錄到開發板上。
- 完成Bootloader燒錄後,你就可以像上面提到的那樣,通過串口與Arino IDE下載程序了。
參考詳細教程:
- 對於更詳細的步驟和注意事項,你可以參考DFrobot等網站上的教程。這些教程通常會提供詳細的步驟、圖片和可能的故障排除方法。
注意:在燒錄程序之前,請確保你已經正確連接了開發板和電腦,並且選擇了正確的開發板型號和埠。此外,不同的Arino開發板可能需要不同的設置和步驟,因此請根據你使用的具體開發板型號查閱相關文檔或教程。
Ⅱ 怎麼給pixhawk空板刷bootloader
步驟:
1.編譯最新的bootloader。 從github下載最新的bootloader,make編譯,得到px4io_bl.bin和px4fmu2_bl.bin文件;
2. 打開J-Link,注意最好用高版本的,我的用的是V4.74b。刷F100 MCU時,選擇STM32F100C8.jflash,如下圖:
5. 最後,connect連接,erase chip擦除整塊flash,最後program或者Auto下載bin文件,成功了會有success的提示。
6. 這樣就可以了,之後就可以用mission planner通過USB刷固件。
Ⅲ 如何用bootloader調試pic單片機
在PIC系列單片機中,只有PIC18系列和PIC16F87X系列的單片機才有IAP功能,才能夠使用BootLoader功能。下面只介紹PIC18的BootLoader,PIC16F87X的BootLoader與它類似。
1 BootLoader程序的工作原理
BootLoader是一段引導程序,在單片機上電/復位後在用戶程序之前先運行。運行後判斷當前是否需要進入升級狀態。如果不需要升級,就直接運行 Flash中原有的程序;如果需要升級,首先擦除舊的程序,然後從串口接收用戶程序,同時寫入Flash中。接收數據時,需要進行校驗,保證接收到的數據是正確的,避免將錯誤的程序寫入到晶元中。
PIC18單片機只有一塊Flash,可以在Flash的任何位置擦寫(甚至可以將BootLoader自身擦除);而51單片機一般都是兩塊Flash,只能夠從一塊Flash上擦寫另一塊Flash,而不能擦寫自身。
BootLoader程序原則上是可以放在整個程序空間中的任何位置的,但是為了簡單方便、具有通用性和盡量減少對用戶程序的影響,使用了從0x00開始的一段程序空間。
BootLoader程序可以多種方式獲取數據,包括串口、並口、I2C、SPI、USB等;但是從實際使用來看,使用串口無疑是最方便的。
為了使得用戶程序可以獲得最大的程序空間,就需要BootLoader程序盡可能的簡短。在這里,Microchip和HI-TECH都將 BootLoader程序設計為小於200H個位元組(100H個字)。使用0x00~0x1FF這個區域還有一個重要原因是,這個地址的空間有特殊的防寫特性。
PIC18單片機雖然有多個中斷源,但只支持兩級中斷,有兩個中斷向量,分別位於0x08和0x18;而 BootLoader程序佔用了0x00~0x1FF的空間,這意味著需要重新定位中斷向量,使新的中斷向量指向用戶的中斷程序,這樣才能保證正常運行用戶程序的中斷程序。
2 程序的使用方法
(1) HI-TECH的BootLoader程序
在HI-TECH的PICC18編譯器的examples文件夾下,有一個Bootldr子文件夾,裡面就是HI-TECH的BootLoader程序。這是一個完整的程序,可以直接進行編譯,編譯後的HEX可以用編程器下載到晶元中。
(2) 用戶系統的要求
如果需要使用BootLoader,要求用戶系統中有一個RS232串口可以和計算機進行通信。
(3) 程序的配置
下面是程序的主要參數,如果它們設置得不正確,會影響程序的使用。
VERB0:冗餘模式,有更多的提示,但是會佔用更多的程序空間,建議不用。
BOOT_TIMEOUT:等待超時的時間,0~9s(再長了也沒有意義),默認為5s。
BAUD:串口通信的波特率,默認是9 600。
FOSC:用戶系統的時鍾頻率,默認是4 MHz。
NINE:通信是否使用第9位數據位,默認不使用。
FILL_BYTE:程序空間擦除時使用的填充數據,默認值是0xFF。
PROG_START:用戶程序的起始位置,默認是0x200。
其他的參數可以先不用管,在需要時再修改,它們不影響通信和下載。
(4) 程序的編譯
有兩種方法對BootLoader程序進行編譯:
① 命令行方式。使用命令行時,典型的用法是:
picc18 -8f452 bootldr.c -o -zg -noerrata
上面的最後一個參數 -noerrata是PIC18Fxx2系列單片機需要的,若是其他型號,就不用加入;而參數 -18f452是指定單片機的型號,如果是其他型號,就修改為實際使用的型號。
② 使用MPLAB IDE。使用MPLAB IDE時,首先按照正常方式建立一個新的工程文件,選擇工程文件目錄,然後加入HI-TECH的Samples\Bootldr目錄下文件 bootldr.c和bootldr.h。建立工程文件時,選擇MCU的型號為實際使用的型號,選擇C編譯器為HI-TECH的PICC18編譯器。