[PATCH 4/5] arm/tms570: document BSP setup with included hardware initialization.

Gedare Bloom gedare at rtems.org
Thu Sep 15 00:18:29 UTC 2016


Please provide link to the lwip repo

On Mon, Sep 12, 2016 at 5:47 PM,  <pisa at cmp.felk.cvut.cz> wrote:
> From: Pavel Pisa <pisa at cmp.felk.cvut.cz>
>
> ---
>  c/src/lib/libbsp/arm/tms570/README | 104 +++++++++++++++++++++++++++++--------
>  1 file changed, 82 insertions(+), 22 deletions(-)
>
> diff --git a/c/src/lib/libbsp/arm/tms570/README b/c/src/lib/libbsp/arm/tms570/README
> index f48744f..840ce68 100644
> --- a/c/src/lib/libbsp/arm/tms570/README
> +++ b/c/src/lib/libbsp/arm/tms570/README
> @@ -2,11 +2,14 @@ Development Board: TMS570LS31x Hercules Development Kit from TI
>
>  http://www.ti.com/tool/tmds570ls31hdk
>
> +Overview
> +--------
> +
>  Drivers:
>
> -       o Console
> -       o Clock
> -  o Ethernet - work in progress
> +  o Console
> +  o Clock
> +  o Ethernet - external lwIP fork repository
>
>  BSP variants:
>    tms570ls3137_hdk_intram - place code and data into internal SRAM
> @@ -14,14 +17,20 @@ BSP variants:
>    tms570ls3137_hdk_with_loader - reserve 256kB at Flash start for loader
>                                   and place RTEMS application from address
>                                   0x00040000
> -  tms570ls3137_hdk - variant prepared for stand-alone RTEMS application
> -                      stored and running directly from flash. Not working yet.
> +  tms570ls3137_hdk - variant for stand-alone RTEMS application stored
> +                     and running directly from flash. This variant
> +                     requires initialization of hardware to be integrated
> +                     into RTEMS. RTEMS has to be configured with
> +                       TMS570_USE_HWINIT_STARTUP=1
> +                     and initialization code has to be included in the sources.
> +
> +Tool-chain used for development
> +-------------------------------
>
> -Tool-chain
> -  GCC 4.9.0 + Newlib 2.1.0 + Binutils 2.24 configuration:
> +  arm-rtems4.12-gcc (GCC) 6.1.1 20160526 + Newlib 2.4.0.20160527 + Binutils 2.26.20160125
>
>    CFLAGS="-O2 -pipe" LDFLAGS=-s \
> -  ../../../src/gcc-4.9/configure --target=arm-rtems4.11 --prefix=/usr \
> +  ../../../src/gcc-6.1/configure --target=arm-rtems4.12 --prefix=/usr \
>                 --enable-languages=c,c++ \
>                 --disable-libstdcxx-pch \
>                 --with-gnu-ld \
> @@ -38,33 +47,84 @@ Tool-chain
>                 --enable-version-specific-runtime-libs \
>                 --enable-newlib-iconv \
>                 --disable-lto \
> +               --disable-lto \
> +               --enable-libgomp \
> +               --enable-newlib-iconv \
> +               --enable-newlib-iconv-encodings="iso_8859_1,utf_8" \
> +
> +All patches required for Cortex-R and big-endian ARM support are already
> +integrated in GCC the mainline.
>
> -Patches required for Cortex-R and big-endian ARM support are already
> -accepted by the mainline.
> +RTEMS build configuration used for testing of self contained
> +applications to run directly from Flash
> +
> +  ../../../src/rtems/configure  --target=arm-rtems4.12 --prefix=/opt/rtems4.12 \
> +    --enable-rtems-inlines --disable-multiprocessing --enable-cxx \
> +    --enable-rdbg --enable-maintainer-mode --enable-tests=samples \
> +    --disable-networking --enable-posix --enable-itron --disable-ada \
> +    --disable-expada --disable-multilib --disable-docs \
> +    --enable-rtemsbsp="tms570ls3137_hdk" \
> +    --enable-rtems-debug \
> +    TMS570_USE_HWINIT_STARTUP=1
>
>  Execution
> +---------
> +
> +Application build by above process can be directly programmed
> +into Flash and run.
>
> -Currently, a bootloader is not used. For test and debug purposes, TI's
> -HalCoGen generated application is used to set up the board and then
> -the RTEMS application image is loaded using OpenOCD to internal
> -EEC SRAM or external DRAM. The following features are
> -not implemented in the BSP:
> +For test and debug purposes, TI's HalCoGen generated application
> +is used to set up the board and then the RTEMS application
> +image is loaded using OpenOCD to internal EEC SRAM or external SDRAM.
> +This prevents wear of Flash which has limited guaranteed
> +erase cycles count.
>
> - + Initial complex CPU and peripheral initialization
> +The following features are implemented in the BSP only partially:
> +
> + + Initial CPU and peripheral initialization
>   + Cores Self-test
>
>  Setup application code is available there:
>            https://github.com/hornmich/tms570ls3137-hdk-sdram
>
> -Howto setup TMDS570LS31HDK?
> +TMDS570LS31HDK setup to use SDRAM to load and debug RTEMS applications
> +-----------------------------------------------------------------------
>
> -       o Unpack board.
> -       o Verify that demo application runs.
> -  o Upload bootloader specified above
> +  o Program SDRAM_SCI_configuration-program or another boot loader
> +    (for example ETHERNET XCP is developed)
>    o write BSP application either to sdram or intram and jump to RTEMS start code
>
> -Additional information about the board can be found at
> -  http://www.rtems.org/wiki/index.php/Tms570
> +ETHERNET
> +--------
> +
> +For ETHERNET, the lwIP port for TMS570LS3137 has been developed
> +at Industrial Informatics Group of Czech Technical University
> +in Prague and development versions are available on SourceForge.
> +
> +Adapt BSP for another TMS570 based hardware
> +-------------------------------------------
> +
> +When TMS570_USE_HWINIT_STARTUP=1 then pin multiplexing
> +and functions are configured by file
> +
> + rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c
> +
> +Complete "database" of all possible pin functions is provided
> +in a file
> +
> +  rtems/c/src/lib/libbsp/arm/tms570/include/tms570ls3137zwt-pins.h
> +
> +If another package or chip is considered then tools found
> +in next repository can be used or extended to generate header
> +files and pins "database"
> +
> +  https://github.com/AoLaD/rtems-tms570-utils
> +
> +Links to additional information
> +-------------------------------
> +
> +Additional information about the BSP and board can be found at
> +  https://devel.rtems.org/wiki/TBR/BSP/Tms570
>
>  Additional information about the CPU can be found at
>    http://www.ti.com/product/tms570ls3137
> --
> 1.9.1
>



More information about the devel mailing list