1
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
36
37
38
41
42
50
51
52
53
61
62
63
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
95
96
97
102
103
104
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
129
130
131
136
137
138
143
144
145
146
147
148
149
/* ... */
/* ... */
#pragma once
#include <sys/param.h>
#include "esp_err.h"
#include "sdkconfig.h"
#ifdef __cplusplus
extern "C" {
#endif
#if CONFIG_IDF_TARGET_ESP32
#define MMU_PAGE_SIZE 0x8000
#else
#define MMU_PAGE_SIZE CONFIG_MMU_PAGE_SIZE
#define MMU_PAGE_TO_BYTES(page_id) ((page_id) * MMU_PAGE_SIZE)
#define BYTES_TO_MMU_PAGE(bytes) ((bytes) / MMU_PAGE_SIZE)/* ... */
#endif
/* ... */
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
/* ... */
esp_err_t mmu_config_psram_text_segment(uint32_t start_page, uint32_t psram_size, uint32_t *out_page);/* ... */
#endif
#if CONFIG_SPIRAM_RODATA
/* ... */
esp_err_t mmu_config_psram_rodata_segment(uint32_t start_page, uint32_t psram_size, uint32_t *out_page);/* ... */
#endif
/* ... */
#if CONFIG_SPIRAM_FLASH_LOAD_TO_PSRAM
/* ... */
size_t mmu_xip_psram_flash_vaddr_to_paddr(const void *ptr);/* ... */
#else
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
/* ... */
void instruction_flash_page_info_init(uint32_t psram_start_physical_page);
/* ... */
uint32_t instruction_flash_start_page_get(void);
/* ... */
uint32_t instruction_flash_end_page_get(void);
/* ... */
int instruction_flash2spiram_offset(void);/* ... */
#endif
#if CONFIG_SPIRAM_RODATA
/* ... */
void rodata_flash_page_info_init(uint32_t psram_start_physical_page);
/* ... */
uint32_t rodata_flash_start_page_get(void);
/* ... */
uint32_t rodata_flash_end_page_get(void);
/* ... */
int rodata_flash2spiram_offset(void);/* ... */
#endif /* ... */
#endif
#ifdef __cplusplus
}{...}
#endif