[ESP32] ESP32-S3の登場か？

# はじめに

最近ESP-IDFの中にESP32-s3のRomのFileが追加になって調べてみた。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137182/6b75ab2c-6730-6343-3fb4-d6977eb5179a.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137182/23b8727b-922b-e7cc-b8d0-aa190346b2bd.png)


これは素晴らしい。AI Coreをもってでるのか！

#Githubで探してみた

マジでESP32-S3のファイルがあった。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/137182/4ef68695-ee41-99f4-5ec8-b6cdbd0c9ec9.png)

## GPIO

GPIOの数は46までには確認しました。

```c
#include "soc/gpio_periph.h"

const uint32_t GPIO_PIN_MUX_REG[GPIO_PIN_COUNT] = {
    IO_MUX_GPIO0_REG,
    IO_MUX_GPIO1_REG,
    IO_MUX_GPIO2_REG,
    IO_MUX_GPIO3_REG,
    IO_MUX_GPIO4_REG,
    IO_MUX_GPIO5_REG,
    IO_MUX_GPIO6_REG,
    IO_MUX_GPIO7_REG,
    IO_MUX_GPIO8_REG,
    IO_MUX_GPIO9_REG,
    IO_MUX_GPIO10_REG,
    IO_MUX_GPIO11_REG,
    IO_MUX_GPIO12_REG,
    IO_MUX_GPIO13_REG,
    IO_MUX_GPIO14_REG,
    IO_MUX_GPIO15_REG,
    IO_MUX_GPIO16_REG,
    IO_MUX_GPIO17_REG,
    IO_MUX_GPIO18_REG,
    IO_MUX_GPIO19_REG,
    IO_MUX_GPIO20_REG,
    IO_MUX_GPIO21_REG,
    0,
    0,
    0,
    0,
    IO_MUX_GPIO26_REG,
    IO_MUX_GPIO27_REG,
    IO_MUX_GPIO28_REG,
    IO_MUX_GPIO29_REG,
    IO_MUX_GPIO30_REG,
    IO_MUX_GPIO31_REG,
    IO_MUX_GPIO32_REG,
    IO_MUX_GPIO33_REG,
    IO_MUX_GPIO34_REG,
    IO_MUX_GPIO35_REG,
    IO_MUX_GPIO36_REG,
    IO_MUX_GPIO37_REG,
    IO_MUX_GPIO38_REG,
    IO_MUX_GPIO39_REG,
    IO_MUX_GPIO40_REG,
    IO_MUX_GPIO41_REG,
    IO_MUX_GPIO42_REG,
    IO_MUX_GPIO43_REG,
    IO_MUX_GPIO44_REG,
    IO_MUX_GPIO45_REG,
    IO_MUX_GPIO46_REG,
    0,
};

```

## Peripheral

```c
typedef enum {
    PERIPH_LEDC_MODULE = 0,
    PERIPH_UART0_MODULE,
    PERIPH_UART1_MODULE,
    PERIPH_UART2_MODULE,
    PERIPH_USB_MODULE,
    PERIPH_I2C0_MODULE,
    PERIPH_I2C1_MODULE,
    PERIPH_I2S0_MODULE,
    PERIPH_I2S1_MODULE,
    PERIPH_TIMG0_MODULE,
    PERIPH_TIMG1_MODULE,
    PERIPH_PWM0_MODULE,
    PERIPH_PWM1_MODULE,
    PERIPH_PWM2_MODULE,
    PERIPH_PWM3_MODULE,
    PERIPH_UHCI0_MODULE,
    PERIPH_UHCI1_MODULE,
    PERIPH_RMT_MODULE,
    PERIPH_PCNT_MODULE,
    PERIPH_SPI_MODULE,  //SPI1
    PERIPH_FSPI_MODULE, //SPI2
    PERIPH_HSPI_MODULE, //SPI3
    PERIPH_VSPI_MODULE, //SPI4
    PERIPH_SPI2_DMA_MODULE,
    PERIPH_SPI3_DMA_MODULE,
    PERIPH_SPI_SHARED_DMA_MODULE, //this DMA is shared by SPI1 and SPI4
    PERIPH_SDMMC_MODULE,
    PERIPH_TWAI_MODULE,
    PERIPH_RNG_MODULE,
    PERIPH_WIFI_MODULE,
    PERIPH_BT_MODULE,
    PERIPH_WIFI_BT_COMMON_MODULE,
    PERIPH_BT_BASEBAND_MODULE,
    PERIPH_BT_LC_MODULE,
    PERIPH_AES_MODULE,
    PERIPH_SHA_MODULE,
    PERIPH_RSA_MODULE,
    PERIPH_CRYPTO_DMA_MODULE, //this DMA is shared between AES and SHA
    PERIPH_AES_DMA_MODULE,
    PERIPH_SHA_DMA_MODULE,
    PERIPH_MODULE_MAX
} periph_module_t;

```

