Update README files
This commit is contained in:
parent
879d43a584
commit
a232ccc3ab
@ -9,7 +9,6 @@ The board is based on ATMega2560 chip from Atmel
|
||||
|
||||
http://www.atmel.com/devices/atmega2560.aspx
|
||||
|
||||
|
||||
Toolchain
|
||||
^^^^^^^^^
|
||||
|
||||
@ -20,3 +19,20 @@ http://www.atmel.com/tools/atmelavrtoolchainforwindows.aspx
|
||||
It is basically WinAVR compatible so sub-projects may define WinAVR as a
|
||||
tool-chain but specify path to the Atmel AVR8 in path. See
|
||||
arduino-mega2560/hello for example.
|
||||
|
||||
MEMX
|
||||
^^^^
|
||||
|
||||
If you use the GCC AVR toolchain from the Atmel Studio, then you can
|
||||
enable suppport for the MEMX storage:
|
||||
|
||||
CONFIG_AVR_HAS_MEMX_PTR=y
|
||||
|
||||
If this support is enabled, then all strings will be saved in FLASH and
|
||||
standard string-oriented interfaces such printf() will change so that
|
||||
they accept memx pointers.
|
||||
|
||||
This means that (1) ALL strings must lie in FLASH, and (2) since the
|
||||
strings are moved from SRAM to FLASH, you will save a LOT of SRAM usage
|
||||
in some configurations that use a lot of string memory (such as the
|
||||
ostest and nsh configurations).
|
||||
|
@ -37,6 +37,12 @@ include ${TOPDIR}/.config
|
||||
include ${TOPDIR}/tools/Config.mk
|
||||
include ${TOPDIR}/arch/avr/src/avr/Toolchain.defs
|
||||
|
||||
ifeq ($(CONFIG_AVR_HAS_MEMX_PTR),y)
|
||||
LDSCRIPT = memx.ld
|
||||
else
|
||||
LDSCRIPT = nomemx.ld
|
||||
endif
|
||||
|
||||
ifeq ($(WINTOOL),y)
|
||||
# Windows-native toolchains
|
||||
DIRLINK = $(TOPDIR)/tools/copydir.sh
|
||||
@ -44,13 +50,13 @@ ifeq ($(WINTOOL),y)
|
||||
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
|
||||
ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
|
||||
ARCHXXINCLUDES = $(ARCHINCLUDES) "${shell cygpath -w $(TOPDIR)/include/cxx}"
|
||||
ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/nomemx.ld}"
|
||||
ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)}"
|
||||
else
|
||||
# Linux/Cygwin-native toolchain
|
||||
MKDEP = $(TOPDIR)/tools/mkdeps.sh
|
||||
ARCHINCLUDES = -I. -isystem "$(TOPDIR)/include"
|
||||
ARCHXXINCLUDES = $(ARCHINCLUDES) -isystem "$(TOPDIR)/include/cxx"
|
||||
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/nomemx.ld
|
||||
ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT)
|
||||
endif
|
||||
|
||||
CC = $(CROSSDEV)gcc
|
||||
@ -72,6 +78,12 @@ endif
|
||||
|
||||
ARCHCFLAGS = -fno-builtin
|
||||
ARCHCXXFLAGS = -fno-builtin -fno-exceptions
|
||||
|
||||
ifeq ($(CONFIG_AVR_HAS_MEMX_PTR),y)
|
||||
ARCHCFLAGS += -fdata-sections
|
||||
ARCHCXXFLAGS += -fdata-sections
|
||||
endif
|
||||
|
||||
ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
|
||||
ARCHWARNINGSXX = -Wall -Wshadow -Wundef
|
||||
ARCHDEFINES =
|
||||
|
@ -17,6 +17,7 @@ Contents
|
||||
o Windows Native Toolchains
|
||||
o NuttX buildroot Toolchain
|
||||
o avr-libc
|
||||
o MEMX
|
||||
o Teensy++ Configuration Options
|
||||
o Configurations
|
||||
|
||||
@ -387,6 +388,23 @@ Build Notes:
|
||||
|
||||
make install
|
||||
|
||||
MEMX
|
||||
^^^^
|
||||
|
||||
If you use the GCC AVR toolchain from the Atmel Studio, then you can
|
||||
enable suppport for the MEMX storage:
|
||||
|
||||
CONFIG_AVR_HAS_MEMX_PTR=y
|
||||
|
||||
If this support is enabled, then all strings will be saved in FLASH and
|
||||
standard string-oriented interfaces such printf() will change so that
|
||||
they accept memx pointers.
|
||||
|
||||
This means that (1) ALL strings must lie in FLASH, and (2) since the
|
||||
strings are moved from SRAM to FLASH, you will save a LOT of SRAM usage
|
||||
in some configurations that use a lot of string memory (such as the
|
||||
ostest and nsh configurations).
|
||||
|
||||
Teensy++ Configuration Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user