The image will be linked at a different address and with different ROM/RAM sizes to allow running a bootloder image that loads a payload image. The addresses/sizes depend on if it is a XIP image or not (CONFIG_XIP), and in the case of a XIP image, if it is a bootloader image (CONFIG_IS_BOOTLOADER) or not. In the case of a bootloader, it is given the full ROM and CONFIG_BOOTLOADER_SRAM_SIZE kB of SRAM. When not a XIP image, it is given the full SRAM minus CONFIG_BOOTLOADER_SRAM_SIZE kB, and is linked at the start of SRAM. Change-Id: Ibbb693c7bff022f313dac40f21c04a61f4bed115 Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com> Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
89 lines
2.7 KiB
Text
89 lines
2.7 KiB
Text
# Kconfig - ARM architecture configuration options
|
|
|
|
#
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
|
|
menu "ARM architecture"
|
|
depends on ARM
|
|
|
|
config ARCH
|
|
default "arm"
|
|
|
|
config ARCH_DEFCONFIG
|
|
string
|
|
default "arch/arm/defconfig"
|
|
|
|
menu "General Platform Configuration"
|
|
|
|
choice
|
|
prompt "SoC Selection"
|
|
default SOC_FSL_FRDM_K64F
|
|
source "arch/arm/soc/*/Kconfig.soc"
|
|
endchoice
|
|
|
|
config IS_BOOTLOADER
|
|
bool "Act as a bootloader"
|
|
default n
|
|
depends on XIP
|
|
help
|
|
This option indicates that Zephyr will act as a bootloader to execute
|
|
a separate Zephyr image payload.
|
|
|
|
config BOOTLOADER_SRAM_SIZE
|
|
int "SRAM reserved for when Zephyr acts as a bootloader"
|
|
default 16
|
|
depends on !XIP || IS_BOOTLOADER
|
|
help
|
|
This option specifies the amount of SRAM (measure in kB) reserved for
|
|
when Zephyr is to act as a bootloader.
|
|
|
|
config ISA_THUMB2
|
|
bool
|
|
# Omit prompt to signify "hidden" option
|
|
default n
|
|
help
|
|
From: http://www.arm.com/products/processors/technologies/instruction-set-architectures.php
|
|
|
|
Thumb-2 technology is the instruction set underlying the ARM Cortex
|
|
architecture which provides enhanced levels of performance, energy
|
|
efficiency, and code density for a wide range of embedded
|
|
applications.
|
|
|
|
Thumb-2 technology builds on the success of Thumb, the innovative
|
|
high code density instruction set for ARM microprocessor cores, to
|
|
increase the power of the ARM microprocessor core available to
|
|
developers of low cost, high performance systems.
|
|
|
|
The technology is backwards compatible with existing ARM and Thumb
|
|
solutions, while significantly extending the features available to
|
|
the Thumb instructions set. This allows more of the application to
|
|
benefit from the best in class code density of Thumb.
|
|
|
|
For performance optimised code Thumb-2 technology uses 31 percent
|
|
less memory to reduce system cost, while providing up to 38 percent
|
|
higher performance than existing high density code, which can be used
|
|
to prolong battery-life or to enrich the product feature set. Thumb-2
|
|
technology is featured in the processor, and in all ARMv7
|
|
architecture-based processors.
|
|
|
|
source "arch/arm/core/Kconfig"
|
|
|
|
endmenu
|
|
|
|
source "arch/arm/soc/*/Kconfig"
|
|
|
|
endmenu
|