該儲存庫包括基於 32 位元 ARM 微控制器的原始 Prusa 3D 列印機的原始碼和韌體版本。
目前支援的型號有:
運行git clone https://github.com/prusa3d/Prusa-Firmware-Buddy.git
。
運行python utils/build.py
。然後二進位檔案將儲存在./build/products
下。
.bbf
版本,請使用: ./utils/build.py --generate-bbf
。--build-type
選擇要建置的建置配置( debug
、 release
)。--preset
選擇應為哪些印表機建構韌體。beta
「預發布模式」下建立韌體。您可以使用--prerelease alpha
更改預發布,或使用--final
建立韌體的最終版本。--host-tools
在建置中包含主機工具( bin2cc
, png2font
,...)--help
標誌尋找更多選項! 在debug
模式下建置 MINI 和 XL 的韌體:
python utils/build.py --preset mini,xl --build-type debug
使用 gcc-arm-none-eabi 的自訂版本(在$PATH
中可用)建立 MINI 韌體,並使用Make
而不是Ninja
(不建議):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
如果你已經安裝了 python 並在你的 PATH 中,但仍然出現 cmake 錯誤Python3 not found.
嘗試從 cmd 運行 python 和 python3。如果其中一個開啟 Microsoft Store,而不是開啟 python 解釋器或抱怨'python3' is not recognized as an internal or external command, operable program or batch file.
開啟manage app execution aliases
並停用App Installer
與python.exe
和python3.exe
關聯。
這個專案的建置過程由 CMake 驅動, build.py
只是它的高級包裝器。由於大多數現代 IDE 支援某種 CMake 集成,因此應該可以使用幾乎任何編輯器進行開發。以下是一些描述如何設定一些流行的文字編輯器的文件。
如果您想為程式碼庫做出貢獻,請閱讀貢獻指南。
對於 XL,情況變得更加複雜。 XLBuddy 的韌體包含供小狗(Dwarf 和 Modularbed)在必要時刷新它們的韌體。我們支援在開發時處理這些韌體的多種方法:
自動建立 Dwarf/Modularbed 韌體並透過 XLBuddy 在啟動時刷新它(預設)
從給定的來源目錄建立 Dwarf/Modularbed,並透過 XLBuddy 在啟動時刷新它。
DWARF_SOURCE_DIR
/ MODULARBED_SOURCE_DIR
CMake 快取變數。 cmake .. --preset xl_release_boot -DMODULARBED_SOURCE_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed
cmake .. --preset xl_release_boot
-DMODULARBED_SOURCE_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed
-DMODULARBED_BINARY_DIR=/Projects/Prusa-Firmware-Buddy-ModularBed/build
使用預先建置的 Dwarf/Modularbed 韌體並透過 xlBuddy 在啟動時刷新它
DWARF_BINARY_PATH
/ MODULARBED_BINARY_PATH
指定 .bin 檔案的位置。 cmake .. --preset xl_release_boot -DDWARF_BINARY_PATH=/Downloads/dwarf-4.4.0-boot.bin
不要包含任何 puppy 固件,也不要透過 XLBuddy 刷新 puppies。
-DENABLE_PUPPY_BOOTLOAD=NO
ENABLE_PUPPY_BOOTLOAD
設為 false 時,該項目將停用 Puppy 閃爍以及與 Puppy 引導程式的互動。保留引導程序,但不在引導時寫入韌體。
-DPUPPY_SKIP_FLASH_FW=YES
PUPPY_SKIP_FLASH_FW
設定為 true 時,專案將在啟動時停用 Puppy 閃爍。xl-dwarf_debug_boot
)的小狗建立配置。puppy_task_body()
末尾設定斷點,以防止 puppy 在斷點處停止時 buddy 立即重置 puppy。有關這些快取變數的更多信息,請參閱 /ProjectOptions.cmake。
mkdir build-tests
cd build-tests
cmake ..
make tests
ctest .
調試(逐步執行)測試的最簡單方法是在配置cmake -DCMAKE_BUILD_TYPE=Debug ..
時指定 CMAKE_BUILD_TYPE,按照前面所述使用make tests
構建它,然後使用gdb
運行測試,例如gdb tests/unit/configuration_store/eeprom_unit_tests
。
要安裝自訂固件,您必須破壞板上的附錄。在以下文章中了解如何操作 https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware。
韌體原始碼根據 GNU 通用公共授權 v3.0 獲得許可,圖形和設計根據 Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) 授權。字體根據不同的許可證獲得許可(請參閱許可證)。