文章目錄
4.5 替代方法
4.5.1 下載并安裝Zadig(僅適用于Windows)
4.5.2 下載ArduPilot固件
4.5.3 將ArduPilot上傳至主板
4.6 將固件加載到帶有外部閃存的主板上
4.6.1 使用SSBL加載固件
4.6.2 安裝ArduPilot引導(dǎo)程序
4.5 替代方法
4.5.1 下載并安裝Zadig(僅適用于Windows)
下載并運(yùn)行?Zadig(在"Download"下面搜索"Zadig 2.3"),允許使用 USB 訪問電路板。
從選項(xiàng)菜單中選擇"List all devices"選項(xiàng)。
從下拉菜單中選擇"STM32 BOOTLOADER",然后按"Replace Driver"按鈕。
可選地,你可能希望檢查該板作為一個(gè) USB 端口是否可見:
- 按住板子上的 DFU 按鈕,插入 USB 線(連接到你的 PC 上);
- 打開 windows 設(shè)備管理器,在"通用串行總線設(shè)備"下查找"STM32 BOOTLOADER",以確認(rèn)該板處于 DFU 模式。
4.5.2 下載ArduPilot固件
從?firmware.ardupilot.org?下載你的主板的 ArduPilot 固件。通常你可以通過以下方式找到合適的固件:
- 打開??firmware.ardupilot.org;
- 選擇點(diǎn)擊你的飛行器類型的鏈接(如?Plane、Copter、Rover、Sub?或?Antenna Tracker);
- 選擇"測(cè)試版"或"穩(wěn)定版";
- 尋找名稱與自動(dòng)駕駛儀最接近的目錄;
- 下載"arduXXX_with_bl.hex"文件,點(diǎn)擊它。它通常會(huì)被保存在你的下載文件夾中。
4.5.3 將ArduPilot上傳至主板
下載、安裝并運(yùn)行 Betaflight 配置器(Betaflight Configurator)。
- 在屏幕的左側(cè)選擇"Firmware Flasher";
- 從右上方選擇 DFU;
- 從右下方按下"加載固件[本地]",并選擇你上面下載的 arduXXX_with_bl.hex 文件;
- 按下"Flash Firmware",幾分鐘后,固件應(yīng)該被加載。
你現(xiàn)在可以重新啟動(dòng)電路板,并與你喜歡的地面站(Mission Planner、QGC 等)連接(connect with your favourite ground station),未來(lái)的固件上傳也應(yīng)該可以使用 Pixhawk 電路板的正常方法。
4.6 將固件加載到帶有外部閃存的主板上
最近的一些板子,最明顯的是來(lái)自 Seriously Pro Racing(Seriously Pro Racing - Home)的板子,使用了具有少量?jī)?nèi)部閃存的 MCU,但外部連接的閃存芯片大得多。這些板子需要額外的步驟來(lái)加載 ArduPilot 固件。通常情況下,某種引導(dǎo)程序駐留在內(nèi)部閃存上,然后主固件駐留在外部閃存上。
4.6.1 使用SSBL加載固件
SPRacing 系列的板子在內(nèi)部閃存上預(yù)裝了一個(gè)專有的引導(dǎo)程序,需要使用第二階段的引導(dǎo)程序來(lái)加載進(jìn)一步的固件。有幾個(gè)選擇來(lái)加載這些板子的固件,但無(wú)論你選擇哪一種,你都需要使用 SSBL 來(lái)初始化 ArduPilot。請(qǐng)按照GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI."安裝"說明,以便將 SSBL 加載到你的電路板上。一旦 SSBL 加載完畢,請(qǐng)按照 PX4 的說明將 ArduPilot 加載到板子上GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI.,但不要使用 PX4 固件,請(qǐng)使用 arducopter.bin 固件鏡像。以下是步驟的總結(jié):
- 下載Releases · spracing/ssbl · GitHub,并按照GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series flight controllers. Allows booting of PX4 or other firmware directly from external flash using memory mapped QuadSPI.,將 SSBL 安裝到外部閃存中;
- 下載最新的 ArduPilot 外部閃存二進(jìn)制文件,例如https://firmware.ardupilot.org/Copter/latest/SPRacingH7/arducopter.bin;
- 使用 dd 將二進(jìn)制文件填充到 2MB:
dd if=/dev/zero ibs=1k count=2048 of=AP_2MB.bin
dd conv=notrunc if=arducopter.bin of=AP_2MB.bin
- 把板子放入 SSBL dfu 模式--關(guān)閉電源,按住 BIND(不是 BOOT),打開電源 --LED 快速閃爍,釋放 BIND,LED 緩慢閃爍 --DFU 模式啟用;
- 使用以下方法燒錄二進(jìn)制文件;
dfu-util -D AP_2MB.bin -s 0x90100000:0x200000
- 驗(yàn)證閃存。下面的 dfu-util 命令將閃存的內(nèi)容復(fù)制到電腦上,diff 命令將告訴你這些內(nèi)容是相同還是不同。如果 diff 沒有說文件是相同的,請(qǐng)不要試圖飛,重試;
dfu-util -U AP_2MB-VERIFY.bin -s 0x90100000:0x200000
diff -sb AP_2MB.bin AP_2MB-VERIFY.bin
- 關(guān)機(jī),安裝 SD 卡(注意:你必須安裝 SD 卡,沒有 SD 卡,固件將無(wú)法啟動(dòng)),開機(jī);
- 使用任務(wù)規(guī)劃器正常配置電路板。
在這一點(diǎn)上,你應(yīng)該有工作的固件在板上。如果你想加載新的固件,你將需要再次遵循步驟 2-7 (你不能使用 Mission Planner 來(lái)加載固件)。如果你確定你永遠(yuǎn)不會(huì)想在電路板上加載 betaflight,那么你可以安裝 ArduPilot 引導(dǎo)程序。
4.6.2 安裝ArduPilot引導(dǎo)程序
!Warning
安裝 ArduPilot 引導(dǎo)程序是一個(gè)單向的操作。在這一步之后,你不能把板子恢復(fù)到出廠配置或加載 betaflight - 你必須把板子送回 Seriously Pro,重新刷上出廠固件,假設(shè)這是有可能的話。
如果你確定你只想在板子上使用 ArduPilot,那么燒錄 ardupilot bootloader 可以使后續(xù)的升級(jí)更加簡(jiǎn)單。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-628432.html
- 你最初必須在電路板上安裝一個(gè)工作版本的 ArduPilot - 按照上面的步驟;
- 你現(xiàn)在必須解除內(nèi)部閃存的復(fù)制保護(hù)。這是一個(gè)破壞性的操作,需要完全擦除閃存。ArduPilot 提供了支持,使之變得簡(jiǎn)單。設(shè)置?BRD_OPTIONS = 16;
- 關(guān)掉電源,再接通板子的電源。板子不會(huì)出現(xiàn)啟動(dòng),但閃存扇區(qū)正在被擦除。等待幾秒鐘,然后關(guān)閉板子的電源;
- 按住啟動(dòng)按鈕(這次不綁定啟動(dòng)),打開飛行控制器電源。這將使電路板處于 dfu 模式;
- 下載 ArduPilot 引導(dǎo)程序,例如:https://github.com/ArduPilot/ardupilot/blob/master/Tools/bootloaders/SPRacingH7_bl.bin;
- 通過 dfu 安裝引導(dǎo)程序:
dfu-util -a 0 --dfuse-address 0x08000000 -D SPRacingH7_bl.bin文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-628432.html
- 重新啟動(dòng)電路板;
- 現(xiàn)在你可以使用你喜歡的工具來(lái)上傳 ArduPilot 固件。
到了這里,關(guān)于(5)(5.6) 將固件加載到帶有外部閃存的主板上的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!