feedback on Re: [PATCH v3] BSP for TMS570LS31x Hercules Development Kit from TI (TMS570LS3137)

Joel Sherrill joel.sherrill at oarcorp.com
Wed Aug 20 19:26:22 UTC 2014


On 8/20/2014 1:45 PM, Pavel Pisa wrote:
> On Wednesday 20 of August 2014 20:17:47 Joel Sherrill wrote:
>> Hi
>>
>> Initial quick feedback.  I build normally with --enable-rtems-debug
>> and the tms570ls3137_hdk variant failed to build with this
>> failure:
>>
>> arm-rtems4.11-gcc --pipe -DHAVE_CONFIG_H   -I../../..
>> -I../../../../cpukit/../../../tms570ls3137_hdk/lib/include  -DASM
>> -march=armv7-r -mthumb -mbig-endian -O2 -ggdb3 -DNDEBUG -Wall
>> -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes
>> -Wnested-externs -march=armv7-r -mthumb -mbig-endian -O2 -ggdb3 -DNDEBUG
>> -Wall -Wmissing-prototypes -Wimplicit-function-declaration
>> -Wstrict-prototypes -Wnested-externs -MT
>> libscorecpu_a-arm-context-volatile-clobber.o -MD -MP -MF
>> .deps/libscorecpu_a-arm-context-volatile-clobber.Tpo -c -o
>> libscorecpu_a-arm-context-volatile-clobber.o `test -f
>> 'arm-context-volatile-clobber.S' || echo
>> '../../../../../../../../rtems/c/src/../../cpukit/score/cpu/arm/'`arm-conte
>> xt-volatile-clobber.S mv -f
>> .deps/libscorecpu_a-arm-context-volatile-clobber.Tpo
>> .deps/libscorecpu_a-arm-context-volatile-clobber.Po
>> In file included from
>> ../../../../cpukit/../../../tms570ls3137_hdk/lib/include/rtems/score/percpu
>> .h:25:0, from
>> ../../../../cpukit/../../../tms570ls3137_hdk/lib/include/rtems/system.h:23,
>>                  from
>> ../../../../../../../../rtems/c/src/../../cpukit/score/cpu/arm/cpu.c:29:
>> ../../../../cpukit/../../../tms570ls3137_hdk/lib/include/rtems/score/isrloc
>> k.h: In function '_ISR_lock_ISR_disable_and_acquire':
>> ../../../../cpukit/../../../tms570ls3137_hdk/lib/include/rtems/score/assert
>> .h:38:46: error: '__ASSERT_FUNC' undeclared (first use in this function)
>>            __assert_func( __FILE__, __LINE__, __ASSERT_FUNC, #_e ) )
>>                                               ^
>>
>> Since there was some work to add a new ARM variant, I am suspicious that
>> a .h file is missing when this is compiled for Rx ARM variants.
>>
>> I didn't build other variants and am trying again with debug disabled.
> Hello Joel,
>
> we need to recheck that.
>
> We have been using optimized build and our target is build for SDRAM.
> We tested internal RAM as well. The flashing to start RTEMS image
> from address 0 has not been checked yet and cannot work with additional
> initial code implementation.
>
> There would be problem to build some larger test for internal
> RAM variant because they overflow.
I expect that and the list of tests which do not fit can be put in the
.tcfg file
for the variant.
> I have run ticker test on the board compiled from actual RTEMS mainline
> with next configuration options and everything seems OK for this setup
> on real HW
>
> ../../../git/rtems/configure --target=arm-rtems4.11 --prefix=/opt/rtems4.11 \
>   --enable-rtems-inlines --disable-multiprocessing --enable-cxx \
>   --enable-rdbg --enable-maintainer-mode --enable-tests=samples \
>   --enable-networking --enable-posix --enable-itron --disable-ada \
>   --disable-expada --disable-multilib --disable-docs \
>   --enable-rtemsbsp="tms570ls3137_hdk_sdram"
Hmmm... tms570ls3137_hdk_sdram also fails on ticker with this:

arm-rtems4.11-gcc -B../../../../../tms570ls3137_hdk_sdram/lib/ -specs
bsp_specs -qrtems -march=armv7-r -mthumb -mbig-endian -O2 -ggdb3
-DNDEBUG -Wall -Wmissing-prototypes -Wimplicit-function-declaration
-Wstrict-prototypes -Wnested-externs    -march=armv7-r -mthumb
-mbig-endian   -o ticker.exe init.o tasks.o
../../../../../tms570ls3137_hdk_sdram/lib/start.o: In function
`bsp_start_vector_table_end':
/users/joel/rtems-4.11-work/b-tms570ls3137_hdk_sdram/arm-rtems4.11/c/tms570ls3137_hdk_sdram/lib/libbsp/arm/tms570/../../../../../../../../rtems/c/src/lib/libbsp/arm/tms570/../shared/start/start.S:229:(.bsp_start_text+0x94):
relocation truncated to fit: R_ARM_THM_JUMP11 against symbol
`bsp_start_hook_0' defined in .text section in
../../../../../tms570ls3137_hdk_sdram/lib/librtemsbsp.a(libbsp_a-bspstarthooks.o)
collect2: error: ld returned 1 exit status

> I expect that inclusion of of assert.h or something similar world help
> to debug case. I look at it now or tomorrow.
I suspect this is just a conditional path that misses an include. Easy
to fix.
> As for regular RTEMS build it would worth to limit it/enable only
> tms570ls3137_hdk_sdram, other variants are more or less
> waste of compilation time for now. On the other hand,
> tms570ls3137_hdk_intram has its use to be tested on board
> without SDRAM and there are many other smaller variants
> of TMS570 MCUs which are suitable for RTEMS in future but
> again these are without external bus interface.
Well it is merged so we all have a common ground to work from.
We could have different tools or something minor could be different
in the two bsps. Who knows? We will find it. :)
> Best wishes,
>
>              Pavel

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985




More information about the devel mailing list