LaunchXL-TMS57004: Switch to use big-endian, Cortex-R4 buildroot toolchain
This commit is contained in:
parent
456b8d1b14
commit
6131f788b2
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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}"
|
||||
|
Loading…
Reference in New Issue
Block a user