|
Zephyr API 3.6.99
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
13#ifndef ZEPHYR_INCLUDE_LINKER_LINKER_DEVNULL_H_
15#if defined(CONFIG_LINKER_DEVNULL_MEMORY)
17#if defined(CONFIG_XIP)
18#if (!defined(ROM_ADDR) && !defined(ROM_BASE)) || !defined(ROM_SIZE)
19#error "ROM_SIZE, ROM_ADDR or ROM_BASE not defined"
23#if (!defined(RAM_ADDR) && !defined(RAM_BASE)) || !defined(RAM_SIZE)
24#error "RAM_SIZE, RAM_ADDR or RAM_BASE not defined"
27#if defined(CONFIG_XIP) && !defined(ROM_ADDR)
28#define ROM_ADDR ROM_BASE
32#define RAM_ADDR RAM_BASE
35#define ROM_END_ADDR (ROM_ADDR + ROM_SIZE)
36#define DEVNULL_SIZE CONFIG_LINKER_DEVNULL_MEMORY_SIZE
37#define ROM_DEVNULL_END_ADDR (ROM_END_ADDR + DEVNULL_SIZE)
38#define MAX_ADDR UINT32_MAX
49#if !defined(CONFIG_XIP)
51#if RAM_ADDR >= DEVNULL_SIZE
52#define DEVNULL_ADDR (RAM_ADDR - DEVNULL_SIZE)
54#define DEVNULL_ADDR (RAM_ADDR + RAM_SIZE)
59#if ((ROM_ADDR > RAM_ADDR) && ((MAX_ADDR - ROM_END_ADDR) >= DEVNULL_SIZE)) || \
60 ((ROM_END_ADDR + DEVNULL_SIZE) <= RAM_ADDR)
61#define DEVNULL_ADDR ROM_END_ADDR
62#elif ROM_ADDR > DEVNULL_SIZE
63#define DEVNULL_ADDR (ROM_ADDR - DEVNULL_SIZE)
65#error "Cannot place devnull segment adjacent to ROM region."
70#define DEVNULL_REGION DEVNULL_ROM