Changes between Version 9 and Version 10 of TBR/BSP/Tms570


Ignore:
Timestamp:
Sep 22, 2016, 11:02:18 PM (3 years ago)
Author:
Pavel Pisa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TBR/BSP/Tms570

    v9 v10  
    3636The basic TMS570 support has been included in RTEMS mainline sources ([http://git.rtems.org/rtems/commit/?id=4407ee675cb22e8bb870a76eafc590eb6e754315 commit]) in August 2014. Support for initial hardware setup and basic system selftest has been included in RTEMS mainline in September 2016 ([https://git.rtems.org/rtems/commit/?id=29430a3a106c98d2027b29d074d5db85ddb49c39 commit])
    3737
    38 Development of the BSP started as Premysl Houdek's GSoC 2014 project at [http://industrialinformatics.cz/ Industrial Informatics group of Czech Technical University in Prague]
     38Development of the BSP started as Premysl Houdek's GSoC 2014 project at [http://industrialinformatics.cz/ Industrial Informatics group at Czech Technical University in Prague]
    3939
    4040Development version of RTEMS with BSP sources is available from GitHub in tms570-bsp branch
     
    4242 *  https://github.com/AoLaD/rtems/tree/tms570-bsp
    4343
    44 The LwIP driver sources with TMS570 EMAC driver and RTEMS port included can be obtained from our other project repository
     44The lwIP driver sources with TMS570 EMAC driver and RTEMS port included can be obtained from our other project repository
    4545
    4646 * http://sourceforge.net/p/ulan/lwip-omk/ci/master/tree/
     
    8080}}}
    8181
    82 Next patches has been used during development to add Cortex-R and big-endian ARM support
     82All patches required for Cortex-R and big-endian ARM support are already
     83integrated in GCC the mainline.
    8384
    84  *  Enable big-endian multilib variant for GCC (included in GCC mainline now)
    85  * http://lists.rtems.org/pipermail/devel/2014-July/007244.html
    86  *  Newlib memchr ARM profile correction  (included in Newlib mainline now)
    87  * https://sourceware.org/ml/newlib/2014/msg00193.html
    88  *  RTEMS common Newlib sigaltstack patch applied
    89  * http://git.rtems.org/rtems-tools/plain/tools/4.11/newlib/newlib-sys-signal-20130532.diff
     85The TMS570 RTEMS BSP builds for hard float by default.
    9086
    91 The first target is soft-float RTEMS Cortex-R support. Next GCC options are used
     87GCC CFLAGS for hard-float RTEMS for Cortex-R in big-endian variant
     88
     89{{{
     90-mbig-endian -mthumb -march=armv7-r -mfpu=vfpv3-d16 -mfloat-abi=hard
     91}}}
     92
     93CFLAGS for soft-float RTEMS Cortex-R support
    9294
    9395{{{
     
    9597}}}
    9698
    97 for future hard float alternative
     99
     100RTEMS build configuration used for testing of self contained
     101applications to run directly from Flash
    98102
    99103{{{
    100 -mbig-endian -mthumb -march=armv7-r -mfpu=vfpv3-d16 -mfloat-abi=hard
     104../../../src/rtems/configure  --target=arm-rtems4.12 --prefix=/opt/rtems4.12 \
     105    --enable-rtems-inlines --disable-multiprocessing --enable-cxx \
     106    --enable-rdbg --enable-maintainer-mode --enable-tests=samples \
     107    --disable-networking --enable-posix --enable-itron --disable-ada \
     108    --disable-expada --disable-multilib --disable-docs \
     109    --enable-rtemsbsp="tms570ls3137_hdk" \
     110    --enable-rtems-debug \
     111    TMS570_USE_HWINIT_STARTUP=1
    101112}}}
    102113
    103114= Execution =
    104115
     116Application build by above process can be directly programmed into Flash and run.
    105117
    106 We have not used any generic bootloader nor initial complex CPU and peripherals initialization
    107 and self test is implemented and included in RTEMS BSP. We use simple Ti's HalCoGen generated
    108 application to setup board and then download RTEMS image over OpenOCD to internal ECC SRAM or
    109 external SDRAM. Setup application code is available there
     118For 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.
    110119
    111  *  https://github.com/hornmich/tms570ls3137-hdk-sdram
     120The following features are implemented in the BSP only partially:
     121
     122 * Initial CPU and peripheral initialization
     123 * Cores Self-test
     124
     125Setup application code is available there:
     126          https://github.com/hornmich/tms570ls3137-hdk-sdram
     127
     128== TMDS570LS31HDK setup to use SDRAM to load and debug RTEMS applications ==
     129
     130 * Program SDRAM_SCI_configuration-program or another boot loader
     131   (for example ETHERNET XCP is developed)
     132 * write BSP application either to sdram or intram and jump to RTEMS start code
    112133
    113134= Debugging =