diff --git a/configs/launchxl-tms57004/README.txt b/configs/launchxl-tms57004/README.txt index 4133564892d..d4436f75649 100644 --- a/configs/launchxl-tms57004/README.txt +++ b/configs/launchxl-tms57004/README.txt @@ -8,23 +8,61 @@ README Contents ======== + - Status - Toolchain - LEDs and Buttons - Serial Console - Debugging - Configurations +Status +====== + + The basic port to the TMS570 is complete. Testing is, however, stalled. + The TMD570 hardware is big-endian and I have not yet found an ARM toolchain + that will support big-endian operation. + Toolchain ========= + Build Platform + -------------- All of these configurations are set up to build with Cygwin under Windows - using the "GNU Tools for ARM Embedded Processors" that is maintained by ARM (unless stated otherwise in the description of the configuration). + Endian-ness Issues + ------------------ + I started using the the "GNU Tools for ARM Embedded Processors" that is + maintained by ARM. + https://launchpad.net/gcc-arm-embedded - That toolchain selection can easily be reconfigured using 'make menuconfig'. - Here are the relevant current settings: + However, that tool chain will not support the TMS570 big-endian mode. + Certainly the -mbig-endian options will compiler for big-endian, but the + final link fails because there is no big-endian version lib libgcc. + + There are patches available here if you want to build that toolchain + from scratch: + + https://launchpad.net/gcc-arm-embedded/+question/27995 + + I now use a version of the NuttX buildroot toolchain that can be built like + this: + + cd buildroot/ + cp configs/cortexr4-armeb-eabi-4.8.3-defconfig .config + make oldconfig + make + + You have to have several obscure packages installed on your Linux or Cygwin + system to build the toolchain like this: GMP, MPFR, MPC, and probably + others. See the buildroot/README.txt file for additional important information + about building the toolchain. + + Reconfiguring + ------------- + The build configuration selections can easily be reconfigured using 'make + menuconfig'. Here are the relevant current settings: Build Setup: CONFIG_HOST_WINDOWS=y : Window environment diff --git a/configs/launchxl-tms57004/nsh/Make.defs b/configs/launchxl-tms57004/nsh/Make.defs index f139bb761a9..130dce2b754 100644 --- a/configs/launchxl-tms57004/nsh/Make.defs +++ b/configs/launchxl-tms57004/nsh/Make.defs @@ -107,8 +107,11 @@ LIBEXT = .a EXEEXT = ifneq ($(CROSSDEV),arm-nuttx-elf-) +ifneq ($(CROSSDEV),armeb-nuttx-elf-) LDFLAGS += -nostartfiles -nodefaultlibs endif +endif + ifeq ($(CONFIG_DEBUG_SYMBOLS),y) LDFLAGS += -g endif diff --git a/configs/launchxl-tms57004/nsh/defconfig b/configs/launchxl-tms57004/nsh/defconfig index 58a988cadf3..cf156c72668 100644 --- a/configs/launchxl-tms57004/nsh/defconfig +++ b/configs/launchxl-tms57004/nsh/defconfig @@ -130,12 +130,13 @@ CONFIG_ARCH_LOWVECTORS=y CONFIG_ARMV7R_MEMINIT=y # CONFIG_ARMV7R_HAVE_L2CC is not set # CONFIG_ARMV7R_HAVE_L2CC_PL310 is not set -# CONFIG_ARMV7R_TOOLCHAIN_BUILDROOT is not set +CONFIG_ARMV7R_TOOLCHAIN_BUILDROOT=y # CONFIG_ARMV7R_TOOLCHAIN_CODESOURCERYW is not set # CONFIG_ARMV7R_TOOLCHAIN_DEVKITARM is not set # CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIL is not set -CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIW=y +# CONFIG_ARMV7R_TOOLCHAIN_GNU_EABIW is not set # CONFIG_ARMV7R_TOOLCHAIN_GNU_OABI is not set +# CONFIG_ARMV7R_OABI_TOOLCHAIN is not set CONFIG_ARMV7R_HAVE_DECODEFIQ=y # CONFIG_ARMV7R_DECODEFIQ is not set # CONFIG_SERIAL_TERMIOS is not set diff --git a/configs/launchxl-tms57004/nsh/setenv.sh b/configs/launchxl-tms57004/nsh/setenv.sh index 29889dedf67..2f7b6d3ed86 100644 --- a/configs/launchxl-tms57004/nsh/setenv.sh +++ b/configs/launchxl-tms57004/nsh/setenv.sh @@ -61,7 +61,7 @@ fi # This is the location where I installed the ARM "GNU Tools for ARM Embedded Processors" # You can this free toolchain here https://launchpad.net/gcc-arm-embedded -export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin" +# export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q2/bin" # This is the path to the location where I installed the devkitARM toolchain # You can get this free toolchain from http://devkitpro.org/ or http://sourceforge.net/projects/devkitpro/ @@ -69,7 +69,7 @@ export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/GNU Tools ARM Embedded/4.9 # This is the Cygwin path to the location where I build the buildroot # toolchain. -# export TOOLCHAIN_BIN="${WD}/../buildroot/build_arm_nofpu/staging_dir/bin" +export TOOLCHAIN_BIN="${WD}/../buildroot/build_armeb/staging_dir/bin" # Add the path to the toolchain to the PATH varialble export PATH="${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"