본문 바로가기

728x90
반응형

MCU/ESP32

(11)
ESP32: Mac 에서 flash가 안되는 경우 # Failed to write to target RAM (result was 01070000: Operation timed out) idf.py monitor도 되는데아래와 같은 에러를 만나면서 idf.py flash가 안된다. Failed to write to target RAM (result was 01070000: Operation timed out) esptool.py를 설치하고 esptool.cfg 의 설정 파일을 하라는 설명도 있었는데,나의 경우는 CH340, CH341 등과 같은 장치들과 USB serial 통신이 가능하도록 해주는드라이버 설치가 필요한 경우였다. https://github.com/espressif/esptool/issues/908위 링크에서 kiler129 님의 코멘트를 참고If you're on macOS this is most likely issue with WCH CH3xx UART chipset...
ESP32 키보드: usb 키 전송이 매우 느린 문제 # polling rate # 6-key Rollover # N-Key Rollover (무한 입력) 6-key 롤 오버를 하더라도, 폴링 주기 동안 눌린 키를 보낸다고 하면, 지금처럼 usb를 통한 키 전송 방식에서 엄청 느리진 않을거다.지금 내가 구현한 방식은 키 입력이 발생하면 바로 report를 보내는 방식이다. 이렇게 하는 것이 아니라, 폴링 주기 동안 눌려진 키를 어레이에 담아서, 그 어레이를 폴링 주기가 도래했을 때 모아서 report를 해야 한다. 그래야 씹히는 키가 발생하지 않게 된다. 이렇게 하려면, 폴링주기를 잡고, 그 폴링주기 동안 어레이에 키 입력을 순차적으로 저장하고 폴링 주기가 왔을 때 report를 해야한다. 우선 위 방식대로 코드를 수정하도록 하자.  ----무한 입력은 정말 짧은 시간내에 많은 키가 입력돼도 모두 report가 되도록 해야하는데, 이는 descriptor를..
ESP32: IRAM_ATTR 충돌 오류 # warning: ignoring attribute 'section (".iram1.3")' because it conflicts with previous 'section (".iram1.0")' [-Wattributes] ESP IDF를 통해 ESP32를 개발하다 보면, 함수에 IRAM_ATTR, DRAM_ATTR 등이 붙는 함수 들이 있다. void IRAM_ATTR gpio_isr_handler(void* arg) { uint32_t gpio_num = (uint32_t)arg; BaseType_t xHigherPriorityTaskWoken = pdFALSE; xQueueSendFromISR(gpio_evt_queue, &gpio_num, &xHigherPriorityTaskWoken); if (xHigherPriorityTaskWoken == pdTRUE) { portYIELD_FROM_ISR(xHigherPriorityTaskWoken); }}위와 같은 방식으로 사용이 되고..
ESP32: # Watch dog reset # save in NVS and load saved data from NVS # 예제 커밋https://github.com/Junanjunan/esp/commit/86e06f908735cde9eaf66660129132929b7da17c 내부에 Flow 정리
ESP32: The applications static IRAM usage is larger than the available IRAM size. Error message/home/taltal/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: mode_change.elf section `.iram0.text' will not fit in region `iram0_0_seg' /home/taltal/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld: IRAM0 ..
ESP-IDF: idf.py --ccache build ccache가 설치되어 있는 경우 build 속도가 상당히 빨라진다고 해서 테스트를 해보았다.블루투스 example들을 build 하는 경우 정말 빌드할 것이 많아서 자잘한 수정을 하고 빌드를 하는 경우 꽤 성가시다. 공식 홈페이지에는 윈도우나 리눅스나 알집 형태로 받도록 되어 있다.https://c..
Bluetooth: GATT Server vs Client ESP32 example에서 GATT Server와 Gatt Client 예제가 있다.GATT에서의 Server와 Client의 개념이 와닿지가 않았는데, GATT Server는 GATT와 관련된 정보와 서비스를 저장하고 있어서, 해당 디바이스와 연결된 client에게해당 서비스(와 정보)를 제공해주는 역할이다. GATT Client는 GATT Server에 연결되어 GATT Server에서 제공해주는 서비스를 이용할 수 있는 client 블루투스 키보드를 만들고, 해당 블루투스 키보드를 컴퓨터와 연결하여 사용한다면,블루투스 키보드: GATT Server컴퓨터: GATT Client 아래는 ChatGPT 설명 YouIn the ESP32 documentations, I saw that GATT Serve..
ESP32: RTC and Low power mode https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf 3.3 RTC and Low-power Management 3.3.1 Power Management Unit (PMU) With the use of advanced power-management technologies, ESP32 can switch between different power modes. • Power modes – Active mode The chip radio is powered up. The chip can receive, transmit, or listen. – Modem-sleep mode: The CPU is operational ..

728x90
반응형