Peugeot OBD app 만들기 도전

(1단계)OBD open 소스 분석(Mac mini): esp32-S3 디버깅 후기(2)-1

peugeotory 2024. 1. 4. 12:01

ESP32-S3로 하면, ESP-PROG 없이 디버깅 가능함.  ← 처음부터 이것으로 하면 좋을듯 합니다.
(설치 방법 참고) https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/resources.html

 

비용면에서도 훨~~씬 유리합니다.
ESP-WROOM-32 old model도 국내에서 사면 아무리 싸도 배송비 포함해서 1만원 이상이고,
ESP-Prog 2만원( Debugging 용) 합치면 3~4만원이 듭니다. 

하지만 알리익스프레스에서 구매하면 ESP-32-S3가 6천원 정도이니 가성비 최고의 선택이라고 할 수 있습니다.

2주정도 기다려서 배송 도착했고,

(1)먼저 Arduino IDE에서 동작시켜봤습니다.

(참고자료)

프로그래밍 가이드 : https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/index.html  ← 여기 참조하여..

설치 가이드 : https://docs.espressif.com/projects/esp-idf/en/v4.4.1/esp32s3/get-started/index.html ← 라이브러리 메니저에서 검색

실행결과) ESP-WROOM-32와 동일하게 예제 프로그램 잘 실행됩니다.

 

 

(2) platformIO에서 실행하려면  “platformio.ini”파일에 추가할 부분이 있습니다. 

 

 

실행할때 문제가 생긴다면 아래 사이트 참조하는 것도 도움이 될것입니다.
(참조) https://fermium.tistory.com/1541https://fermium.tistory.com/m/1539

그밖에 PlatformIO에서 필요한 라이브러가 있다면,(예를 들어 ELMduino등..) PIO 홈으로 가서 하면 됩니다.
(이전글에서 언급했던 ELMduino old version 라이브러리가 올라오는 경우가 있으니, git 주소와 차이가 있는지 확인하는게 좋습니다.)


ESP32-S3의 경우 2개의 USB 포트가 있는데,
아래 사진의 검정색쪽 USB 포트가 디버깅 포트입니다.



< ESP-32-S3 디버깅 셋팅 방법 > 

(참조) https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/jtag-debugging/

개념부분 설명 읽어 보면 아래와 같습니다.

 

 

VSC + PlatformIO에서 디버깅 시도할 때 계속해서 Error: **** Verification failure! **** 에러가 발생했습니다.

[esp32.cpu0] Target halted, PC=0x400003C0, debug_reason=00000001

Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001

[esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001

Info : PROF: Erased 753664 bytes in 1149.57 ms

PROF: Erased 753664 bytes in 1149.57 ms

Info : PROF: Data transferred in 4200.84 ms @ 175.203 KB/s

PROF: Data transferred in 4200.84 ms @ 175.203 KB/s

Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001

[esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001

Info : PROF: Wrote 753664 bytes in 4526.82 ms (data transfer time included)

PROF: Wrote 753664 bytes in 4526.82 ms (data transfer time included)

** Programming Finished in 5959 ms **

** Programming Finished in 5959 ms **

** Verify Started **

** Verify Started **

Info : [esp32.cpu0] Target halted, PC=0x00000000, debug_reason=00000000

[esp32.cpu0] Target halted, PC=0x00000000, debug_reason=00000000

Info : PROF: Flash verified in 481.552 ms 

Error: **** Verification failure! ****

Error: target_hash 5c88fc...88fc3f

Error: file_hash: 8fba75...be905f

PROF: Flash verified in 481.552 ms 

**** Verification failure! ****

target_hash 5c88fc...88fc3f

file_hash: 8fba75...be905f

Info : [esp32.cpu0] Debug controller was reset.

[esp32.cpu0] Debug controller was reset.

Info : [esp32.cpu0] Core was reset.

[esp32.cpu0] Core was reset.

** Verify Failed **

.pioinit:15: Error in sourced command file:

Protocol error with Rcmd

 

<에러 원인>

ESP-32 디버깅 실행시 오류 발생  → Erase flash 실행시 엉뚱한 USB port를 찾음

 

이유는 모르겠지만,

다른 용도로 사용중인 port를 인식하는 하는 오류가 발생합니다. (해결 못함)

일단 ESP-PROG가 동작해서 ESP32-S3 디버겅은 뒤로 미뤄두었습니다.
(추후 해결후 정리 예정입니다.)