当前位置:网站首页>【ESP32学习-2】esp32地址映射
【ESP32学习-2】esp32地址映射
2022-07-06 09:16:00 【csdndulala】
本文始于esp32技术参考手册中的一段描述
1.3.2.4 Internal SRAM 1
Internal SRAM 1 的容量为 128 KB,其既可以被两个 CPU 通过数据总线 0x3FFE_0000 ~ 0x3FFF_FFFF 读写,
也可以被两个 CPU 通过指令总线 0x400A_0000 ~ 0x400B_FFFF 读写。
指令总线地址和数据总线地址访问的 word 是逆序的。即地址:
0x3FFE_0000 与 0x400B_FFFC 访问到相同的 word
0x3FFE_0004 与 0x400B_FFF8 访问到相同的 word
0x3FFE_0008 与 0x400B_FFF4 访问到相同的 word迷惑的是为什么inter SRAM 1 通过数据和指令总线访问不同地址,得到的是相同的内容?为什么这样设计?有什么好处?
遍寻资料,终于找到了准确的解答:可以定制化调整IRAM和DRAM的大小。(同时也解答了,esp32内部ram是怎么划分使用的)ROM0为何需要Remap:
1.3.2.1 Internal ROM 0
Internal ROM 0 的容量为 384 KB,可以被两个 CPU 通过指令总线 0x4000_0000 ~ 0x4005_FFFF 读取。
访问 ROM 0 的头 32 KB 的地址(0x4000_0000 ~ 0x4000_7FFF)可以被重新映射 到 Internal SRAM 1 中的一部
分,这部分原本被地址 0x400B_0000 ~ 0x400B_7FFF 访问。重映射时,这 32 KB SRAM 不能再被地址
0x400B_0000 ~ 0x400B_7FFF 访问,但是可以被数据总线 (0x3FFE_8000 ~ 0x3FFE_FFFF)访问。实现方式是
分别为两个 CPU 配置一个寄存器,即为 PRO_CPU 置位 DPORT_PRO_BOOT_REMAP_CTRL_REG 寄存器的
bit 0 或者为 APP_CPU 置位 DPORT_APP_BOOT_REMAP_CTRL_REG 寄存器的 bit 0。网上没有找到解释,我的理解:
rom0作为指令空间一共有384KB(已经非常大了),所分配的地址空间不会全部使用,可以通过remap的方式,将rom的地址映射为ram的地址。这样可以加快一级引导程序的运行。
边栏推荐
- Principle and implementation of MySQL master-slave replication
- Linux Yum install MySQL
- R & D thinking 01 ----- classic of embedded intelligent product development process
- 列表的使用
- 荣耀Magic 3Pro 充电架构分析
- [mrctf2020] dolls
- JS array + array method reconstruction
- Vert. x: A simple TCP client and server demo
- TypeScript
- 【flink】flink学习
猜你喜欢
Kaggle竞赛-Two Sigma Connect: Rental Listing Inquiries(XGBoost)
【CDH】CDH5.16 配置 yarn 任务集中分配设置不生效问题
Word typesetting (subtotal)
Wangeditor rich text reference and table usage
Redis interview questions
Time slice polling scheduling of RT thread threads
Comparaison des solutions pour la plate - forme mobile Qualcomm & MTK & Kirin USB 3.0
ESP8266使用arduino连接阿里云物联网
Correspondence between STM32 model and contex M
Machine learning -- linear regression (sklearn)
随机推荐
几个关于指针的声明【C语言】
Contiki source code + principle + function + programming + transplantation + drive + network (turn)
【yarn】CDP集群 Yarn配置capacity调度器批量分配
Pytorch-温度预测
互聯網協議詳解
互联网协议详解
Mysql database interview questions
Word排版(小計)
分布式節點免密登錄
2019 Tencent summer intern formal written examination
C language, log print file name, function name, line number, date and time
Oppo vooc fast charging circuit and protocol
[mrctf2020] dolls
IOT system framework learning
Vert. x: A simple TCP client and server demo
MySQL realizes read-write separation
MongoDB
选择法排序与冒泡法排序【C语言】
小天才电话手表 Z3工作原理
Comparaison des solutions pour la plate - forme mobile Qualcomm & MTK & Kirin USB 3.0