Mac OSX 기준으로 설명
brew install ccache
brew install cmake ninja dfu-util
brew install python3
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
맥의 경우 다운로드 에러가 나면
Install Certificates.command
위 명령어를 하거나, 해당 파일의 주소를 크롬에서 한번 열어주고 다운로드 받아지는지 확인하면 된다.
git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git
만약에 다운로드가 아래와 같이 에러가 나면 리포지토리가 커서 그런 거니 뎁쓰를 1로 줄여서 받는다.
RPC failed; curl 18 transfer closed with outstanding read data remaining
그래도 안되면 GitHub Desktop을 이용해서 URL로 받기를 이용해서 받는다.
*설치되는 디렉토리는 ~/esp/esp-id
을 확인
cd ~/esp/esp-idf
./install.sh esp32
. $HOME/esp/esp-idf/export.sh
이 설정을 매번 할 때마 넣을 수 불러야 한다.
귀찮아서 그냥 ~/.zshrc 파일에 넣어도 되지만, 그러면 esp-idf가 설치하는 가상환경이 모든 쉘 터미널에 적용되기때문에 제조사에서 권장하지 않는다 대신에
~/.zshrc 에서 다음과 같은 alias를 만들고 할 때마다 get_idf
라고 쳐서 설정하는 것을 권한다.
alias get_idf='. $HOME/esp/esp-idf/export.sh'
cd ~/esp
mkdir projects
cd projects
cp -r $IDF_PATH/examples/get-started/hello_world .
ls /dev/tty.*
이렇게 찾아보면 /dev/tty.SLAB_USBtoUART
파일이
있으면 제대로 설치된 것을 확인
혹은
ls /dev/cu.*
해서 보면
/dev/cu.usbserial-0001
이 있는데 둘다 같은 거다.
idf.py -p /dev/tty.SLAB_USBtoUART -b 115200 flash
혹은
idf.py -p /dev/cu.usbserial-0001 -b 115200 flash
윈도우의 경우 아래와 같이 할 수 있다.
윈도우는 장치 관리자에서 포트를 알아 볼 수 있다.
idf.py -p COM3 -b 115200 flash
screen /dev/cu.usbserial-0001 11520
위 명령에서 나가려면 Ctrl+A 를 누르고 K를 누른다음에 y를 하면 된다.
참고로 아래와 같은 화면이 나오게 된다.
I (232) efuse_init: Max chip rev: v3.99
I (237) efuse_init: Chip rev: v3.1
I (243) heap_init: Initializing. RAM available for dynamic allocation:
I (250) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (256) heap_init: At 3FFB2BE8 len 0002D418 (181 KiB): DRAM
I (262) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (268) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (275) heap_init: At 4008CA58 len 000135A8 (77 KiB): IRAM
I (282) spi_flash: detected chip: generic
I (285) spi_flash: flash io: dio
W (289) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (303) main_task: Started on CPU0
I (313) main_task: Calling app_main()
Hello world!
This is esp32 chip with 2 CPU core(s), WiFi/BTBLE, silicon revision v3.1, 2MB external flash
Minimum free heap size: 305072 bytes
Ctrl+S를 누르면 화면이 일시 정지
Ctrl+Q를 누르면 다시 스크롤이 재개 된다.
.gitignore
에 build/bootloader/CMakeCache.txt
를 추가한다.CMakeCache.txt
를 생성한다.idf.py build
export IDF_PATH=~/esp/esp-idf
printenv IDF_PATH
alias python=python3