⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tools.mk

📁 一个很好的嵌入式linux平台下的bootloader
💻 MK
字号:
## Addresses of things unless overridden#ifeq ($(strip ${CFG_UNCACHED}),1)  CFG_TEXT_START ?= 0xBFC00000  CFG_DATA_START ?= 0xA1F00000  CFG_ROM_START  ?= 0xBFC00000else  CFG_TEXT_START ?= 0x9FC00000  CFG_DATA_START ?= 0x81F00000  CFG_ROM_START  ?= 0xBFC00000endif## BOOTRAM mode (runs from ROM vector assuming ROM is writable)# implies no relocation.#ifeq ($(strip ${CFG_BOOTRAM}),1)  CFG_RELOC = 0endif## Basic compiler options and preprocessor flags.  By placing# these in "CFLAGS" they will be applied to both CFE and ZipStart## There are three macros with flags:##  CFLAGS -- flags common to everything we build#  ZIPSTART_CFLAGS - flags unique to ZIPSTART#  CFE_CFLAGS - flags unique to CFE#CFLAGS += -g -c  -ffreestanding CFLAGS += -O2 -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes ZIPSTART_CFLAGS += -D_ZIPSTART_## Tools locations#TOOLPREFIX ?= sb1-elf-GCC        ?= $(TOOLS)$(TOOLPREFIX)gccGCPP       ?= $(TOOLS)$(TOOLPREFIX)cppGLD        ?= $(TOOLS)$(TOOLPREFIX)ldGAR        ?= $(TOOLS)$(TOOLPREFIX)arOBJDUMP    ?= $(TOOLS)$(TOOLPREFIX)objdumpOBJCOPY    ?= $(TOOLS)$(TOOLPREFIX)objcopyRANLIB     ?= $(TOOLS)$(TOOLPREFIX)ranlib## Check for 64-bit mode.  ZipStart is always built as 32-bit, so # this one only goes in CFE_CFLAGS#ifeq ($(strip ${CFG_MLONG64}),1)  CFE_CFLAGS += -mlong64 -D__long64endif## Determine parameters for the linker script, which is generated# using the C preprocessor.## Supported combinations:##  CFG_RAMAPP   CFG_UNCACHED   CFG_RELOC   Description#    Yes        YesOrNo        MustBeNo    CFE as a separate "application"#    No         YesOrNo        Yes         CFE relocates to RAM as firmware#    No         YesOrNo        No          CFE runs from flash as firmware#CFE_LDSCRIPT = ./cfe.ldsZIPSTART_LDSCRIPT = ./zipstart.ldsZIPSTART_LDSCRIPT_TEMPLATE = ${ARCH_SRC}/zipstart_ldscript.templateifeq ($(strip ${CFG_RELOC}),1)  CFE_LDFLAGS += -Bshareable -Bsymbolic   CFE_LDFLAGS += --script $(CFE_LDSCRIPT)  CFE_LDSCRIPT_TEMPLATE = ${ARCH_SRC}/cfe_ldscript.svr4pic  OCBINFLAGS += -R .dynstr -R .hash -R .compact_relelse  CFE_LDFLAGS += -g --script $(CFE_LDSCRIPT)  CFE_LDSCRIPT_TEMPLATE = ${ARCH_SRC}/cfe_ldscript.templateendififeq ($(strip ${CFG_UNCACHED}),1)  GENLDFLAGS += -DCFG_RUNFROMKSEG0=0else  GENLDFLAGS += -DCFG_RUNFROMKSEG0=1endififeq ($(strip ${CFG_ZIPSTART}),1)   GENLDFLAGS += -DCFG_ZIPSTART=1endififeq ($(strip ${CFG_RAMAPP}),1)   GENLDFLAGS += -DCFG_RAMAPP=1else   #  # RELOC=0 is used for no relocation (run in place)  #  ifeq ($(strip ${CFG_RELOC}),0)    ifeq ($(strip ${CFG_BOOTRAM}),1)      GENLDFLAGS += -DCFG_BOOTRAM=1    else      GENLDFLAGS += -DCFG_BOOTRAM=0    endif  endif  #  # RELOC=1 is "SVR4 PIC"  #  ifeq ($(strip ${CFG_RELOC}),1)    CFLAGS += -G0 -fpic -mabicalls -Wa,-KPIC     GENLDFLAGS += -DCFG_RELOC=1    CFG_TEXT_START = 0x9FC00000    CFG_DATA_START = 0x81F00000    CFG_ROM_START  = 0xBFC00000  endif  #  # RELOC=STATIC is "move to static location"  #endif## Add GENLDFLAGS to CFLAGS (we need this stuff in the C code as well)#CFLAGS += ${GENLDFLAGS}## Determine target endianness.  We use this switch everywhere,# in the C compiler, linker, and assembler, and for both CFE# and ZipStart.#ifeq ($(strip ${CFG_LITTLE}),1)  ENDIAN = -ELelse  ENDIAN = -EBendif## Add the text/data/ROM addresses to the GENLDFLAGS so they# will make it into the linker script.#GENLDFLAGS += -DCFE_ROM_START=${CFG_ROM_START} GENLDFLAGS += -DCFE_TEXT_START=${CFG_TEXT_START} GENLDFLAGS += -DCFE_DATA_START=${CFG_DATA_START} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -