How to make a debug build for hello?

Joel Sherrill joel at rtems.org
Sun Sep 29 15:51:09 UTC 2019


On Sat, Sep 28, 2019 at 9:28 PM yanghb <sprhawk at gmail.com> wrote:
>
> Hi everyone!
>
> I'm new to RTEMS, and having this question.
>
> For short, how could I build application with DEBUG enabled?
>
> What I have done:
>
> 1. Building RTEMS kernel with stm32f4 bsp with following options:
> ../rtems/configure --prefix=`pwd`/../../4.11.3 --target=arm-rtems4.11 --disable-networking --enable-rtemsbsp=stm32f4 --enable-tests
>
> 2. Preparing my own hello application:
>     mkdir myhello; cd myhello
>     cp $RTEMS_KERNEL_ROOT/rtems/testsuites/samples/hello/init.c  hello.c
>     cp $RTEMS_BUILD_ROOT/share/rtems4.11/make/Templates/Makefile.leaf  Makefile
>     edit Makefile according to its README under Templates
> 3. Building myhello
>     export RTEMS_MAKEFILE_PATH="/home/xxxx/yyyy/RTEMS/prjs/myhello/../../4.11.3/arm-rtems4.11/stm32f4"
>     make
>     Output:
>>
>> test -d o-optimize || mkdir o-optimize
>> arm-rtems4.11-gcc --pipe -B/home/xxxx/yyyyy/RTEMS/kernel/stm32f4/../../4.11.3/arm-rtems4.11/stm32f4/lib/ -specs bsp_specs -qrtems   -Wall  -O2 -g     -march=armv7-m -mthumb        -c   -o o-optimize/hello.o hello.c
>> arm-rtems4.11-gcc --pipe -B/home/xxxx/yyyyyy/RTEMS/kernel/stm32f4/../../4.11.3/arm-rtems4.11/stm32f4/lib/ -specs bsp_specs -qrtems   -Wall  -O2 -g     -march=armv7-m -mthumb           -march=armv7-m -mthumb   -o o-optimize/hello.exe  o-optimize/hello.o
>> arm-rtems4.11-nm -g -n o-optimize/hello.exe > o-optimize/hello.num
>> arm-rtems4.11-size o-optimize/hello.exe
>>    text    data     bss     dec     hex filename
>>   69572    1660  129416  200648   30fc8 o-optimize/hello.exe
>> cp o-optimize/hello.exe o-optimize/hello.ralf
>
>
> however if I build with debug it failed:
>>
>> make clean; make debug
>> make -f Makefile MAKEFILE=Makefile VARIANT=DEBUG
>> make[1]: Entering directory '/home/xxxx/yyyyyy/RTEMS/prjs/myhello'
>> test -d o-debug || mkdir o-debug
>> arm-rtems4.11-gcc --pipe -B/home/xxxx/yyyyyy/RTEMS/kernel/stm32f4/../../4.11.3/arm-rtems4.11/stm32f4/lib/ -specs bsp_specs -qrtems   -Wall   -O0 -g    -march=armv7-m -mthumb        -c   -o o-debug/hello.o hello.c
>> make[1]: *** No rule to make target '/home/xxxx/yyyyyy/RTEMS/kernel/stm32f4/../../4.11.3/arm-rtems4.11/stm32f4/lib/librtemsbsp_g.a', needed by 'o-debug/hello.exe'.  Stop.
>> make[1]: Leaving directory '/home/xxxx/yyyyy/RTEMS/prjs/myhello'
>> make: *** [/home/xxxx/yyyyyy/RTEMS/kernel/stm32f4/../../4.11.3/make/leaf.cfg:31: debug] Error 2
>
>
>  I try to rebuild BSP with --enable-rtems-debug flag, it also didn't generate *_g.a files.
>
> So how could I build BSP with debug enabled?

--enable-debug enables internal consistency checks.

Every BSP and executable should be built by default with "-g" so
symbols are already included.

--joel
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users


More information about the users mailing list