M5Stack 쓰기 파일 배포

3385 단어 ArduinoM5stackESP32

소개...



2020년은 여러가지 M5Stack을 접할 기회가 늘어나고, 그렇게 되면 자신이 작성한 코드를 배포해 이용해 줄 수 있는 일이 발생했습니다.
배포처가 이해 공유 관계이거나 일정한 지식이 있는 경우라면, 「Arduino IDE를 인스톨 해・・・」라고 하는 것도 있습니다만, M5Stack가 되면 한층 더 한 번도 걸립니다.
더 말하면, 최근 기업은 보안 관계로 누구나 안이하게 애플리케이션을 추가할 수 있다고는 할 수 없습니다.
거기서 미리 컴파일한 데이터를 배치 파일로 기입할 수 있도록 한다는 것이 이번 테마입니다.

참고



우선은 참고로 준 기사를.
ht tp // k-비우라. 여기 g-에 fty. 이 m/b㎉g/2019/06/포 st-17에 bf9. HTML

원래 Arduino IDE로 쓰면 ...



M5Stack등의 ESP32 코어를 사용한 디바이스를 Arduino IDE로 컴파일, Write하고 있으면, 원래 esptool이라고 하는 실행 파일을 사용하고 있는 것이 Arduino IDE의 콘솔에 출력되고 있습니다.

(표시되지 않는 경우는 Arduino IDE의 파일 > 환경설정 > 「보다 자세한 정보 표시」의 항목의 체크를 모두 넣습니다.)

컴파일이 끝나면 다음 줄에
C:\Users\[ユーザー]\Documents\ArduinoData\packages\esp32\tools\esptool_py\2.6.1/esptool.exe --chip esp32 --port COM11 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 
0xe000 C:\Users\[ユーザー]\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/partitions/boot_app0.bin 
0x1000 C:\Users\[ユーザー]\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/bin/bootloader_qio_80m.bin 
0x10000 C:\Users\[ユーザー]\AppData\Local\Temp\arduino_build_834829/commu_can_receiver.ino.bin 
0x8000 C:\Users\[ユーザー]\AppData\Local\Temp\arduino_build_834829/commu_can_receiver.ino.partitions.bin 

어쨌든 무엇을 수행하는지 설명합니다.
즉 결론입니다만, 여기와 같은 것을 배치 처리해, 드디어 실행하고 있는 esptool.exe와 컴파일한 바이너리 데이터등과 함께 배포해 주면 공장 출하 데이터와 같이 배포가 가능하다고 하는 치수입니다.
그럼 모처럼이므로,이 esptool에서 실행하고있는 내용을 살펴 보겠습니다.

실행 파일 및 옵션



esptool.exe --chip esp32 --port COM11 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect
우선 여기는 실행 파일이군요.  이것은 매번 동일합니다.

그런 다음 대상 파일



각각 풀 패스로 파일 지정하고 있기 때문에 알기 쉽네요.
위와 같이 주소에서 구분해 주면 알기 쉽습니다.

1, 0xe000 boot_app0.bin



2, 0x1000 bootloader_qio_80m.bin



이 첫 번째 1, 2가 ESP32의 코어에 의존하는 부트 영역에 관여하는 곳이군요.
코드의 차이로는 여기는 변화하지 않고, Core라든지 Stick-C등으로 바뀌어 옵니다. (아마 ESP32인가, ESP-pico에서의 차이가 나오는 것일까?)

3, 0x10000 [스케치 이름].ino.bin



4, 0x8000 [스케치 이름].ino.partitions.bin



이 3, 4가 주로 스케치 코드를 컴파일한 바이너리 데이터군요.
컴파일한 데이터와 페어가 되므로, 이만큼 매번 갱신하면, 나머지는 공통으로 사용할 수 있습니다.
이 3, 4는 Arduino IDE의 작업 폴더 지정되어 있으므로 IDE를 시작한 채로 그 경로를 참조하여 복사합니다.

이제 이러한 일괄 처리로 작성해 봅시다.
이번에는 모두 관련 파일을 같은 폴더에 넣고 하나의 압축 파일로 배포한다고 가정합니다.
echo;
set /P PORT="COMポート番号 n ?"

.\esptool.exe --port COM%PORT% --baud 1500000 ^
     --chip esp32  --before default_reset --after hard_reset ^
     write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect ^
     0xe000 boot_app0.bin ^
     0x1000 bootloader_qio_80m.bin ^
     0x10000 [スケッチ名].ino.bin ^
     0x8000 [スケッチ名].ino.partitions.bin
pause

이것은 어디까지나 일례입니다만, 실행하면 접속하고 있는 COM 포트를 지정해 기입이 진행되는 처리로 하고 있습니다.

이상 M5Stack 바이너리 실행 파일을 배포하는 방법이었습니다!

mahalo!

좋은 웹페이지 즐겨찾기