wswan:guide:memory_management
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
wswan:guide:memory_management [2025/04/03 18:11] – asie | wswan:guide:memory_management [2025/04/03 18:24] (current) – [Addressing RAM and ROM] asie | ||
---|---|---|---|
Line 13: | Line 13: | ||
<code C> | <code C> | ||
- | // The variable below will be stored in IRAM, even if it's declared const. | + | // The variable below will be stored in IRAM, even if it's declared |
static const uint16_t table_iram[] = {0, 1, 2, 3}; | static const uint16_t table_iram[] = {0, 1, 2, 3}; | ||
- | // The variable below will now be stored in ROM instead of IRAM. | + | // The variable below will now be stored in ROM instead of IRAM, as it is read-only and far. |
static const uint16_t __far table[] = {0, 1, 2, 3}; | static const uint16_t __far table[] = {0, 1, 2, 3}; | ||
+ | |||
+ | // As will this one, except it's not static, so you can reference it in a .h file... | ||
+ | const uint16_t __far global_table[] = {0, 1, 2, 3}; | ||
+ | |||
+ | // ... like so. | ||
+ | extern const uint16_t __far global_table[]; | ||
void process_table_iram(uint16_t *tbl); // This function can accept pointers to IRAM only. | void process_table_iram(uint16_t *tbl); // This function can accept pointers to IRAM only. |
wswan/guide/memory_management.1743703883.txt.gz · Last modified: 2025/04/03 18:11 by asie