이 저장소에는 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용 펌웨어를 빌드하고 Ninja
대신 Make
사용합니다(권장하지 않음):
python utils/build.py --preset mini --toolchain cmake/AnyGccArmNoneEabi.cmake --generator ' Unix Makefiles '
Python이 설치되어 있고 PATH에 있지만 여전히 cmake 오류가 발생하는 경우 Python3 not found.
cmd에서 python과 python3을 실행해 보세요. 그 중 하나가 Python 인터프리터를 열거나 'python3' is not recognized as an internal or external command, operable program or batch file.
manage app execution aliases
열고 python.exe
및 python3.exe
와의 App Installer
연결을 비활성화합니다.
이 프로젝트의 빌드 프로세스는 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
강아지 펌웨어를 포함하지 말고 XLBuddy로 강아지를 플래시하지 마십시오.
-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()
끝에 중단점을 권장합니다.해당 캐시 변수에 대한 자세한 내용은 /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
. gdb tests/unit/configuration_store/eeprom_unit_tests
.
커스텀 펌웨어를 설치하려면 보드에 있는 부록을 깨야 합니다. 다음 문서(https://help.prusa3d.com/article/zoiw36imrs-flashing-custom-firmware)에서 방법을 알아보세요.
펌웨어 소스 코드는 GNU General Public License v3.0에 따라 라이센스가 부여되며 그래픽과 디자인은 Attribution-NonCommercial-ShareAlike 4.0 International(CC BY-NC-SA 4.0)에 따라 라이센스가 부여됩니다. 글꼴은 다른 라이센스에 따라 라이센스가 부여됩니다(LICENSE 참조).