### RTC GPIO
```c
#pragma once

//RTC GPIO channels
#define RTCIO_GPIO36_CHANNEL        0   //RTCIO_CHANNEL_0
#define RTCIO_CHANNEL_0_GPIO_NUM    36

#define RTCIO_GPIO37_CHANNEL        1   //RTCIO_CHANNEL_1
#define RTCIO_CHANNEL_1_GPIO_NUM    37

#define RTCIO_GPIO38_CHANNEL        2   //RTCIO_CHANNEL_2
#define RTCIO_CHANNEL_2_GPIO_NUM    38

#define RTCIO_GPIO39_CHANNEL        3   //RTCIO_CHANNEL_3
#define RTCIO_CHANNEL_3_GPIO_NUM    39

#define RTCIO_GPIO34_CHANNEL        4   //RTCIO_CHANNEL_4
#define RTCIO_CHANNEL_4_GPIO_NUM    34

#define RTCIO_GPIO35_CHANNEL        5   //RTCIO_CHANNEL_5
#define RTCIO_CHANNEL_5_GPIO_NUM    35

#define RTCIO_GPIO25_CHANNEL        6   //RTCIO_CHANNEL_6
#define RTCIO_CHANNEL_6_GPIO_NUM    25

#define RTCIO_GPIO26_CHANNEL        7   //RTCIO_CHANNEL_7
#define RTCIO_CHANNEL_7_GPIO_NUM    26

#define RTCIO_GPIO33_CHANNEL        8   //RTCIO_CHANNEL_8
#define RTCIO_CHANNEL_8_GPIO_NUM    33

#define RTCIO_GPIO32_CHANNEL        9   //RTCIO_CHANNEL_9
#define RTCIO_CHANNEL_9_GPIO_NUM    32

#define RTCIO_GPIO4_CHANNEL         10   //RTCIO_CHANNEL_10
#define RTCIO_CHANNEL_10_GPIO_NUM   4

#define RTCIO_GPIO0_CHANNEL         11   //RTCIO_CHANNEL_11
#define RTCIO_CHANNEL_11_GPIO_NUM   0

#define RTCIO_GPIO2_CHANNEL         12   //RTCIO_CHANNEL_12
#define RTCIO_CHANNEL_12_GPIO_NUM   2

#define RTCIO_GPIO15_CHANNEL        13   //RTCIO_CHANNEL_13
#define RTCIO_CHANNEL_13_GPIO_NUM   15

#define RTCIO_GPIO13_CHANNEL        14   //RTCIO_CHANNEL_14
#define RTCIO_CHANNEL_14_GPIO_NUM   13

#define RTCIO_GPIO12_CHANNEL        15   //RTCIO_CHANNEL_15
#define RTCIO_CHANNEL_15_GPIO_NUM   12

#define RTCIO_GPIO14_CHANNEL        16   //RTCIO_CHANNEL_16
#define RTCIO_CHANNEL_16_GPIO_NUM   14

#define RTCIO_GPIO27_CHANNEL        17   //RTCIO_CHANNEL_17
#define RTCIO_CHANNEL_17_GPIO_NUM   27
```

# 結論
- S2にはWi-Fiだけで、S3はWi-FiよBLEに戻ってきますね
- AI　Coreの内容は見つけられなかった。
- ESP32-S4もまってみます。
-