nimble on ESP32

从好友Yufeng那里得知Nimble有在ESP32上落地,刚好手头有一片ESP-WRCOM-32,手痒痒就download了一份ESP32的IDF 玩下。
Getting Start 写的真心不错,简单明了,照着操作步骤一步一步跑就能跑起来Nimble的example project。不过ESP32只用了Nimble的Host,没有用Controller的部分,毕竟ESP32是Combo chip,Nimble Controller Scheduler没有考虑过Wifi的部分。

  • ESP32文档很很赞,花了大力气做宣传,内容挺丰富,也很正规,YouTube也有很多教学视频。
  • 还挺开放,放了不少源码出来,包括ble mesh等。
  • 不知道为啥没有自己的Host,之前用bluedroid,footprint没啥优势。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
I (0) cpu_start: App cpu up.
I (386) heap_init: Initializing. RAM available for dynamic allocation:
I (393) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (399) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (405) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (411) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAM
I (417) heap_init: At 3FFC3B68 len 0001C498 (113 KiB): DRAM
I (424) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (430) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (436) heap_init: At 40093CE0 len 0000C320 (48 KiB): IRAM
I (443) cpu_start: Pro cpu start user code
I (461) spi_flash: detected chip: gd
I (461) spi_flash: flash io: dio
W (462) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (472) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (557) BTDM_INIT: BT controller compile version [fd2a63b]
I (557) system_api: Base MAC address is not set
I (557) system_api: read default base MAC address from EFUSE
I (657) phy: phy_version: 4180, cb3948e, Sep 12 2019, 16:39:13, 0, 0
I (887) NimBLE_BLE_PRPH: BLE Host Task Started
I (897) uart: queue free spaces: 8
Device Address: 80:7d:3a:d7:f1:56
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=0 adv_itvl_max=0