学习笔记 · Obsidian
CoreS3 硬件地图:先认清板子,再选引脚
区分芯片、板卡、框架
ESP32-S3 是芯片;CoreS3 是把芯片、电源和外设集成起来的板卡;ESP-IDF 是软件开发框架;BSP 是板级支持包,负责把驱动和本板连接方式组织起来。选 esp32s3 编译目标,并不会自动初始化 CoreS3 的屏幕和电源。
以下按标准 CoreS3(K128)整理。先检查实物型号;CoreS3、CoreS3 Lite、CoreS3 SE 的配置并非完全一致。M5Stack CoreS3 产品页
先记会影响程序的参数
| 项目 | 官方资料中的 CoreS3 参数 | 学习意义 |
|---|---|---|
| 主控 | 双核 Xtensa LX7,最高 240 MHz | 任务可能并行,共享数据需要同步 |
| 存储 | 16 MB Flash、8 MB Quad PSRAM | 程序存储与运行内存是不同资源 |
| 显示 | 320 × 240 触摸 LCD,ILI9342C | 屏幕依赖驱动、供电、复位和绘图缓冲区 |
| 电源与 IO 扩展 | AXP2101、AW9523B | 部分控制脚通过芯片间接访问 |
| 板载输入 | 摄像头、IMU、触摸、麦克风等 | 可以先用现有硬件完成实验 |
这些板卡事实来自产品页;具体外设 API 能力还需核对所选 BSP 版本。BSP 里兼容驱动组件的名字也未必等于产品页上的芯片型号。
三组连接先分清
- 板内 I2C:SDA = GPIO12,SCL = GPIO11。
- 外接 Port A I2C:SDA = GPIO2,SCL = GPIO1。
- LCD:MOSI = GPIO37,SCLK = GPIO36,CS = GPIO3,DC = GPIO35;复位还经过 IO 扩展器。
以上来自 CoreS3 管脚映射。它们用于辨认连接;接线前仍要核对实际板型、原理图和已占用资源。
BMM150 经 BMI270 的辅助接口连接,不能假定普通板内 I2C 扫描就能直接发现全部传感器。未扫描到一个地址,也不自动等于器件损坏。
为什么第一步不照抄 Blink
CoreS3 BSP 的能力表没有通用 LED 和普通 BUTTONS 支持项。电源指示灯、复位键与通用用户 GPIO 不是同一回事;触摸输入可以先作为交互来源。CoreS3 BSP 能力表
没有额外 LED 时,第一步使用串口周期日志;随后通过屏幕显示状态。外接 LED 实验等确认空闲 GPIO、串联电阻和电气规格后再做。
两个实际边界
- Port A 有 5 V 供电脚,不表示 ESP32-S3 GPIO 可以直接接受 5 V 信号。接口电源、电平与外设的兼容性要分别核对。ESP32-S3 数据手册 §5.4
- 8 MB PSRAM 不能一概当作任意驱动都可使用的内存。外部 RAM 的缓存、DMA 描述符和带宽有限制,分配方式由驱动要求决定。ESP-IDF External RAM
第一次实机记录
记录板型、连接线是否支持数据传输、串口出现情况、固件来源和版本。先运行已选版本的官方显示例子,确认基础硬件正常,再逐项改变应用行为。
过关标准:能从“应用画一行字”追到 BSP、显示驱动、SPI、电源和 LCD;能指出板内 I2C 与 Port A 的区别。