얕고 넓게

[3DP] BTT SKR V1.4: Marlin Firmware 성공 본문

IT/3D Printer, CNC

[3DP] BTT SKR V1.4: Marlin Firmware 성공

블랙오닉스 2024. 6. 18. 18:19

2024.06.18

지난 번 Auto Build Marlin으로 빌드하면 

PS C:\Users\user\Desktop\3DPrinter\Marlin-2.1.2.2\Marlin-2.1.2.2> platformio run -e LPC1768

LPC1768 없다고 에러.

 

개념은

Auto Build Marlin: configuration.h 분석 후 

 Firmware 버전, Marchine Name, Extruder, Board, Pins, Architecture, Env를 자동 분석하고

platformio를 실행

 

Platformio: Make 처럼 platformio.ini에서 argument의 내용과 같은 부분을 참조해서 빌드


MKS Base V1.4에서 사용했던 platformio.ini를 그대로 사용하면 빌드는 되지만

Upload에서 에러 발생

Error: Build environment 'mega2560' is incompatible with BOARD_BTT_SKR_V1_4. Use one of these environments: LPC1768

Marlin, BTT를 검색해서 platformio.ini 찾음

https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/blob/master/BTT%20SKR%20V1.4/Firmware/Marlin-bugfix-2.0.x-SKR-V1.4/platformio.ini

 

BIGTREETECH-SKR-V1.3/BTT SKR V1.4/Firmware/Marlin-bugfix-2.0.x-SKR-V1.4/platformio.ini at master · bigtreetech/BIGTREETECH-SKR-

32bit board with LPC1768, support marlin2.0 and smoothieware, support lcd2004/12864, On-board TMC2130 SPI interface and TMC2208 UART interface no additional wiring is required - bigtreetech/BIGTREE...

github.com

 

일단은 LPC1768만 추가

#
# NXP LPC176x ARM Cortex-M3
#
[env:LPC1768]
platform  = ${common_LPC.platform}
extends   = common_LPC
board     = nxp_lpc1768

같은 에러 발생

다시 기본 설정도 바꿈

[platformio]
src_dir      = Marlin
boards_dir   = buildroot/share/PlatformIO/boards
default_envs = LPC1768
include_dir  = Marlin

이번에는 마지막 포트에서 에러, mbed 가 문제인가

before_upload(["upload"], [".pio\build\LPC1768\firmware.bin"])
error:Command 'cmd /C dir D:' returned non-zero exit status 1.
error:Command 'cmd /C dir E:' returned non-zero exit status 1.
error:Command 'cmd /C dir F:' returned non-zero exit status 1.
error:Command 'cmd /C dir G:' returned non-zero exit status 1.

Unable to find destination disk (Autodetect Error)
Please select it in platformio.ini using the upload_port keyword (https://docs.platformio.org/en/latest/projectconf/section_env_upload.html) or copy the firmware (.pio/build/LPC1768/firmware.bin) manually to the appropriate disk

Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, jlink, mbed
CURRENT: upload_protocol = mbed
Looking for upload disk...
Error: Please specify `upload_port` for environment or use global `--upload-port` option.
For some development platforms it can be a USB flash drive (i.e. /media/<user>/<device name>)
*** [upload] Explicit exit, status 1

업로드 프로토콜을 바꾸면 에러는 안나는데 업로드 된건지 모르겠다.

upload_protocol = stk500v2

일단 보드에 LCD연결했더니 화면은 나온다.


Prontface가 연결이 안되서 serial port 확인해보니 USB는 -1로 해야되는 것 같다.

#define SERIAL_PORT -1

 업로드후에도 LCD에 반응이 없어서 리셋을 했는데...

Marlin 2.0.5로 나온다. upload 안된 듯

 

프로토콜, 포트 설정했지만 에러

; upload_protocol = stk500v2
upload_protocol = mbed
upload_port = COM3
*** [upload] COM3\firmware.bin: No such file or directory
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, jlink, mbed
CURRENT: upload_protocol = mbed
Looking for upload disk...
Using manually specified: COM3
Uploading .pio\build\LPC1768\firmware.bin

 

SD 카드로 올려서만 가능한가?


common_LPC가 빠져 있었다.

#
# NXP LPC176x ARM Cortex-M3
#
[common_LPC]
board             = nxp_lpc1768
lib_ldf_mode      = off
lib_compat_mode   = strict
extra_scripts     = ${common.extra_scripts}
  Marlin/src/HAL/LPC1768/upload_extra_script.py
src_filter        = ${common.default_src_filter} +<src/HAL/LPC1768>
lib_deps          = ${common.lib_deps}
  Servo
custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0
custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip
build_flags       = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g

에러는 똑같다.

Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, jlink, mbed
CURRENT: upload_protocol = mbed
Looking for upload disk...
Error: Please specify `upload_port` for environment or use global `--upload-port` option.
For some development platforms it can be a USB flash drive (i.e. /media/<user>/<device name>)
*** [upload] Explicit exit, status 1

포기 하고 SDcard를 이용하려고 보니, 킹룬업데이트 할때 bin 파일을 복사해서 부팅했다는 것을 인지.

그냥 bin파일 복사해서 부팅했더니 바로 업데이트

기본 mbed를 이용하기 때문에 port로 바로 업데이트는 안되는 것 같다.

https://community.platformio.org/t/error-uploding-marlin-onto-lpc1768-skr-1-3-board/9752

 

Error uploding Marlin onto LPC1768 SKR 1.3 Board

So I have been stuck for a few days here, mind you this is my first board programming with platformIO but I have gone through everything I can think of. I keep getting this error when trying to upload my Marlin config to a BIGTREE TECH SKR 1.3 board: " Una

community.platformio.org


업로드후 ProntFace에서 포트가 안잡혀서 혹시 다른 프로그램이 잡고 있나 봤더니,

Cura !! -> 큐라 끄고 접속하니 바로된다.