diff --git a/babblesim/.gitignore b/babblesim/.gitignore deleted file mode 100644 index 78e34f10a..000000000 --- a/babblesim/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -hw/babblesim/components -hw/babblesim/src -nrfx/src \ No newline at end of file diff --git a/babblesim/core/pkg.yml b/babblesim/core/pkg.yml index 3b0c2e9a6..1a1ec7662 100644 --- a/babblesim/core/pkg.yml +++ b/babblesim/core/pkg.yml @@ -18,20 +18,15 @@ # pkg.name: babblesim/core -pkg.type: sdk pkg.description: time machine, irq handeler, core pkg.author: "Apache Mynewt " pkg.homepage: "http://mynewt.apache.org/" pkg.keywords: pkg.deps: - - "@apache-mynewt-core/kernel/os" - - "@apache-mynewt-nimble/nimble/controller" - - "@apache-mynewt-nimble/nimble/transport" - - "babblesim/hw/babblesim" + - "babblesim/sdk" -pkg.req_apis: - - ble_transport +pkg.cflags: -std=gnu99 pkg.init: bsim_start: 9999 diff --git a/babblesim/hw/bsp/nrf52_bsim/pkg.yml b/babblesim/hw/bsp/nrf52_bsim/pkg.yml index 6662a76dd..e22e76745 100644 --- a/babblesim/hw/bsp/nrf52_bsim/pkg.yml +++ b/babblesim/hw/bsp/nrf52_bsim/pkg.yml @@ -31,7 +31,7 @@ pkg.cflags.HARDFLOAT: - -mfloat-abi=hard -mfpu=fpv4-sp-d16 pkg.deps: - - "@apache-mynewt-core/hw/drivers/uart/uart_hal" - - "babblesim/hw/mcu/nordic/nrf52_bsim" - - "babblesim/hw/babblesim" - "babblesim/core" + - "babblesim/hw/mcu/nordic/nrf52_bsim" + - "@apache-mynewt-core/hw/drivers/uart/uart_hal" + - "@apache-mynewt-nimble/nimble/controller" diff --git a/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml b/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml index 10069a2e6..99e59a26c 100644 --- a/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml +++ b/babblesim/hw/mcu/nordic/nrf52_bsim/pkg.yml @@ -26,7 +26,7 @@ pkg.lflags: - -lpthread pkg.deps: - - "babblesim/nrfx" + - "babblesim/core" pkg.deps.BLE_CONTROLLER: - "@apache-mynewt-nimble/nimble/drivers/nrf52" diff --git a/babblesim/nrfx/pkg.yml b/babblesim/nrfx/pkg.yml deleted file mode 100644 index 54a385e2c..000000000 --- a/babblesim/nrfx/pkg.yml +++ /dev/null @@ -1,37 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -pkg.name: babblesim/nrfx -pkg.description: nrfx wrapper for BabbleSim -pkg.author: "Apache Mynewt " -pkg.homepage: "https://mynewt.apache.org/" -pkg.type: sdk - -pkg.cflags: -std=gnu99 -pkg.include_dirs: - - src/ - - src/drivers/ - - src/hal/ - - src/mdk/ - -pkg.deps: - - "@apache-mynewt-core/hw/hal" - -pkg.pre_build_cmds: - scripts/link_nrfx.sh: 1 diff --git a/babblesim/sdk/.gitignore b/babblesim/sdk/.gitignore new file mode 100644 index 000000000..b269fe629 --- /dev/null +++ b/babblesim/sdk/.gitignore @@ -0,0 +1,3 @@ +components +nrfx +src \ No newline at end of file diff --git a/babblesim/hw/babblesim/pkg.yml b/babblesim/sdk/pkg.yml similarity index 74% rename from babblesim/hw/babblesim/pkg.yml rename to babblesim/sdk/pkg.yml index ad28efbcb..a542a3044 100644 --- a/babblesim/hw/babblesim/pkg.yml +++ b/babblesim/sdk/pkg.yml @@ -17,28 +17,31 @@ # under the License. # -pkg.name: babblesim/hw/babblesim -pkg.description: BabbleSim stuff -pkg.author: "Apache Mynewt " -pkg.homepage: "http://mynewt.apache.org/" - +pkg.name: babblesim/sdk pkg.type: sdk +pkg.description: External files required to build BabbleSim +pkg.author: "Apache Mynewt " +pkg.homepage: "https://mynewt.apache.org/" + +pkg.cflags: -std=gnu99 pkg.include_dirs: - - components/ext_NRF52_hw_models/src/nrfx/mdk_replacements - - components/ext_NRF52_hw_models/src/HW_models - components/ext_NRF52_hw_models/src/nrfx_config - components/ext_NRF52_hw_models/src/nrfx/nrfx_replacements - - components/libUtilv1/src/ - - components/libPhyComv1/src/ - - components/libRandv2/src/ - - components/ext_libCryptov1/src/ - -pkg.src_dirs: - - src + - components/ext_NRF52_hw_models/src/nrfx/mdk_replacements + - components/ext_NRF52_hw_models/src/HW_models + - components/libUtilv1/src + - components/libPhyComv1/src + - components/libRandv2/src + - components/ext_libCryptov1/src + - nrfx + - nrfx/drivers + - nrfx/hal + - nrfx/mdk pkg.pre_build_cmds: - scripts/pre_build1.sh: 1 + scripts/link_babblesim.sh: 1 + scripts/link_nrfx.sh: 2 pkg.lflags: - - -ldl \ No newline at end of file + - -ldl diff --git a/babblesim/hw/babblesim/scripts/pre_build1.sh b/babblesim/sdk/scripts/link_babblesim.sh similarity index 70% rename from babblesim/hw/babblesim/scripts/pre_build1.sh rename to babblesim/sdk/scripts/link_babblesim.sh index 3f3fec5ad..9254a18a7 100755 --- a/babblesim/hw/babblesim/scripts/pre_build1.sh +++ b/babblesim/sdk/scripts/link_babblesim.sh @@ -34,36 +34,14 @@ if [ -z ${BSIM_OUT_PATH+x} ]; then exit 1 fi -if [[ -d "$(pwd)/components" ]] -then - echo "Babblesim components: Directory exists. Removing and linking again..." - rm -r $(pwd)/components -else - echo "Babblesim components: Linking components..." -fi +ln -sfn "${BSIM_COMPONENTS_PATH}" ./components -ln -nsf $BSIM_OUT_PATH/components - -if [[ -d "$(pwd)/src" ]] -then - echo "Babblesim libraries src: Directory exists. Removing and linking again..." - rm -r $(pwd)/src -else - echo "Babblesim components: Linking components..." -fi - -mkdir -p src -ln -nsf $BSIM_OUT_PATH/components - -# Create links to all .32.a files -# find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec ln -t src -nsf {} \; - -# Copy all .32.a files -find $BSIM_OUT_PATH/lib/$lib -name "*.32.a" -type f -exec cp -t src -f {} \; +mkdir -p ./src/ +cp "${BSIM_OUT_PATH}"/lib/*.32.a ./src/ # XXX: Workaround for bad linking by newt. Sometimes newt will link # nrf weak functions from nrf_hal_originals.o instead of their BabbleSim # replacements inside libNRF52_hw_models.32.a. But as long as the other # weak functions, that do not have their replacements, are not used, # we can just remove the file from the .a library here. -ar d src/libNRF52_hw_models.32.a nrf_hal_originals.o +ar d ./src/libNRF52_hw_models.32.a nrf_hal_originals.o diff --git a/babblesim/nrfx/scripts/link_nrfx.sh b/babblesim/sdk/scripts/link_nrfx.sh similarity index 89% rename from babblesim/nrfx/scripts/link_nrfx.sh rename to babblesim/sdk/scripts/link_nrfx.sh index 2b59847eb..6bc894e29 100755 --- a/babblesim/nrfx/scripts/link_nrfx.sh +++ b/babblesim/sdk/scripts/link_nrfx.sh @@ -18,7 +18,4 @@ # under the License. # -mkdir -p ./src/ -for f in nrfx.h drivers hal mdk; do - ln -sfn ${NRFX_BASE}/${f} ./src/${f} -done \ No newline at end of file +ln -sfn ${NRFX_BASE} ./nrfx