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