diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-25 15:06:08 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-26 07:17:57 +0200 |
commit | eb36d1198cdf9dc1e2f776ef6e1e38755f6d13c5 (patch) | |
tree | 14177ad7a58c06a3c537d1e55dae7bc369a1a4b9 /bsps/arm/tms570 | |
parent | bsps: Remove unmaintained times files (diff) | |
download | rtems-eb36d1198cdf9dc1e2f776ef6e1e38755f6d13c5.tar.bz2 |
bsps: Move documentation, etc. files to bsps
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'bsps/arm/tms570')
-rw-r--r-- | bsps/arm/tms570/README | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/bsps/arm/tms570/README b/bsps/arm/tms570/README new file mode 100644 index 0000000000..2a0bd4c8e4 --- /dev/null +++ b/bsps/arm/tms570/README @@ -0,0 +1,148 @@ +Development Board: TMS570LS31x Hercules Development Kit from TI + +http://www.ti.com/tool/tmds570ls31hdk + +Overview +-------- + +Drivers: + + o Console + o Clock + o Ethernet - external lwIP fork repository + +BSP variants: + tms570ls3137_hdk_intram - place code and data into internal SRAM + tms570ls3137_hdk_sdram - place code into external SDRAM and data to SRAM + tms570ls3137_hdk_with_loader - reserve 256kB at Flash start for loader + and place RTEMS application from address + 0x00040000 + 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 +------------------------------- + + 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-6.1/configure --target=arm-rtems4.12 --prefix=/usr \ + --enable-languages=c,c++ \ + --disable-libstdcxx-pch \ + --with-gnu-ld \ + --with-gnu-as \ + --enable-threads \ + --enable-target-optspace \ + --with-system-zlib \ + --verbose \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --with-newlib \ + --enable-plugin \ + --enable-newlib-io-c99-formats \ + --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. + +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. + +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. + +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 + +TMDS570LS31HDK setup to use SDRAM to load and debug RTEMS applications +----------------------------------------------------------------------- + + 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 + +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. + +The RTEMS and TMS570 support is included in uLAN project lwIP +repository for now + + https://sourceforge.net/p/ulan/lwip-omk/ + +But other place should be found when RTEMS lwIP +integration with read, write, close etc. functions +is implemented in future. + +Adapt BSP for another TMS570 based hardware +------------------------------------------- + +When TMS570_USE_HWINIT_STARTUP=1 then quite complete +initialization and selft-test code is included in TMS570 +BSP build. The support included in hwinit subdirectory +provides version of bsp_start_hook_0 and bsp_start_hook_1 +which proceeds many self-tests functions, clocks, PLLs +peripherals and other subsystems configuration. + +Complete pin multiplexer initialization according +to the list of individual pins functions is included. +Pins function definition can be found and altered +in a file + + rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c + +Complete "database" of all possible pin functions for +TMS570LS3137 chip 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 |