카테고리 없음

테스트

trustworthyhand 2025. 7. 31. 10:57

# ========================================================================= # ESP32 MicroPython 플래시 메모리 전체 초기화 및 펌웨어 재설치 가이드 (CMD용) # ========================================================================= # --- 0단계: 사전 준비 (최초 1회만 실행) --- # Python이 설치되어 있고, pip 명령어가 작동하는지 확인합니다. # esptool.py 설치 (이미 설치되어 있다면 건너뛰세요) # 이 명령은 CMD 또는 터미널에 입력합니다. pip install esptool # --- 1단계: MCU (ESP32)의 시리얼 포트 확인 --- # 컴퓨터에 ESP32 보드를 연결한 후, 장치 관리자(Windows) 또는 터미널(Linux/macOS)에서 # ESP32가 연결된 시리얼 포트 이름을 확인합니다. # 예: Windows: COM3, COM4 등 # Linux: /dev/ttyUSB0, /dev/ttyUSB1 등 # macOS: /dev/cu.usbserial-XXXXXXXX 등 # 확인된 포트 이름을 아래 명령어에서 [YOUR_UART_PORT] 대신 사용합니다. # --- 2단계: MicroPython 펌웨어 파일 준비 --- # 사용하려는 ESP32용 MicroPython 펌웨어(.bin 파일)를 다운로드합니다. # 예: esp32-YYYYMMDD-vX.Y.Z.bin # 다운로드한 파일이 있는 경로와 파일명을 아래 [PATH_TO_FIRMWARE_FILE.bin] 대신 사용합니다. # (예: C:\Users\YourUser\Downloads\esp32-20231026-v1.22.0.bin) # --- 3단계: 플래시 메모리 전체 삭제 (가장 중요한 단계!) --- # 이 명령을 실행하기 전에 ESP32 보드를 "부트로더 모드" 또는 "다운로드 모드"로 진입시켜야 합니다. # 일반적으로: # 1. ESP32 보드의 "BOOT" (또는 "FLASH") 버튼을 누릅니다. # 2. "EN" (또는 "RESET") 버튼을 짧게 눌렀다 뗀 후, "BOOT" 버튼에서 손을 뗍니다. # 3. 일부 보드는 자동으로 진입하거나, D0 핀을 GND에 연결해야 할 수도 있습니다. # (자신의 보드 모델에 맞는 부트로더 진입 방법을 확인하세요.) # CMD 또는 터미널에 아래 명령어를 입력하고 실행합니다. esptool.py --port [YOUR_UART_PORT] erase_flash # --- 4단계: MicroPython 펌웨어 다시 설치 --- # 3단계에서 플래시 메모리를 지웠기 때문에, 이제 MCU에는 아무것도 없습니다. # MicroPython 펌웨어를 다시 설치해야 합니다. # 이 명령을 실행할 때도 MCU는 "부트로더 모드"에 있어야 합니다. (3단계 후에도 유지되는 경우가 많습니다) # 만약 오류가 발생하면, 다시 부트로더 모드로 진입시켜 시도합니다. # CMD 또는 터미널에 아래 명령어를 입력하고 실행합니다. esptool.py --chip esp32 --port [YOUR_UART_PORT] write_flash -z 0x1000 [PATH_TO_FIRMWARE_FILE.bin] # 참고: "--chip esp32"는 ESP32 칩셋용이며, ESP8266의 경우 "--chip esp8266"으로 변경해야 합니다. # 0x1000은 펌웨어가 기록될 시작 주소입니다. 일반적으로 이 값은 변경할 필요가 없습니다. # --- 5단계: MCU 재시작 (정상 모드로) --- # 펌웨어 업로드가 완료되면, ESP32 보드의 "EN" (또는 "RESET") 버튼을 짧게 눌러 # 정상 작동 모드로 재시작합니다. # --- 6단계: 사용자 코드 업로드 --- # 이제 ESP32는 깨끗한 MicroPython 펌웨어 상태입니다. # Thonny IDE, ampy, 또는 다른 MicroPython 업로드 도구를 사용하여 # 작성하신 main.py 등의 사용자 코드를 업로드합니다. # (예: ampy -p [YOUR_UART_PORT] put main.py)