<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: WwWxQxQ</title>
    <description>The latest articles on DEV Community by WwWxQxQ (@wwwxqxq).</description>
    <link>https://dev.to/wwwxqxq</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1479846%2Fe143a12c-a780-465c-a045-cb2ce9a44011.png</url>
      <title>DEV Community: WwWxQxQ</title>
      <link>https://dev.to/wwwxqxq</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wwwxqxq"/>
    <language>en</language>
    <item>
      <title>Esp32 Rust Board on Macos M-chip in Docker</title>
      <dc:creator>WwWxQxQ</dc:creator>
      <pubDate>Thu, 09 May 2024 08:21:23 +0000</pubDate>
      <link>https://dev.to/wwwxqxq/macos-m-chip-esp32-rust-board-huan-jing-da-jian-3kc</link>
      <guid>https://dev.to/wwwxqxq/macos-m-chip-esp32-rust-board-huan-jing-da-jian-3kc</guid>
      <description>&lt;h2&gt;
  
  
  0. Env
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://github.com/esp-rs/esp-rust-board"&gt;esp-rust-board&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  macOS 14.0&lt;/li&gt;
&lt;li&gt;  MacStudio(M1Ultra), Mac mimi(M2)&lt;/li&gt;
&lt;li&gt;  Docker version 26.0.0, build 2ae903e&lt;/li&gt;
&lt;li&gt;  JetBrains Gateway (beta 2024.1.1)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;搭建用于烧写 &lt;a href="https://narukara.github.io/std-training-zh-cn/01_intro.html"&gt;esp-rust-book&lt;/a&gt; 演示代码的环境。本例采用 container 里编译构建，本机进行烧录的模式。&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 创建 docker container
&lt;/h2&gt;

&lt;p&gt;clone &lt;a href="https://github.com/esp-rs/std-training.git"&gt;esp/std-traning&lt;/a&gt; 到本地，将&lt;code&gt;.devcontainer.json&lt;/code&gt; 和 &lt;code&gt;Dockerfile&lt;/code&gt; 移到项目根目录&lt;/p&gt;

&lt;p&gt;在 GateWay 中选择 Create Dev Container 和刚刚复制出来的 &lt;code&gt;.devcontainer.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa7tis1nisbrmuorooq08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa7tis1nisbrmuorooq08.png" alt="Image description" width="760" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo58yyv76eet2xylldapz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo58yyv76eet2xylldapz.png" alt="Image description" width="774" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh88bqhzy9rhlyfxjjzw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh88bqhzy9rhlyfxjjzw.png" alt="Image description" width="798" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;（第一次构建的话，内容可能不大一样）&lt;/p&gt;

&lt;p&gt;continue 之后就慢慢等待下载了&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b78bht8ywf7zldhiwhn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4b78bht8ywf7zldhiwhn.png" alt="Image description" width="454" height="89"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;大功告成！&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4168rii1n0qfbxk7717.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe4168rii1n0qfbxk7717.png" alt="Image description" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Build
&lt;/h2&gt;

&lt;p&gt;以 &lt;a href="https://narukara.github.io/std-training-zh-cn/02_4_hello_board.html"&gt;intro/hardware-check&lt;/a&gt; 为例，在容器内进入该目录进行构建&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;esp@d3b7b1f51dc6:/workspace&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;intro/hardware-check/
esp@d3b7b1f51dc6:/workspace/intro/hardware-check&lt;span class="nv"&gt;$ &lt;/span&gt;cargo build
    Updating crates.io index
  Downloaded atomic-waker v1.1.2
  Downloaded bitflags v1.3.2
  Downloaded anyhow v1.0.75
