본문으로 바로가기

[esp-idf][ble_hid_device_demo][7] custom bootloader 추가하기

category ESP32 2024. 3. 18. 17:54

:  어플리케이션에 costom_bootloader component를 추가해 보았습니다.

 

bootloader_componnents 복사 해서 ble_hid_device_demo 아래에 붙여 넣기

   : esp-idf/examples/custom_bootloader/bootloader_override/ 폴더 참고하세요.

  ↓  bootloader_components  복사

 

 ↓  ble_hid_device_demo 프로젝트에  붙여넣기 

 

▶ menuconfig 실행

 ↓ Component config 선택

 

 ↓ 맨 아래 "Bootloader welcome message" 선택

 

 

 ↓ Bootloader welcome message 변경하기

 

 ↓ menuconfig 종료시  (Y)es 선택하기

 

 

▶ idf.py build

 : 빌드 로그 생략

 

idf.py flash 

 : flash 로그 생략

 

▶ monitor 메시지 체크  (idf.py monitor)

  :  [boot] Custom bootloader by xxx 

더보기

 

--- esp-idf-monitor 1.3.4 on /dev/ttyUSB1 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x2b (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3810,len:0x17ac
load:0x403c9700,len:0x4
load:0x403c9704,len:0xcb0
load:0x403cc700,len:0x2d90
entry 0x403c9914
I (27) boot: ESP-IDF v5.2-beta1-263-ge49823f10c 2nd stage bootloader
I (27) boot: compile time Mar 18 2024 18:58:49
I (28) boot: Multicore bootloader
I (32) boot: chip revision: v0.1
I (35) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode       : DIO
I (45) boot.esp32s3: SPI Flash Size : 2MB
I (50) boot: Enabling RNG early entropy source...
I (55) boot: Partition Table:
I (59) boot: ## Label            Usage          Type ST Offset   Length
I (66) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (73) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (81) boot:  2 factory          factory app      00 00 00010000 00180000
I (88) boot:  3 storage          Unknown data     01 82 00190000 00070000
I (96) boot: End of partition table
[boot] Custom bootloader by xxx     <----------- 요기 수정한 내용 확인하기
I (103) esp_image: segment 0: paddr=00010020 vaddr=3c090020 size=2aa48h (174664) map
I (143) esp_image: segment 1: paddr=0003aa70 vaddr=3fc99200 size=040d0h ( 16592) load
I (147) esp_image: segment 2: paddr=0003eb48 vaddr=40374000 size=014d0h (  5328) load
I (150) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=8e1a8h (582056) map
I (261) esp_image: segment 4: paddr=000ce1d0 vaddr=403754d0 size=13ca8h ( 81064) load
I (279) esp_image: segment 5: paddr=000e1e80 vaddr=600fe000 size=00070h (   112) load
I (288) boot: Loaded app from partition at offset 0x10000
I (289) boot: Disabling RNG early entropy source...
I (300) cpu_start: Multicore app
I (311) cpu_start: Pro cpu start user code
I (311) cpu_start: cpu freq: 160000000 Hz
I (311) cpu_start: Application information:
I (314) cpu_start: Project name:     uc500_remote
I (319) cpu_start: App version:      440dbb4-dirty
I (325) cpu_start: Compile time:     Mar 18 2024 18:58:46
I (331) cpu_start: ELF file SHA256:  81ff91243...
I (336) cpu_start: ESP-IDF:          v5.2-beta1-263-ge49823f10c
I (343) cpu_start: Min chip rev:     v0.0
I (348) cpu_start: Max chip rev:     v0.99
I (352) cpu_start: Chip rev:         v0.1
I (357) heap_init: Initializing. RAM available for dynamic allocation:
I (364) heap_init: At 3FCA1970 len 00047DA0 (287 KiB): RAM
I (371) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (377) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (383) heap_init: At 600FE070 len 00001F78 (7 KiB): RTCRAM
I (390) spi_flash: detected chip: gd
I (393) spi_flash: flash io: dio
W (397) spi_flash: Detected size(16384k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (411) sleep: Configure to isolate all GPIO pins in sleep state
I (417) sleep: Enable automatic switching of GPIO sleep configuration
I (424) coexist: coex firmware version: e41c5cb
I (430) coexist: coexist rom version e7ae62f
I (435) main_task: Started on CPU0
I (445) main_task: Calling app_main()
~~ 중략 ~~

 

간단히 custom bootloader 코드를 앱 프로젝트에 넣어 보았습니다.

참고하세요.

 

반응형