On Tue, Jan 5, 2021, 5:29 PM Mr. Andrei Chichak <[email protected]> wrote:
> Good year! > > Can anybody point me at a guide or set of notes for setting up a new BSP > for RTEMS 5, derived from an existing one, so that ‘configure’ will pick it > up? > > At one point I took Sebastian’s STM32H7 BSP and munged it to work with an > F767, but then the whole BSP system changed, my scripts broke, and I’ll > have to start again. > > I need to know things like what directory to place my BSP, and how to get > the build system to recognize it. > > I’m using the RTEMS User Manual 5.1 as my guide, targeting RTEMS 5 using > MacOS Mojave as a host. > > I have the tools built and the script getting the kernel code is: > > cd ~/RTEMS5/rtems > mkdir kernel > cd kernel > git clone git://git.rtems.org/rtems.git rtems > cd rtems > git checkout 5 > > Then I patch in my stm32f767 BSP. I move: > > configuration info into …/kernel/rtems/c/src/lib/libbsp/arm/stm32f767, > stolen from ../stm32f4 for now > code into …/kernel/rtems/bsp/arm/stm32f767, stolen from ../stm32f4 for now > > and the script for building the kernel is > > cd ~/RTEMS5/rtems/kernel/rtems > ./bootstrap -c && ~/RTEMS5/rtems/rsb/source-builder/sb-bootstrap > cd .. > mkdir stm32f4 > cd stm32f4 > $HOME/RTEMS5/rtems/kernel/rtems/configure --prefix=$HOME/RTEMS5/rtems/5 \ > --target=arm-rtems5 --enable-rtemsbsp=stm32f4 --enable-posix \ > --disable-networking > make -j10 all > > Building for stm32f4 builds clean. > > Then I altered the script above swapping stm32f767 for stm32f4 and I get: > > ... > rm -f make/stm32f767.cache > make -f /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/make/bsp.mak \ > 'RTEMS_BSP=stm32f767' 'RTEMS_ROOT=.' \ > make/stm32f767.cache > config.status: creating lib/libbsp/Makefile > config.status: executing depfiles commands > === configuring in make > (/Users/andreichichak/RTEMS5/rtems/kernel/stm32f767/arm-rtems5/c/stm32f767/make) > configure: running /bin/sh > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/make/configure > --disable-option-checking '--prefix=/Users/andreichichak/RTEMS5/rtems/5' > '--host=arm-rtems5' '--build=x86_64-apple-darwin18.7.0' > '--target=arm-rtems5' '--enable-posix' '--disable-networking' > 'BSP_VERBOSE_FATAL_EXTENSION=1' '--with-target-subdir=arm-rtems5' > '--exec-prefix=/Users/andreichichak/RTEMS5/rtems/5/arm-rtems5' > '--includedir=/Users/andreichichak/RTEMS5/rtems/5/arm-rtems5/include' > 'build_alias=x86_64-apple-darwin18.7.0' 'host_alias=arm-rtems5' > 'target_alias=arm-rtems5' '--with-project-root=../../' > '--with-project-top=../../' > '--with-rtems-build-top=/Users/andreichichak/RTEMS5/rtems/kernel/stm32f767/arm-rtems5/c/stm32f767' > '--with-rtems-source-top=/Users/andreichichak/RTEMS5/rtems/kernel/rtems' > 'RTEMS_BSP=stm32f767' 'RTEMS_BSP_FAMILY=stm32f767' 'CFLAGS=-mthumb > -mcpu=cortex-m4 -O2 -g -ffunction-sections -fdata-sections -Wall > -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes > -Wnested-externs' --cache-file=/dev/null > --srcdir=/Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/make > checking for gmake... no > checking for make... make > checking build system type... x86_64-apple-darwin18.7.0 > checking host system type... arm-unknown-rtems5 > checking rtems target cpu... arm > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for arm-rtems5-strip... arm-rtems5-strip > checking for a thread-safe mkdir -p... > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/make/../../../install-sh > -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... no > checking for awk... awk > checking whether make sets $(MAKE)... yes > checking whether to enable maintainer-specific portions of Makefiles... no > checking for RTEMS_BSP... stm32f767 > checking for cat... /bin/cat > checking for cp... /bin/cp > checking for mv... /bin/mv > checking for ln... /bin/ln > checking whether ln -s works... yes > checking for chmod... /bin/chmod > checking for sort... /usr/bin/sort > checking for touch... /usr/bin/touch > checking for cmp... /usr/bin/cmp > checking for sed... /usr/bin/sed > checking for gm4... /opt/local/bin/gm4 > checking for bash... /bin/bash > checking for style of include used by make... GNU > checking for arm-rtems5-gcc... arm-rtems5-gcc > checking for arm-rtems5-gcc... (cached) arm-rtems5-gcc > checking whether the C compiler works... yes > checking for C compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... yes > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether arm-rtems5-gcc accepts -g... yes > checking for arm-rtems5-gcc option to accept ISO C89... none needed > checking dependency style of arm-rtems5-gcc... gcc3 > checking how to run the C preprocessor... arm-rtems5-gcc -E > checking whether arm-rtems5-gcc accepts -isystem... yes > checking whether arm-rtems5-gcc accepts --pipe... yes > checking whether arm-rtems5-gcc --pipe accepts -specs... yes > checking whether CPU supports SMP... disabled > checking for arm-rtems5-g++... arm-rtems5-g++ > checking whether we are using the GNU C++ compiler... yes > checking whether arm-rtems5-g++ accepts -g... yes > checking dependency style of arm-rtems5-g++... gcc3 > checking how to run the C++ preprocessor... arm-rtems5-g++ -E > checking for arm-rtems5-ar... arm-rtems5-ar > checking for arm-rtems5-as... arm-rtems5-as > checking for arm-rtems5-ld... arm-rtems5-ld > checking for arm-rtems5-ranlib... arm-rtems5-ranlib > checking for arm-rtems5-size... arm-rtems5-size > checking for arm-rtems5-nm... arm-rtems5-nm > checking for arm-rtems5-objcopy... arm-rtems5-objcopy > checking if wanting multiprocessing... no > checking whether BSP supports networking... disabled > checking whether CPU supports libposix... yes > checking whether to build rtems++... yes > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > config.status: linking > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/make/leaf.cfg to > leaf.cfg > config.status: executing depfiles commands > === configuring in lib/libbsp/arm > (/Users/andreichichak/RTEMS5/rtems/kernel/stm32f767/arm-rtems5/c/stm32f767/lib/libbsp/arm) > configure: running /bin/sh > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/lib/libbsp/arm/configure > --disable-option-checking '--prefix=/Users/andreichichak/RTEMS5/rtems/5' > '--host=arm-rtems5' '--build=x86_64-apple-darwin18.7.0' > '--target=arm-rtems5' '--enable-posix' '--disable-networking' > 'BSP_VERBOSE_FATAL_EXTENSION=1' '--with-target-subdir=arm-rtems5' > '--exec-prefix=/Users/andreichichak/RTEMS5/rtems/5/arm-rtems5' > '--includedir=/Users/andreichichak/RTEMS5/rtems/5/arm-rtems5/include' > 'build_alias=x86_64-apple-darwin18.7.0' 'host_alias=arm-rtems5' > 'target_alias=arm-rtems5' '--with-project-root=../../' > '--with-project-top=../../' > '--with-rtems-build-top=/Users/andreichichak/RTEMS5/rtems/kernel/stm32f767/arm-rtems5/c/stm32f767' > '--with-rtems-source-top=/Users/andreichichak/RTEMS5/rtems/kernel/rtems' > 'RTEMS_BSP=stm32f767' 'RTEMS_BSP_FAMILY=stm32f767' 'CFLAGS=-mthumb > -mcpu=cortex-m4 -O2 -g -ffunction-sections -fdata-sections -Wall > -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes > -Wnested-externs' --cache-file=/dev/null > --srcdir=/Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/lib/libbsp/arm > checking for gmake... no > checking for make... make > checking build system type... x86_64-apple-darwin18.7.0 > checking host system type... arm-unknown-rtems5 > checking rtems target cpu... arm > checking for a BSD-compatible install... /usr/bin/install -c > checking whether build environment is sane... yes > checking for arm-rtems5-strip... arm-rtems5-strip > checking for a thread-safe mkdir -p... > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/lib/libbsp/arm/../../../../../install-sh > -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... no > checking for awk... awk > checking whether make sets $(MAKE)... yes > checking whether to enable maintainer-specific portions of Makefiles... no > checking for RTEMS_BSP... stm32f767 > configure: error: Invalid BSP > configure: error: > /Users/andreichichak/RTEMS5/rtems/kernel/rtems/c/src/lib/libbsp/arm/configure > failed for lib/libbsp/arm > make[2]: *** [stm32f767] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all-recursive] Error 1 > > > Any ideas or pointers? > Did you forget to add something to c/src/libbsp? The autoconf builds system files are under the old tree while all the code is under bsps/. This makes it easier to remove the old build system when all is done. > > > Thanks, > Andrei > > > > > _______________________________________________ > users mailing list > [email protected] > http://lists.rtems.org/mailman/listinfo/users
_______________________________________________ users mailing list [email protected] http://lists.rtems.org/mailman/listinfo/users