...
   Compiling hardware-check v0.1.0 &lt;span class="o"&gt;(&lt;/span&gt;/workspace/intro/hardware-check&lt;span class="o"&gt;)&lt;/span&gt;
    Finished dev &lt;span class="o"&gt;[&lt;/span&gt;optimized + debuginfo] target&lt;span class="o"&gt;(&lt;/span&gt;s&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="k"&gt;in &lt;/span&gt;1m 11s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(真是难为我这 8G 的 Mac mini了)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhk2rxrum5zk2kg62xbuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhk2rxrum5zk2kg62xbuo.png" alt="Image description" width="623" height="109"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn71jyx6qkbwjfv4ql3xs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn71jyx6qkbwjfv4ql3xs.png" alt="Image description" width="240" height="36"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Flash
&lt;/h2&gt;

&lt;p&gt;构建成功后生成最终的可执行文件在 &lt;code&gt;target/riscv32imc-esp-espidf/debug/hardware-check&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;在本机上连上板子，通过 &lt;a href="https://github.com/esp-rs/espflash/blob/main/espflash/README.md"&gt;espflash&lt;/a&gt; 将目标文件烧录进板子&lt;/p&gt;

&lt;p&gt;看到 &lt;code&gt;I (8438) wifi:connected with ${cfg.toml中的路由器名称}&lt;/code&gt; 和 &lt;code&gt;I (11458) hardware_check: Hello, world!&lt;/code&gt; 就说明烧录成功并且硬件检测通过了&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;espflash flash target/riscv32imc-esp-espidf/debug/hardware-check &lt;span class="nt"&gt;--monitor&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:05Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Detected 2 serial ports
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:05Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Ports which match a known common dev board are highlighted
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:05Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Please &lt;span class="k"&gt;select &lt;/span&gt;a port
✔ Remember this serial port &lt;span class="k"&gt;for &lt;/span&gt;future use? · no
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:08Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Serial port: &lt;span class="s1"&gt;'/dev/tty.usbmodem111401'&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:08Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Connecting...
​
&lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:08Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Using flash stub
Chip &lt;span class="nb"&gt;type&lt;/span&gt;:         esp32c3 &lt;span class="o"&gt;(&lt;/span&gt;revision v0.4&lt;span class="o"&gt;)&lt;/span&gt;
Crystal frequency: 40 MHz
Flash size:        4MB
Features:          WiFi, BLE
MAC address:       40:4c:ca:8c:9e:28
App/part. size:    798,384/4,128,768 bytes, 19.34%
&lt;span class="o"&gt;[&lt;/span&gt;00:00:00] &lt;span class="o"&gt;[========================================]&lt;/span&gt;      13/13      0x0               
&lt;span class="o"&gt;[&lt;/span&gt;00:00:00] &lt;span class="o"&gt;[========================================]&lt;/span&gt;       1/1       0x8000           
&lt;span class="o"&gt;[&lt;/span&gt;00:00:06] &lt;span class="o"&gt;[========================================]&lt;/span&gt;     481/481     0x10000                                                                               &lt;span class="o"&gt;[&lt;/span&gt;2024-05-07T15:05:17Z INFO &lt;span class="o"&gt;]&lt;/span&gt; Flashing has completed!
Commands:
    CTRL+R    Reset chip
    CTRL+C    Exit
​
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x15 &lt;span class="o"&gt;(&lt;/span&gt;USB_UART_CHIP_RESET&lt;span class="o"&gt;)&lt;/span&gt;,boot:0xc &lt;span class="o"&gt;(&lt;/span&gt;SPI_FAST_FLASH_BOOT&lt;span class="o"&gt;)&lt;/span&gt;
Saved PC:0x40380638
0x40380638 - rmt_driver_isr_default
    at /home/esp/.espressif/frameworks/esp-idf/components/driver/deprecated/rmt_legacy.c:832
SPIWP:0xee
mode:DIO, clock div:2
load:0x3fcd5820,len:0x1714
load:0x403cc710,len:0x968
load:0x403ce710,len:0x2f9c
entry 0x403cc710
I &lt;span class="o"&gt;(&lt;/span&gt;24&lt;span class="o"&gt;)&lt;/span&gt; boot: ESP-IDF v5.1.2-342-gbcf1645e44 2nd stage bootloader
I &lt;span class="o"&gt;(&lt;/span&gt;24&lt;span class="o"&gt;)&lt;/span&gt; boot: compile &lt;span class="nb"&gt;time &lt;/span&gt;Dec 12 2023 10:50:58
I &lt;span class="o"&gt;(&lt;/span&gt;25&lt;span class="o"&gt;)&lt;/span&gt; boot: chip revision: v0.4
I &lt;span class="o"&gt;(&lt;/span&gt;29&lt;span class="o"&gt;)&lt;/span&gt; boot.esp32c3: SPI Speed      : 40MHz
I &lt;span class="o"&gt;(&lt;/span&gt;34&lt;span class="o"&gt;)&lt;/span&gt; boot.esp32c3: SPI Mode       : DIO
I &lt;span class="o"&gt;(&lt;/span&gt;38&lt;span class="o"&gt;)&lt;/span&gt; boot.esp32c3: SPI Flash Size : 4MB
I &lt;span class="o"&gt;(&lt;/span&gt;43&lt;span class="o"&gt;)&lt;/span&gt; boot: Enabling RNG early entropy source...
I &lt;span class="o"&gt;(&lt;/span&gt;48&lt;span class="o"&gt;)&lt;/span&gt; boot: Partition Table:
I &lt;span class="o"&gt;(&lt;/span&gt;52&lt;span class="o"&gt;)&lt;/span&gt; boot: &lt;span class="c"&gt;## Label            Usage          Type ST Offset   Length&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;59&lt;span class="o"&gt;)&lt;/span&gt; boot:  0 nvs              WiFi data        01 02 00009000 00006000
I &lt;span class="o"&gt;(&lt;/span&gt;67&lt;span class="o"&gt;)&lt;/span&gt; boot:  1 phy_init         RF data          01 01 0000f000 00001000
I &lt;span class="o"&gt;(&lt;/span&gt;74&lt;span class="o"&gt;)&lt;/span&gt; boot:  2 factory          factory app      00 00 00010000 003f0000
I &lt;span class="o"&gt;(&lt;/span&gt;82&lt;span class="o"&gt;)&lt;/span&gt; boot: End of partition table
I &lt;span class="o"&gt;(&lt;/span&gt;86&lt;span class="o"&gt;)&lt;/span&gt; esp_image: segment 0: &lt;span class="nv"&gt;paddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00010020 &lt;span class="nv"&gt;vaddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3c090020 &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;21448h &lt;span class="o"&gt;(&lt;/span&gt;136264&lt;span class="o"&gt;)&lt;/span&gt; map
I &lt;span class="o"&gt;(&lt;/span&gt;124&lt;span class="o"&gt;)&lt;/span&gt; esp_image: segment 1: &lt;span class="nv"&gt;paddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00031470 &lt;span class="nv"&gt;vaddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3fc90000 &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;02974h &lt;span class="o"&gt;(&lt;/span&gt; 10612&lt;span class="o"&gt;)&lt;/span&gt; load
I &lt;span class="o"&gt;(&lt;/span&gt;127&lt;span class="o"&gt;)&lt;/span&gt; esp_image: segment 2: &lt;span class="nv"&gt;paddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00033dec &lt;span class="nv"&gt;vaddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;40380000 &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0c22ch &lt;span class="o"&gt;(&lt;/span&gt; 49708&lt;span class="o"&gt;)&lt;/span&gt; load
I &lt;span class="o"&gt;(&lt;/span&gt;143&lt;span class="o"&gt;)&lt;/span&gt; esp_image: segment 3: &lt;span class="nv"&gt;paddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;00040020 &lt;span class="nv"&gt;vaddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;42000020 &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;8f24ch &lt;span class="o"&gt;(&lt;/span&gt;586316&lt;span class="o"&gt;)&lt;/span&gt; map
I &lt;span class="o"&gt;(&lt;/span&gt;273&lt;span class="o"&gt;)&lt;/span&gt; esp_image: segment 4: &lt;span class="nv"&gt;paddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;000cf274 &lt;span class="nv"&gt;vaddr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4038c22c &lt;span class="nv"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;03c18h &lt;span class="o"&gt;(&lt;/span&gt; 15384&lt;span class="o"&gt;)&lt;/span&gt; load
I &lt;span class="o"&gt;(&lt;/span&gt;282&lt;span class="o"&gt;)&lt;/span&gt; boot: Loaded app from partition at offset 0x10000
I &lt;span class="o"&gt;(&lt;/span&gt;282&lt;span class="o"&gt;)&lt;/span&gt; boot: Disabling RNG early entropy source...
I &lt;span class="o"&gt;(&lt;/span&gt;294&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Unicore app
I &lt;span class="o"&gt;(&lt;/span&gt;294&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Pro cpu up.
I &lt;span class="o"&gt;(&lt;/span&gt;303&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Pro cpu start user code
I &lt;span class="o"&gt;(&lt;/span&gt;303&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: cpu freq: 160000000 Hz
I &lt;span class="o"&gt;(&lt;/span&gt;303&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Application information:
I &lt;span class="o"&gt;(&lt;/span&gt;306&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Project name:     libespidf
I &lt;span class="o"&gt;(&lt;/span&gt;311&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: App version:      1
I &lt;span class="o"&gt;(&lt;/span&gt;315&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Compile &lt;span class="nb"&gt;time&lt;/span&gt;:     May  7 2024 14:32:28
I &lt;span class="o"&gt;(&lt;/span&gt;322&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: ELF file SHA256:  0000000000000000...
I &lt;span class="o"&gt;(&lt;/span&gt;327&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: ESP-IDF:          v5.1.2-dirty
I &lt;span class="o"&gt;(&lt;/span&gt;333&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Min chip rev:     v0.3
I &lt;span class="o"&gt;(&lt;/span&gt;338&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Max chip rev:     v0.99 
I &lt;span class="o"&gt;(&lt;/span&gt;342&lt;span class="o"&gt;)&lt;/span&gt; cpu_start: Chip rev:         v0.4
I &lt;span class="o"&gt;(&lt;/span&gt;347&lt;span class="o"&gt;)&lt;/span&gt; heap_init: Initializing. RAM available &lt;span class="k"&gt;for &lt;/span&gt;dynamic allocation:
I &lt;span class="o"&gt;(&lt;/span&gt;354&lt;span class="o"&gt;)&lt;/span&gt; heap_init: At 3FC969B0 len 00029650 &lt;span class="o"&gt;(&lt;/span&gt;165 KiB&lt;span class="o"&gt;)&lt;/span&gt;: DRAM
I &lt;span class="o"&gt;(&lt;/span&gt;361&lt;span class="o"&gt;)&lt;/span&gt; heap_init: At 3FCC0000 len 0001C710 &lt;span class="o"&gt;(&lt;/span&gt;113 KiB&lt;span class="o"&gt;)&lt;/span&gt;: DRAM/RETENTION
I &lt;span class="o"&gt;(&lt;/span&gt;368&lt;span class="o"&gt;)&lt;/span&gt; heap_init: At 3FCDC710 len 00002950 &lt;span class="o"&gt;(&lt;/span&gt;10 KiB&lt;span class="o"&gt;)&lt;/span&gt;: DRAM/RETENTION/STACK
I &lt;span class="o"&gt;(&lt;/span&gt;375&lt;span class="o"&gt;)&lt;/span&gt; heap_init: At 50000010 len 00001FD8 &lt;span class="o"&gt;(&lt;/span&gt;7 KiB&lt;span class="o"&gt;)&lt;/span&gt;: RTCRAM
I &lt;span class="o"&gt;(&lt;/span&gt;383&lt;span class="o"&gt;)&lt;/span&gt; spi_flash: detected chip: generic
I &lt;span class="o"&gt;(&lt;/span&gt;386&lt;span class="o"&gt;)&lt;/span&gt; spi_flash: flash io: dio
W &lt;span class="o"&gt;(&lt;/span&gt;391&lt;span class="o"&gt;)&lt;/span&gt; rmt&lt;span class="o"&gt;(&lt;/span&gt;legacy&lt;span class="o"&gt;)&lt;/span&gt;: legacy driver is deprecated, please migrate to &lt;span class="sb"&gt;`&lt;/span&gt;driver/rmt_tx.h&lt;span class="sb"&gt;`&lt;/span&gt; and/or &lt;span class="sb"&gt;`&lt;/span&gt;driver/rmt_rx.h&lt;span class="sb"&gt;`&lt;/span&gt;
W &lt;span class="o"&gt;(&lt;/span&gt;401&lt;span class="o"&gt;)&lt;/span&gt; timer_group: legacy driver is deprecated, please migrate to &lt;span class="sb"&gt;`&lt;/span&gt;driver/gptimer.h&lt;span class="sb"&gt;`&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;410&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nb"&gt;sleep&lt;/span&gt;: Configure to isolate all GPIO pins &lt;span class="k"&gt;in &lt;/span&gt;&lt;span class="nb"&gt;sleep &lt;/span&gt;state
I &lt;span class="o"&gt;(&lt;/span&gt;416&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nb"&gt;sleep&lt;/span&gt;: Enable automatic switching of GPIO &lt;span class="nb"&gt;sleep &lt;/span&gt;configuration
I &lt;span class="o"&gt;(&lt;/span&gt;424&lt;span class="o"&gt;)&lt;/span&gt; app_start: Starting scheduler on CPU0
I &lt;span class="o"&gt;(&lt;/span&gt;428&lt;span class="o"&gt;)&lt;/span&gt; main_task: Started on CPU0
I &lt;span class="o"&gt;(&lt;/span&gt;428&lt;span class="o"&gt;)&lt;/span&gt; main_task: Calling app_main&lt;span class="o"&gt;()&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;428&lt;span class="o"&gt;)&lt;/span&gt; hardware_check: Hello, world!
I &lt;span class="o"&gt;(&lt;/span&gt;438&lt;span class="o"&gt;)&lt;/span&gt; pp: pp rom version: 9387209
I &lt;span class="o"&gt;(&lt;/span&gt;438&lt;span class="o"&gt;)&lt;/span&gt; net80211: net80211 rom version: 9387209
I &lt;span class="o"&gt;(&lt;/span&gt;458&lt;span class="o"&gt;)&lt;/span&gt; wifi:wifi driver task: 3fca2380, prio:23, stack:6656, &lt;span class="nv"&gt;core&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0
I &lt;span class="o"&gt;(&lt;/span&gt;458&lt;span class="o"&gt;)&lt;/span&gt; wifi:wifi firmware version: 91b9630
I &lt;span class="o"&gt;(&lt;/span&gt;458&lt;span class="o"&gt;)&lt;/span&gt; wifi:wifi certification version: v7.0
I &lt;span class="o"&gt;(&lt;/span&gt;458&lt;span class="o"&gt;)&lt;/span&gt; wifi:config NVS flash: disabled
I &lt;span class="o"&gt;(&lt;/span&gt;458&lt;span class="o"&gt;)&lt;/span&gt; wifi:config nano formating: disabled
I &lt;span class="o"&gt;(&lt;/span&gt;468&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init data frame dynamic rx buffer num: 32
I &lt;span class="o"&gt;(&lt;/span&gt;468&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init static rx mgmt buffer num: 10
I &lt;span class="o"&gt;(&lt;/span&gt;478&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init management short buffer num: 32
I &lt;span class="o"&gt;(&lt;/span&gt;478&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init dynamic tx buffer num: 32
I &lt;span class="o"&gt;(&lt;/span&gt;488&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init static tx FG buffer num: 2
I &lt;span class="o"&gt;(&lt;/span&gt;488&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init static rx buffer size: 1600
I &lt;span class="o"&gt;(&lt;/span&gt;488&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init static rx buffer num: 10
I &lt;span class="o"&gt;(&lt;/span&gt;498&lt;span class="o"&gt;)&lt;/span&gt; wifi:Init dynamic rx buffer num: 32
I &lt;span class="o"&gt;(&lt;/span&gt;498&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: rx ba win: 6
I &lt;span class="o"&gt;(&lt;/span&gt;508&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: tcpip mbox: 32
I &lt;span class="o"&gt;(&lt;/span&gt;508&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: udp mbox: 6
I &lt;span class="o"&gt;(&lt;/span&gt;508&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: tcp mbox: 6
I &lt;span class="o"&gt;(&lt;/span&gt;518&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: tcp tx win: 5744
I &lt;span class="o"&gt;(&lt;/span&gt;518&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: tcp rx win: 5744
I &lt;span class="o"&gt;(&lt;/span&gt;528&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: tcp mss: 1440
I &lt;span class="o"&gt;(&lt;/span&gt;528&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: WiFi IRAM OP enabled
I &lt;span class="o"&gt;(&lt;/span&gt;528&lt;span class="o"&gt;)&lt;/span&gt; wifi_init: WiFi RX IRAM OP enabled
I &lt;span class="o"&gt;(&lt;/span&gt;538&lt;span class="o"&gt;)&lt;/span&gt; wifi: Starting wifi...
I &lt;span class="o"&gt;(&lt;/span&gt;538&lt;span class="o"&gt;)&lt;/span&gt; phy_init: phy_version 1130,b4e4b80,Sep  5 2023,11:09:30
E &lt;span class="o"&gt;(&lt;/span&gt;548&lt;span class="o"&gt;)&lt;/span&gt; phy_init: esp_phy_load_cal_data_from_nvs: NVS has not been initialized. Call nvs_flash_init before starting WiFi/BT.
W &lt;span class="o"&gt;(&lt;/span&gt;558&lt;span class="o"&gt;)&lt;/span&gt; phy_init: failed to load RF calibration data &lt;span class="o"&gt;(&lt;/span&gt;0x1101&lt;span class="o"&gt;)&lt;/span&gt;, falling back to full calibration
I &lt;span class="o"&gt;(&lt;/span&gt;608&lt;span class="o"&gt;)&lt;/span&gt; wifi:mode : sta &lt;span class="o"&gt;(&lt;/span&gt;40:4c:ca:8c:9e:28&lt;span class="o"&gt;)&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;608&lt;span class="o"&gt;)&lt;/span&gt; wifi:enable tsf
I &lt;span class="o"&gt;(&lt;/span&gt;618&lt;span class="o"&gt;)&lt;/span&gt; wifi: Scanning...
I &lt;span class="o"&gt;(&lt;/span&gt;5718&lt;span class="o"&gt;)&lt;/span&gt; wifi: Found configured access point TP-LINK_D1AB on channel 1
I &lt;span class="o"&gt;(&lt;/span&gt;5718&lt;span class="o"&gt;)&lt;/span&gt; wifi: Connecting wifi...
I &lt;span class="o"&gt;(&lt;/span&gt;8128&lt;span class="o"&gt;)&lt;/span&gt; wifi:new:&amp;lt;1,1&amp;gt;, old:&amp;lt;1,0&amp;gt;, ap:&amp;lt;255,255&amp;gt;, sta:&amp;lt;1,1&amp;gt;, prof:1
I &lt;span class="o"&gt;(&lt;/span&gt;8398&lt;span class="o"&gt;)&lt;/span&gt; wifi:state: init -&amp;gt; auth &lt;span class="o"&gt;(&lt;/span&gt;b0&lt;span class="o"&gt;)&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;8408&lt;span class="o"&gt;)&lt;/span&gt; wifi:state: auth -&amp;gt; assoc &lt;span class="o"&gt;(&lt;/span&gt;0&lt;span class="o"&gt;)&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;8408&lt;span class="o"&gt;)&lt;/span&gt; wifi:state: assoc -&amp;gt; run &lt;span class="o"&gt;(&lt;/span&gt;10&lt;span class="o"&gt;)&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;8438&lt;span class="o"&gt;)&lt;/span&gt; wifi:connected with TP-LINK_D1AB, aid &lt;span class="o"&gt;=&lt;/span&gt; 1, channel 1, 40U, bssid &lt;span class="o"&gt;=&lt;/span&gt; 98:97:cc:50:d1:ab
I &lt;span class="o"&gt;(&lt;/span&gt;8438&lt;span class="o"&gt;)&lt;/span&gt; wifi:security: WPA2-PSK, phy: bgn, rssi: &lt;span class="nt"&gt;-40&lt;/span&gt;
I &lt;span class="o"&gt;(&lt;/span&gt;8438&lt;span class="o"&gt;)&lt;/span&gt; wifi:pm start, &lt;span class="nb"&gt;type&lt;/span&gt;: 1
​
I &lt;span class="o"&gt;(&lt;/span&gt;8438&lt;span class="o"&gt;)&lt;/span&gt; wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000
I &lt;span class="o"&gt;(&lt;/span&gt;8448&lt;span class="o"&gt;)&lt;/span&gt; wifi: Waiting &lt;span class="k"&gt;for &lt;/span&gt;DHCP lease...
I &lt;span class="o"&gt;(&lt;/span&gt;8478&lt;span class="o"&gt;)&lt;/span&gt; wifi:AP&lt;span class="s1"&gt;'s beacon interval = 102400 us, DTIM period = 1
I (9508) wifi:&amp;lt;ba-add&amp;gt;idx:0 (ifx:0, 98:97:cc:50:d1:ab), tid:0, ssn:0, winSize:64
I (10448) esp_netif_handlers: sta ip: 192.168.0.105, mask: 255.255.255.0, gw: 192.168.0.1
I (10448) wifi: Wifi DHCP info: IpInfo { ip: 192.168.0.105, subnet: Subnet { gateway: 192.168.0.1, mask: Mask(24) }, dns: Some(192.168.1.1), secondary_dns: Some(192.168.0.1) }
I (11458) hardware_check: Hello, world!
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>macos</category>
      <category>rust</category>
      <category>esp32</category>
      <category>dcoker</category>
    </item>
  </channel>
</rss>
