v2.3.1 (RP2350)
Loading...
Searching...
No Matches
7#ifndef _PICO_PLATFORM_SECTION_MACROS_H
8#define _PICO_PLATFORM_SECTION_MACROS_H
25#define __after_data(group) __attribute__((section(".after_data." group)))
42#define __in_ram(group) __attribute__((section(".time_critical." group)))
61#define __in_scratch_x(group) __attribute__((section(".scratch_x." group)))
73#define __scratch_x(group) __in_scratch_x(group)
92#define __in_scratch_y(group) __attribute__((section(".scratch_y." group)))
104#define __scratch_y(group) __in_scratch_y(group)
127#define __in_psram(group) __attribute__((section(".psram_initialised." group)))
138#ifndef __uninitialized_psram
139#define __uninitialized_psram(group) __attribute__((section(".psram_uninitialised." group)))
158#if PICO_USE_XIP_CACHE_AS_RAM || PICO_COMBINED_DOCS
159#define __in_xip_ram(group) __attribute__((section(".xip_ram." group)))
161#define __in_xip_ram(group) __in_ram(group)
163#define __in_xip_ram(group) x; static_assert(false, "Must set PICO_USE_XIP_CACHE_AS_RAM=1 to use the __in_xip_ram macro");
182#ifndef __uninitialized_ram
183#define __uninitialized_ram(group) __attribute__((section(".uninitialized_data." #group))) group
201#if (LIB_PICO_LOW_POWER && HAS_POWMAN_TIMER) || PICO_COMBINED_DOCS
202#ifndef __persistent_data
203#define __persistent_data(name) __attribute__((section(".persistent_data." #name))) name
207#ifndef __persistent_data
208#define __persistent_data(name) __attribute__((section(".bss." #name))) name
225#define __in_flash(group) __attribute__((section(".flashdata." group)))
229#ifndef PICO_NOT_IN_FLASH_PLACEMENT
230#define PICO_NOT_IN_FLASH_PLACEMENT __in_ram
249#ifndef __not_in_flash
250#define __not_in_flash(group) PICO_NOT_IN_FLASH_PLACEMENT(group)
272#ifndef __not_in_flash_func
273#define __not_in_flash_func(func_name) __not_in_flash(__STRING(func_name)) func_name
282#ifndef __no_inline_not_in_flash_func
283#define __no_inline_not_in_flash_func(func_name) __noinline __not_in_flash_func(func_name)
287#ifndef PICO_TIME_CRITICAL_PLACEMENT
288#define PICO_TIME_CRITICAL_PLACEMENT __in_ram
318#ifndef __time_critical_func
319#define __time_critical_func(func_name) PICO_TIME_CRITICAL_PLACEMENT(__STRING(func_name)) func_name
331#ifndef __no_inline_time_critical_func
332#define __no_inline_time_critical_func(func_name) __noinline __time_critical_func(func_name)
337#ifndef RAM_SECTION_NAME
338#define RAM_SECTION_NAME(x) .time_critical.##x
342#define SECTION_NAME(x) .text.##x