Hi Joel, thanks for reply. I understand executable is built with "-g", but I think the outputs from optimize and debug are different instructions, and what built by debug is more straightforward for debugging purposes.
I want to know whether you just use optimized output for development / debugging, or use another debug output for this purpose? On Sun, Sep 29, 2019 at 11:51 PM Joel Sherrill <j...@rtems.org> wrote: > On Sat, Sep 28, 2019 at 9:28 PM yanghb <sprh...@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@rtems.org > > http://lists.rtems.org/mailman/listinfo/users >
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users